飞凌OK6410开发板移植uboot官方最新版uboot2012.10.tar.bz2

Part0 准备知识

0.1 关键参数说明

0.1.1 开发板说明

OK6410是飞凌公司发布的一款开发板,当前有2个版本,OK6410-A和OK6410-B,我当前使用的是前者;前者也经历过升级,所以有128M ram的和较新的256内存的版本,nand flash大小也有区别,当前新的为4G,内存大小会影响到编译时smdk6410.c文件中mmu部分代码,后续会提到,可以参考飞凌提供的u-boot的该文件内容;

0.1.2 处理器说明

该开发板使用的是三星的s3c6410处理器, cup采用的指令集为: arm1176jzf-s, 属于armv6zk(使用gcc时,可通过-march=armv6zk来指定), 更多的对应关系可以参考: ARM 指令集版本和ARM 版本 ;

0.2 环境搭建和资料准备

0.2.1 开发环境设置

系统版本: Ubuntu12.10

安装相关的编译工具:

sudo apt-get install  build-essential gcc-arm-linux-gnueabi

这里我使用的是ubuntu系统源中含有的gcc-arm-linux-gnueabi系列工具,安装完成后具有如下工具:

arm-linux-gnueabi-addr2line       arm-linux-gnueabi-gcc             arm-linux-gnueabi-gprof           arm-linux-gnueabi-ranlib
arm-linux-gnueabi-ar              arm-linux-gnueabi-gcc-4.7         arm-linux-gnueabi-ld              arm-linux-gnueabi-readelf
arm-linux-gnueabi-as              arm-linux-gnueabi-gcc-ar-4.7      arm-linux-gnueabi-ld.bfd          arm-linux-gnueabi-size
arm-linux-gnueabi-c++filt         arm-linux-gnueabi-gcc-nm-4.7      arm-linux-gnueabi-ld.gold         arm-linux-gnueabi-strings
arm-linux-gnueabi-cpp             arm-linux-gnueabi-gcc-ranlib-4.7  arm-linux-gnueabi-nm              arm-linux-gnueabi-strip
arm-linux-gnueabi-cpp-4.7         arm-linux-gnueabi-gcov            arm-linux-gnueabi-objcopy         
arm-linux-gnueabi-elfedit         arm-linux-gnueabi-gcov-4.7        arm-linux-gnueabi-objdump

注意在使用make进行编译源码的时候,设置CROSS_COMPILE参数为: arm-linux-gnueabi-

make CROSS_COMPILE=arm-linux-gnueabi-

0.2.2 相关源代码准备

重点参考三星原厂资料,和飞凌整理后的uboot1.1.6 :

三星原厂资料.rar
http://dl.vmall.com/c0ek7spz04

  • u-boot官方最新版:
wget ftp://ftp.denx.de/pub/u-boot/u-boot-2012.10.tar.bz2

其他版本都可以在该目录中找到: ftp://ftp.denx.de/pub/u-boot

【说明:】后续主要以三星原厂的uboot和飞凌整理后的uboot为题材,整合进最新版的官方uboot中;最后在ok6410开发板上进行测试;

Part1 测试uboot1.1.6

Part2 移植代码到u-boot2012.10

Part3 u-boot2012.10测试

作者:逸云沙鸥
出处:http://www.cnblogs.com/QuLory/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/QuLory/p/2772041.html