久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 高清嵌入式系統中的DVI驅動開發

高清嵌入式系統中的DVI驅動開發

作者: 時間:2012-05-08 來源:網絡 收藏

4 程序設計
4.1 平臺
從Linux2.6起引入了一套新的管理和注冊機制:platform_device和platform_driver。
設備用platform_device表示,驅動用platform_driver注冊。平臺設備包括基于端口的設備、外圍總線和集成在片上中的大多數控制器,作為MX51片上的獨立硬件模塊。LCD控制器是一個平臺設備,因此驅動設計中需包含平臺驅動。平臺驅動的任務是向注冊用到的設備,此處包括MX51的LCD控制器和TFP410 視頻輸出芯片,使得設備驅動加載時可以從中查詢到相應的設備是已注冊的狀態,然后執行設備驅動程序中的probe函數。
在arch/arm/mach-mx51/rex51_3stack.C中,沒置platform_device結構變量mxc_fb_device和i2c_board_info。結構變量mxc_i2cl_ board_info定義LCD控制器和TFP410設備。
調用函數platform_device_register(&mxc_fb_device)和i2c_register_board_info(1,mxc_i2cl_board_info,ARRAY_SIZE(mxc_i2cl_ board_info))向系統注冊以上設備。
4.2 設備驅動
4.2.1 LCD控制器驅動
LCD控制器驅動是一個標準的幀緩沖設備驅動。首先在drivers/video/mxc/mxc_ipuv3_fb.c中定義全局結構變量mxcfb_driver:
d.jpg
然后,在驅動入口函數mxcfb_init(void)中調用platform_driver_register(&mxcfb_driver)注冊驅動,當驅動加載成功后,會自動調用探測函數mxcfb_probe。
mxcfb_probe是驅動設計中的重要函數。主要負責初始化硬件。申請中斷、分配framebuffer所需的內存、注冊幀緩沖設備等,以下是與framebuffer相關的操作。
①調用mxcfb_init_fbinfo(&pdev->dev,&mxcfb_ops)函數,在其內通過framebuffer_alloc函數,為mx51幀緩沖信息結構體struct mxcfb_info分配所需空間。參數mxcfb_ops的定義如下:
e.jpg
mxcfb_ops定義了指向底層操作的一系列函數,這些函數針對MX51幀緩沖操作,是framebuffer核心驅動操作的具體實現。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


評論


相關推薦

技術專區

關閉