關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > Android平臺Bootloader的刷屏功能擴展設計

        Android平臺Bootloader的刷屏功能擴展設計

        作者: 時間:2013-01-10 來源:網絡 收藏

        4 LCD驅動程序設計
        LCD驅動程序開發過程中,主要需要實現的是底層驅動程序,底層驅動大體分為兩個部分:硬件初始化部分和實現splash_screen函數。
        4.1 硬件初始化實現
        硬件初始化部分主要由display_init函數來實現,主要包括初始化、初始化LCD處理器、Frame-buffer設備的配置等工作,主要實現的函數如下:
        g.JPG
        fb_config首先使能I2S寫函數,對ILI9481進行復位操作,fbcon_setup函數記錄了LCD屏幕參數,包括屏幕分辨率、時序參數、像素比特數(bpp)等參數,B_LCD_Init_ILI9481函數肩負著向framebuffer驅動程序傳遞數據的任務。初始化的寄存器主要是對LCD的PCD、ARM_INYEN、PBUS_WIDTH、OUT_BPP、LCD_TYPE等寄存器進行配置。LCD控制寄存器主要是對屏幕參數、ARM中斷使能、并口LCD中片選信號極性、LCD屏類型、時序特性進行配置。主要寄存器如下:
        PCD,配置像素時鐘分屏。
        ARM_INTEN,配置ARM中斷使能信號。當信號為0時,達到中斷產生條件后,不產生送到ARM的中斷信號;當信號為1時,達到中斷產生條件后,產生送到ARM的中斷。
        PBUS_WIDTH,輸出數據線位寬,當配置為并口顯示屏時有效。
        OUT_BPP,配置BPP位寬。
        LCD_TYPE,配置LCD屏類型選擇。00為普通RGB接口TFT顯示屏,01為Sharp接口TFT顯示屏,10為并口LCD顯示屏,11為串口LCD顯示屏。
        4.2 讀取圖像信息
        splash_screen函數主要是定義圖像的地址,通過framebuffer對圖像進行顯示。這里將顯示的圖像放在了U盤文件中,當LK啟動時,直接從SDRAM中讀取圖像信息,并定義bmp圖像的地址為0x14000000。圖像顯示函數如下:
        g.JPG
        h.JPG
        LCD顯示數據大小是由顯示模式和顯示屏尺寸大小共同決定的。根據設計要求,使用的是320X480個像素、16bpp的256色LCD,顯示一屏圖像所需的顯示緩沖為320×480×16位。在顯示緩沖器中,每一個像素都占一個字節,且每個字節又要區分RGB格式。在顯示圖像時,需要配置相應的寄存器,這些工作在初始化已經完成。其次,確定圖像緩沖區的首地址,這個地址在4字節對齊的邊界上,而且要在SDRAM的4 MB空間之間,顯示緩沖區的數據會直接顯示到顯示屏上。LCD上顯示的不同圖像信息就是顯示緩沖區內不同數據的輸出。

        5 LK的測試與調試
        在該模塊下編寫了一個Makefile文件,在調試LK模塊時,可以單獨編譯LK模塊,這樣就節約了開發的時間。編譯LK模塊,得到1k.bin文件。開發板上電后,進入U盤模式,用最新生成的1k. bin文件替換掉U盤中原始的文件,通過超級終端連接串口,啟動LK。LK啟動打印信息如圖4所示,LK能正常工作,并能執行LCD顯示驅動。

        本文引用地址:http://www.104case.com/article/159564.htm

        a.JPG



        結語
        本文通過對的研究,提出了一種Android詳細給出了LCD控制器操作流程和LCD的。系統啟動正常,運行穩定,達到了設計的要求。盡管LCD手機在LK啟動過程中實現LCD顯示的設計方案,并且的種類很多,但驅動程序的設計都可以遵循一定的模式,可以根據自己設計的需求選擇合適的方法。該方法對Android系統開發具有一定的借鑒意義和參考價值。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 叶城县| 乌拉特后旗| 漯河市| 太白县| 大渡口区| 元江| 滨海县| 石阡县| 平顺县| 泸州市| 汾西县| 内黄县| 松潘县| 温泉县| 临泽县| 五家渠市| 乌海市| 浦东新区| 甘南县| 阿城市| 四平市| 西吉县| 古浪县| 鄂州市| 涟水县| 五峰| 保靖县| 林西县| 航空| 荆门市| 大石桥市| 江源县| 兴文县| 永年县| 宁南县| 墨竹工卡县| 九江县| 金川县| 湟源县| 宜兰县| 苏尼特右旗|