第二篇 U-BOOT移植

此移植是在TQ UBOOT基础上改动部分, 网卡CS8900, LCD SAMSUNG3.5寸屏, 假设UBOOT目录为当前目录,用 ./ 表示

 

移植的地方如下示:

 

1. 添加自已板子信息, 进行配置:

UBOOT根目录下 Makefile文件1884行, 添加

my2440_config : unconfig

@$(MKCONFIG)  $(@:_config=) arm arm920t my2440 NULL s3c24x0

 

是啥意思呢, 呵呵

第一句意思是 要不要 make my2440_config 判断, 如果有的话呢, 它就是 arm 系, 920系, 板子为my2440,也就是本Makefile中的(BOARD)表示的含义了,最后一个词意思是所属硬件架构s3c24x0

 

128行, 编译器信息要改成 打过softfloat补丁的crosstools_3.4.5或其它版本, 注意填写完整目录;

 

注意到206行,207行, 天嵌已把usb功能,WINCE功能做成了过程文件 module, 在./module 下;

 

2. 在第一步中, 我们已添加好自己板子的注册信息, 故要在(BOARDDIR)目录即 ./board下添加自已板子信息, 先COPY下天嵌的

1'  sudo cp -rf ./board/EmbedSky ./board/my2440

注意, 在这里, 板子名必须与第一步中的倒数第三个单词(BOARD)信息一致, 否则编译出错.

2' 更改my2440.c,  对照你的板子IO口配置进行配置, 大部分板子应该是不用动的, 几乎一致;

3' 更改Makefile ,  COBJS添加my2440.o

 

3. 添加驱动, 把CS8900.C CS8900.H COPY到./drivers/  目录, 更改其目录下Makefile, 添加cs8900的编译信息;

./drivers/lcd/ 目录下是UBOOT启动时屏幕的LOGO信息, 可以更改;

 

4. ./lib_arm/目录下 board.c文件中可以添加开机打印信息;

 

5. ./include/configs/ 目录下添加自己的详细配置信息;

41行, 若你的板子时钟不是12MHz, 请更改;

66行, 分区信息, 与KERNEL的内核信息应该一致;

 

90行, 加入CS8900的配置

#define CONFIG_DRIVER_CS8900 1

#define CS8900_BASE 0x19000300

#define CS8900_BUS16 1

 

117行, LCD配置信息, 我的板子如下:

#define SAMSUNG35 8

#define LCD_TFT SAMSUNG35

 

#elif(LCD_TFT == SAMSUNG35)

#define CONFIG_LCD_VBPD 14

#define CONFIG_LCD_VFPD 4

#define CONFIG_LCD_VSPW 4

 

#define CONFIG_LCD_HBPD 0

#define CONFIG_LCD_HFPD 4

#define CONFIG_LCD_HSPW 18

 

#define CONFIG_LCD_CLKVAL 7

 

218行, 添加传递给KERNEL的命令 "noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0"

 

222行, 添加网络配置信息, 包括IP地址, 网关, 服务IP;

 

239行, 要不要添加命令前置符 "XXX  > "

 

262行, 若你的时钟不是12MHz, 请更改;

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值