




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
LinuxLCD免本文檔是作者對GOEMBED產品進行實際操作和測試后,作總結由于作者水平有限,建議讀者具備的計算機基礎和基本軟件操作能力加 群 )交流和建議,或發廠商技術支持郵箱進行咨詢:s硬詳細介紹SBC3358-B2A單板串口調試器:軟詳細介紹Ubuntu版本:12.04SBC3358- 單板機軟件特性1、BootLoader版本:u-boot-2013.01.01LCDLCDIICSPIDMARTCUSBOTGDEBUGTFCAN3、交叉工具鏈:arm-linux-gnueabihf-SBC3358- 單板機資源分配特性1、eMMC空間FAT32格式分EXT3格式分一、準備工作1、參考《TIAM335x搭建Linux發環境v1.0.docx》和《TIAM335x系統編譯v1.0.docx》把開發環境搭建好2、為了方便閱讀和修改代碼,在這里我使用的是SourceInsight(一個代碼編輯工具)對代碼進行修改。用戶可以直接在終端VI編輯代注:1、應用程序編譯要采用arm-2009q1交叉編譯。(后續補上2、以下使用的是4.3寸TFT屏進二、準備代碼1、找到lcd_test的源代碼壓縮包,名為“lcd_test.tar.gz用以下命令進行解壓命令tar–zxvf這時在當前文件夾下會生成lcd_test文件夾,里面的代碼就是測試的源碼三、分析代碼1、framebuffer構中的接口,控制和操作LCD內部的控制器。驅動程序需要將顯存的起始地址和長度傳遞給LCD控制器的寄存器2、Makefile最重要的幾個參數如下“NAME:lcd_test_out”:指的是生成的可執試文件“CROSS=/usr/local/toolchain/arm-2009q1/bin/arm-none-linux-gnueabiarm-2009ql“SRCDIRSlcd_test”指的是要編譯的文件夾,這里指的就是源碼包解壓出來的lcd_test文件夾,也是最重要的文件夾。3、分析“lcd_test文件夾中找到它在main函數中打開的是“/dev/fb0”,由于我們只有一塊LCD屏,默認為fb0。當們打開f0動個framebufer驅動,完成內存映射,該應用對應的用戶空間與內核空間使用的是同一塊內存,在此時該內存已映射為LCD顯存,應用程序可以直接讀寫該內存,而在LCD上上到示如將張寫內,則LCD上顯示該。也即是說,只要該內存寫入數據,該數據就會立即在LCD屏上顯示出來。根據這個原理,我們的應用程序就容易很多了。我們可以看到,在main這幾個函數的作用測試就是分別在LCD調色板測試,這個我后面進行介紹。我們先來看一下測試程序中有哪些可調用函數比較重要:在文件開頭我定義了以下函數我們第一個是voiddraw_dot(PFBDEVpFbdev,POINTp,void*color);,這個函數的作用是在LCDfmc函數的作用是將某一個點的像素信息直接寫到顯存里,通過這個步驟可以在LCD第二個voiddraw_line(PFBDEVpFbdevPOINTp1POINTp2,void*LCDfor語句中調用的是draw_dot(pFbdev,p,colr);也就是說,voiddraw_polygon(PFBDEVpFdev,uint32_tnum,PPOINTarray,void*color),如下:LCDfordraw_linedraw_linedraw_dotvoiddraw_triangle(PFBDEVpbdev,POINTp1,POINTp2,POINTp3,void*color),如下:這個函數的作用是LCD上畫一個三角形,我們可以看到,該函數就只調用了一個畫多邊形函數draw_polygon(pFbdev3,p,color),里面num參數直接傳入3,這個不用說,三角形邊數固定為3。然后draw_polygon()函數又調用畫線函數draw_line(),draw_line()又調用畫點函數draw_d第五個是voiddraw_circle(PFBDEVpFbdev,POINTcenter,uint32_tradius,void*color),如下:第六個voiddraw_parabola_x(PFBDEVpFbdev,POINTcenter,inta,void*color),如下:這個LCD屏幕上畫一條關x軸對稱的拋物線第七個voiddraw_parabola_y(PFBDEVpFbdev,POINTcenter,inta,void*color),如下:這個LCD屏幕上畫一條關y軸對稱的拋物線數,如下:這個函數的作用是根據傳遞的矩形的坐標和顏色參數在該矩形中以填充線條的方式填充顏色,說到底還是調用畫點函數,這個用點填充的過程非常快,由于人眼存在“視覺殘留”的現象,高速運動的畫面在人腦中會形成短暫的印象,因此,我們是感受不到填充點的過程的。接下來我寫了幾個測試函數供用戶調用,有:rgb_test()、gray_test()palette_test()第一個是voidrgb_test(PFBDEVpFbdev),如下第二個是voidgray_test(PFBDEVpFbdev),如下:第三個是voidpalette_test(PFBDEVpFbdev);如下這個函數進行調色板測試,過程是這樣的,我先獲取LCD個forLCD改顏色畫一條豎線,直到畫滿整個屏幕。最終我們會在屏幕上看到一幅調色板畫面。我們來看一main函數main數中,首先打開/dev/fb0文件,如果打開失敗則打印"openframebuffererror\n",接下來依次調用三原色測D以嘗試寫一下更高級的程序。下面我們把應用程序編譯后生成的可執行文件到板子上測試一下。四、編譯測試程序注:應用程序編譯要采用arm-2009q1交叉編工具、庫、輸入文件夾、輸出文件名等都設置好了,我們直接在當前下(前提已經安裝arm-2009ql交叉編譯工具)輸入make即可。先導出交叉編譯工具,如下圖進入到測試文件執行make(若有殘留舊文件可先執行“makeclean:生成可執行文件五、測試測試程序上電開機后輸入root登入SBC3358-啟動系統后找到該文件(該文件的位置根據用戶啟動系統的實際情況決定,在這里不贅述命令:測試結束后程序自動安全退出到這里,LCD屏幕測試已成功完成SBC335x–SBC335x–SBC335x–ThesingleboardcomputerSBC335x-B1A/B2AwhichhasanexpansionboardtocarrytheCM335Xisoneofourdesignofthebaseplate.Theflexibledesignallowsthefastandeasywayofrealizingandupgradingthecontroller’scapabilities.InadditionaltothosefeaturesofferedbyCM335X.TheB1Afeatures4serialports(including2RS232and2TTL),4USBHostand1USBOTG,1Ethernetports,CAN,RS485,Wiegand,VGA,LCD,Touchscreen,Audio,ADCandmoreotherperipherals.TheB2Afeatures4USBHostand1USBOTG,1Ethernetports,LCD,Touchscreen,RTC,andmoreotherTheSBCboardtargetsawiderangeofapplications,including:HMIs,DigitalSignage,POS,DataTerminal,MedicalDevices,Navigation,IndustrialAutomation,Entertainmentsystem,ThinClients,Robotics,GameConsoleandmuchmore.TheSBC335x-B1A/B2Aareready-to-runplatformtosupportLinux3.x,Android4.xandWinCE7.0/6.0operatingsystems.SBC335x-B1AboardsDescriptionofpart PartSBC3352ACW-SBC3352BCW-SBC3358ACW- SBC3358BCW-Order-- CM3352CM3352CM3358CM3358CoreCPUCPUCPURAMMicroneMMCTISupplyDC9-OptimalDC146x1020°to70°SupportInOutofContactInOutofContactSBC335x-B1ABlockFigure1B1BlockSBC335x-B2AboardsDescriptionofpart PartSBC3352ACW-SBC3352BCW-SBC3358ACW- SBC3358BCW-Order-- CM3352CM3352CM3358CM3358CoreCPUCPUCPURAMMicroneMMCTISupplyDC9-OptimalDC130x103.50°to70°SupportInOutofContactInOutofContactSBC335x-B2ABlockFigure1B2ABlockABOUTGOEMBEDteamwithexperiencedembeddedengineerswhohavebeenengagedinARMhardwareandsoftwaredesignfor10+years.OurproductsincludesingleboardcomputersandCPUcoremodulesbasedonTI?SitaraandFreescale?i.MXApplicationsProcessorsbasedonARM?Cores.SupportedbyLinux/Android/Debian/Ubuntu/QT/Angstrom/WinCE7.0&6.0/uCOS.WecanredesigncarrierboardsandSBCasyourideaquickly.GOEMBEDfocusonEmbeddedBoardSolutions,provideacompletenewboardforyourspecifiedrequirement
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 航天器制導系統聯調工程師崗位面試問題及答案
- 化工工藝工程師(合成)崗位面試問題及答案
- 股權抵押借款合同法律風險防控與解析
- 生態農業股權擔保貸款合同
- 網絡安全股權融資合同范本
- 資產管理公司股權質押擔保業務合同范本
- 知識產權許可與股權收購合同范本
- 軟件公司股權轉讓終止及知識產權歸屬協議
- 股權轉讓與員工培訓計劃相結合的激勵合同
- 教育項目股權轉讓與擔保服務協議
- 傷寒論條文(全398條)
- PCN、ECN變更管理流程培訓資料
- 全等三角形經典輔助線做法匯總
- 電離方程式的書寫高一上學期化學人教版(2019)必修第一冊
- DB61∕T 1308-2019 建筑消防設施維護保養規范
- 職業病危害告知書
- 大連商品交易所
- DINEN1706鋁和鋁合金鑄件化學成分和機械性能(中文版)
- 沙利文-內窺鏡行業現狀與發展趨勢藍皮書
- 國家開放大學一網一平臺電大《建筑測量》實驗報告1-5題庫
- 教學樓管理規定
評論
0/150
提交評論