歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

AT91SAM9260下的U-Boot移植和添加LCD驅動支持

第一步:從 http://www.linuxidc.com/Linux/2011-07/38897.htm 下載u-boot-2008.10.tar.bz2這個文件。

第二步:建立自己的交叉編譯環境,我用的是arm-none-linux-gnueabi-,可以從這裡下載最新的交叉編譯器。建立的系統為Fedora 16。設置好交叉編譯環境變量。一般覺得export命令來設置會比較好用,有的會提供修改profile的方式和bash的方式。本人認為還是動態設置比較好。

第三步:首先用make disclean命令清除以前編譯的u-boot.bin文件。接著用make at91sam9261ek_config命令來配置好編譯的目標。

第四步:用vim Makefile命令,修改

ifeq ($(ARCH),arm)
CROSS_COMPILE = arm-linux- 改為 arm-none-linux-guneabi-
endif

第五步:編譯,make

如果編譯通過會生成 u-boot.bin文件

第六步:移植LCD 顯示驅動:

需要修改LCD時序參數,以適合本站的豎屏。

u-boot-2008.10\board\atmel\at91sam9261ek\at91sam9261ek.c: 修改結構體:

vidinfo_t panel_info = {
 vl_col:  240,
 vl_row:  320,
 vl_clk:  4965000,
 vl_sync: ATMEL_LCDC_INVLINE_INVERTED |
   ATMEL_LCDC_INVFRAME_INVERTED,
 vl_bpix: 3,
 vl_tft:  1,
 vl_hsync_len: 5,
 vl_left_margin: 1,
 vl_right_margin:33,
 vl_vsync_len: 1,
 vl_upper_margin:1,
 vl_lower_margin:0,
 mmio:  AT91SAM9261_LCDC_BASE,
};

然後修改為:

vidinfo_t panel_info = {
 vl_col:  480,
 vl_row:  272,
 vl_clk:  9000000,
 vl_sync: ATMEL_LCDC_INVLINE_INVERTED |
   ATMEL_LCDC_INVFRAME_INVERTED,
 vl_bpix: 3,
 vl_tft:  1,
 vl_hsync_len: 41,
 vl_left_margin: 2,
 vl_right_margin:2,
 vl_vsync_len: 10,
 vl_upper_margin:2,
 vl_lower_margin:2,
 mmio:  AT91SAM9261_LCDC_BASE,
};

Copyright © Linux教程網 All Rights Reserved