刚开始学习linux,今天来移植u-boot在友善smart210的板子上。官网获取opencsbc-u-boot-mini210_linaro-2011.10-stable.tar.gz,mini210的u-boot。(指导老师:咕唧咕唧LK)
1, 在mini210解压当前文件下输入命令:
$make ARCH=arm CROSS_COMPILE=/opt/FriendlyARM/toolschain/4.5.1/bin/arm-none-linux-gnueabi- tiny210_config
该句命令对总Makefile进行参数的传递。ARCH=arm 传入参数对运行板级CPU进行配置,CROSS_COMPILE则是对其板级相应的交叉工具链的路径。如果已经设置环境变量可以直接添加Makefile里CROSS_COMPILE=arm-none-linux-gnueabi-
tiny210_config则是对运行在boards.cfg 对其相应参数进行赋值然后执行mkconfig。把两步定义为tiny210_config。对上述设置后则后续调试就可直接输入make tiny210_config。
2,对mini210_uboot进行编译,make all spl。把相应的第一阶段bin文件mini210-spl.bin拷入SD卡的第一扇区,把第二阶段的bin文件u-boot.bin文件拷入第49扇区。为什么第二阶段拷贝到49扇区,因为u-boot的第一阶段代码是被IROM的固话代码搬移到IRAM里的。根据手册只搬移了24K到IRAM。每个扇区是512字节,那么前48个扇区正好是24K,第二阶段就在24K之后,当然这个第二阶段的扇区也可以改变,需要在第二阶段搬移代码的时候修改即可。拷入扇区的命令为: