第一步:从 下载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,
};