微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 移植最新uboot的总结

移植最新uboot的总结

时间:11-21 来源:互联网 点击:
一:准备移植

1、从下面的官网下载最新的U-boot。用google英文版搜索最新的u-boot源码
ftp://ftp.denx.de/pub/u-boot/
2、建立sourceinsight工程
a、解压并在E:\colin weidongshan\transplant_u-boot-2012.04.01\u-boot-2012.04.01建立SI
b、添加文件到SI工程
1、点击"Add All",选中“Include top level sub-directories”和“Recursively add lower sub-directories”点击“OK”
2、选中“Board”目录,点击“Remove Tree”,去掉总个目录
进入“Board\Samsung\Smdk2410\”,点击"Add All"
3、选中“Arch”目录,点击“Remove Tree”,去掉总个目录
进入“Arch\Arm\Cpu\Arm920t\”,双击选中“Cpu.c”“Interrupts.c”“start.S”。
进入“Arch\Arm\Cpu\Arm920t\S3c24x0\”,点击"Add All"
进入“Arch\Arm\”,选中"Dts"目录,点击"Add Tree"
进入“Arch\Arm\Include\Asm\Arch_s3c24x0”,点击"Add All"
进入“Arch\Arm\Include\Asm\”,点击"Add All",去掉“Include top level sub-directories”和“Recursively add lower sub-directories”前面的勾,表示只加顶层目录的文件
进入“Arch\Arm\Include\Asm\”,单击选中"Proc-armv",点击"Add Tree"
进入“Arch\Arm\Lib\”,点击"Add All"
4、选中“Include”目录,点击“Remove Tree”,去掉总个目录
进入“Include\”,点击"Add All",去掉“Include top level sub-directories”和“Recursively add lower sub-directories”前面的勾,表示只加顶层目录的文件
进入“Include\”,单击选中"Andestech",点击"Add Tree"
进入“Include\”,单击选中"Asm-generic",点击"Add Tree"
进入“Include\”,同上选中除"Configs"目录外的所有目录,点击"Add Tree"。"Configs"目录先不加,下面再议
进入“Include\Configs\”,双击选中“Smdk2410.h”
5、同步文件,完成

3、编译
尝试编译
解压:book@book-desktop:/work/system$tar xjf u-boot-2012.04.01.tar.bz2
book@book-desktop:/work/system$cd u-boot-2012.04.01/
配置:book@book-desktop:/work/system/u-boot-2012.04.01$make smdk2410_config
编译:book@book-desktop:/work/system/u-boot-2012.04.01$make

编译不成功,因为版本太老
查看版本:book@book-desktop:/work/system/u-boot-2012.04.01$arm-linux-gcc -v
拷贝解压:book@book-desktop:/work/system/u-boot-2012.04.01$cd /work/tools/
book@book-desktop:/work/tools$mkdir tmp
book@book-desktop:/work/tools$tar xjf arm-linux-gcc-4.3.2.tar.bz2 -C tmp/
book@book-desktop:/work/tools$cd tmp/
book@book-desktop:/work/tools/tmp$ls
usr
book@book-desktop:/work/tools/tmp$cd usr/local/arm/4.3.2/
book@book-desktop:/work/tools/tmp/usr/local/arm/4.3.2$ls
arm-none-linux-gnueabi bin lib libexec share
book@book-desktop:/work/tools/tmp/usr/local/arm/4.3.2$ls bin/

解压到根目录:book@book-desktop:/work/tools$sudo tar xjf arm-linux-gcc-4.3.2.tar.bz2 -C /
查看环境变量:book@book-desktop:/work/tools$echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/work/other_board/gcc-3.4.5-glibc-2.3.6/bin
设置环境变量:book@book-desktop:/work/tools$export PATH=/usr/local/arm/4.3.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
查看环境变量:book@book-desktop:/work/tools$arm-linux-gcc -v
如果不想手动设置,你可以按如下方式修改:
book@book-desktop:/work/tools$sudo vi /etc/environment

重新编译:book@book-desktop:/work/tools$cd /work/system/u-boot-2012.04.01/
book@book-desktop:/work/system/u-boot-2012.04.01$make distclean
book@book-desktop:/work/system/u-boot-2012.04.01$make smdk2410_config
Configuring for smdk2410 board...
book@book-desktop:/work/system/u-boot-2012.04.01$make
4、下载刚编译成功的u-boot.bin,发现重新启动,串口没有任何信息

二、分析u-boot: 通过链接命令分析组成文件、阅读代码分析启动过

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top