分类: 嵌入式
2013-05-01 21:11:23
原文地址:u-boot移植步骤 作者:angrad
基于u-boot-2008.10移植的大概步骤,具体请参考国嵌手册
1.顶层Makefile添加mini2440_config
2.cpu/arm920t/start.S
a.修改编译条件使支持s3c2440
b.添加时钟寄存器定义
c.添加s3c2440中断禁止
d.修改时钟设置(修改s3c2440主频为405Mhz)
3.cpu/arm920t/interrupts.c
a.宏开关加入对s3c2440的支持
b.在get_tbclk函数添加对MINI2440板子的支持
4.cpu/arm920t/s3c24x0/speed.c
a.宏开关加入对s3c2440的支持
b.在get_PLLCLK函数中添加s3c2440的MPLL,UPLL设置
c.在get_HCLK函数中添加s3c2440的分频设置
5.include/asm-arm/mach-types.h
添加mini2440机器ID
6.cpu/arm920t/s3c24x0/serial.c
宏开关加入对s3c2440的支持
7.drivers/rtc/s3c24x0_rtc.c
宏开关加入对s3c2440的支持
8.include/s3c24x0.h
a.宏开关加入对s3c2440的支持
b.S3C24X0_CLOCK_POWE结构体条件加入CAMDIVN成员
9.在board目录下创建mini2440目录,并将smdk2410的内容复制过来
smdk2410.c->mini2440.c,Makefile中的smdk2410.o为mini2440.o
10.mini2440.c
a.修改PLL、UPLL的配置
b.board_init函数中机器ID修改为MINI2440
11.mini2440/lowlevel_init.S
修改REFRESH刷新周期
12.复制include/configs/smdk2410.h->include/configs/mini2440.h
13.mini2440.h
a.修改s3c2440、mini2440宏定义
b.修改命令行提示符
14.make mini2440_config
make CROSS_COMPILE=arm-linux-
得到u-boot.bin,直接烧写到NorFlash启动。
u-boot网卡驱动移植:
1.include/configs/mini2440.h
a.屏蔽CS8900配置
b.添加dm9000配置
c.添加ping命令
2.drivers/net/dm9000x.c网卡驱动
注释或删除连接MII接口代码
u-boot Nor Flash驱动移植:
1.grep到有多个开发板使用SST160芯片,故以dave作为参考
2.cp board/dave/common/flash.c board/mini2440/flash.c
3.拷贝dave/B2/flash.c的flash_init函数到mini2440/flash.c中
4.添加ID为234BH的SST39VF1601的宏定义,flash_get_size()加入对SST_ID_xF1601的识别
5.修改flash_get_size()读ID操作序列
6.修改flash_get_size()Reset Bank设置
7.修改flash_erase()Block-Erase操作序列 、Reset Bank设置
7.修改write_word()Word-Program操作序列
8.修改write_buff()的宏定义开关为MINI2440
9.在flash_print_info()添加输出SFFT1601信息
10.参照B2.h在flash.c中添加宏定义
11.include/configs/mini2440.h
屏蔽LV400\LV800宏定义,添加新的flash宏定义