歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> 軟件測試基於嵌入式Linux的PMP系統設計與實現(下)

軟件測試基於嵌入式Linux的PMP系統設計與實現(下)

日期:2017/3/6 14:28:27   编辑:關於Unix
軟件測試基於嵌入式 Linux 的PMP系統設計與實現(下) 嵌入式測試 關鍵字:Linux 其中,config DM320_SAMSUNG_4_LCD表示增加一個新的配置入口。一旦這個配置選項被選中就會在./include/ linux /autoconf.h:有:#define CONFIG_DM320_SAMSUNG_4_LCD 1的定義。

軟件測試基於嵌入式Linux的PMP系統設計與實現(下) 嵌入式測試

關鍵字:Linux

  其中,config DM320_SAMSUNG_4_LCD表示增加一個新的配置入口。一旦這個配置選項被選中就會在./include/linux/autoconf.h:有:#define CONFIG_DM320_SAMSUNG_4_LCD 1的定義。

  這樣的話,我們在整個內核源碼樹中都可以使用CONFIG_DM320_SAMSUNG_4_LCD來進行特定的選擇。

  在tristate "DM320 SAMSUNG 4.0 inch 16:9 TFT LCD"中,引號裡的內容為出現在配置選項中的提示文字。tristate表示三態,意思是除了可以選擇[*]、[ ]外,還可以選擇[M],表示把當前內容當成模塊編譯。

  depends on ARCH_DM320_20 && BOARD_400H表示如果前面配置平台框架時選擇了ARCH_DM320_20,並在選擇型號時選擇了BOARD_400H,我們就可以看到這個對於三星4英寸TFT LCD的配置選項。

  default y表示默認把此驅動編入內核。help的內容為當我們對內核進行配置時,選幫助所看到的內容。

  Makefile文件

  簡單地說,Makefile是用來進行項目配置和管理的。我們要把Linux編譯、鏈接最後生成可執行的內核映像,Makefile文件是必不可少的。

  在該PMP設計開發中,只需要把外設驅動模塊加入相應的內核源碼樹就可以完成對Makefile文件的修改。以加入三星4英寸TFT LCD驅動為例,只需要在./drivers/char/Makefile加入如下內容即可:

obj-$(CONFIG_DM320_ SAMSUNG_4_LCD) += dm320_lcd_samsung4.o

  PMP系統設計中兩個必須的驅動以及要注意的問題

  LCD驅動程序

  在一個PMP設備中,LCD顯示屏是必備的。在LCD驅動程序的設計過程中,主要是要選好時鐘源、分頻系數以及時鐘極性。比如在DM320中,時鐘控制器有以下幾個外部輸入:PCLK、SYSCLK、MXI、M48XI,其中除了M48XI外其余均選擇27MB外部晶振。LCD的時鐘頻率DCLK在本系統中是由VENC(Video Encoder Clock)確定,而VENC又可以通過系統的PLL分頻而確定,所以說首先要選好時鐘源和恰當的分頻系數,然後通過設置VENC的寄存器就可以設置時鐘的極性。

  FrameBuffer驅動

  FrameBuffer是把顯存抽象成一個設備,通過對這個設備的讀寫就等同於直接對顯存進行操作。這種操作是抽象的、統一的。用戶不必關心顯存的物理位置、換頁機制等具體細節,這些都是由FrameBuffer設備驅動程序來完成的。 FrameBuffer對應的源文件在linux/drivers/video/目錄下。全部的抽象設備文件作為fbcon.c與各種顯卡驅動程序相關的源文件放在該目錄下,如筆者所進行的針對DM320的FrameBuffer源文件dm320fb.c。在源文件我們要設置相應屏幕的長、寬以及每一個像素點的位數等等,還有一些與DM320 OSD(On-Screen Display)相關的寄存器的設置。因為涉及內容較多,在此不再贅述。

  結語

  本PMP方案設計的產品已經進入量產階段,經過大量的用戶測試,證實了整個設計是切實可行的。同時,其設計思路對於其他類似產品如車載GPS,都有一定的參考價值。

Copyright © Linux教程網 All Rights Reserved