您的位置:首页 > 运维架构 > Linux

OK6410之uboot移植(3)——搭建自己的开发板项目框架(make smdk6410_config)

2012-07-15 18:36 465 查看
一、 准备移植
1、嵌入式
Linux软件结构与分布
一般情况下嵌入式Linux系统中的软件主要分为以下几部分:
1) 引导加载程序:其中包括内部 ROM中的固化启动代码和 BootLoader两部分。
内部固化ROM是厂家在芯片生产时候固化的,作用基本上是引导BootLoader。
有的芯片比较复杂,比如 Omap3在 flash中没有代码的时候有许多启动方式:
USB、UART或以太网等等。而 S3C24x0则很简单,只有
Norboot和
Nandboot。
2) Linux kernel和 drivers。
3) 文件系统。包括根文件系统和建立于Flash内存设备之上的文件系统(EXT4、
UBI、CRAMFS等等)。它是提供管理系统的各种配置文件以及系统执行用户应
用程序的良好运行环境及载体。
4) 应用程序。用户自定义的应用程序,存放于文件系统之中。
在 Flash存储器中,他们的分布一般如下:



2、获得源码:

u-boot-2010.03.tar.bz2可到官网ftp://ftp.denx.de/pub/u-boot/获得。

3、 U-BOOT主要目录结构和启动流程:





一、
建立自己的开发板项目


1、解压源码,进入目录:

#tar xjvf u-boot-2010.03.tar.bz2

#cd u-boot-2010.03/board/samsung/

1、 建立smdk6410目录:

因s6410和6400的资源差不多,主频和外设有点差别,故在board/samsung/下建立自己开发板的项目,取名叫smdk6410。并将smdk6400里的所有文件复制到smdk6410中,进入smdk6410文件夹将smdk6400.c更名为smdk6410.c,并且打开此文件,将里面的6400全部改为6410。打开Makfile,将里面的6400改为6410。

2、 进入/u-boot-2011.03 /nand_spl/board/samsung/smdk6400/的目录,复制smdk6400,并黏贴,将副本smdk6400更名为smdk6410,更改Makefile文件,将里面的6400全部改成6410。

4、进入到 include/configs/ 复制smdk6400.h,并将副本改为smdk6410.h。
5、指定交叉编译工具,找到CROSS_COMPILE?=在等号后面添加arm-linux-



注:*说明:arm :CPU的架构(ARCH)
arm1176:CPU的类型
smdk6410:对应在board目录下建立新的开发板项目的目录
samsung:新开发板项目目录的上级目录,如直接在board下建立新的开发板项目的目录,则这里就为NULL
s3c64xx:CPU型号
*注意:编译选项格式的第二行要用Tab键开始,否则编译会出错

6、测试编译新建的smdk6410开发板项目

#make smdk6410_config

如果出现Configuring for smdk6410 board...则表示设置正确

#make

编译后在根目录下会出现u-boot.bin文件,则u-boot移植的第一步就算完成了。

到此为止,u-boot对自己的smdk6410开发板还没有任何用处,以上的移植只是搭建了一个th6410开发板u-boot的框架,要使其功能实现,还要根据smdk6410开发板的具体资源情况来对u-boot源码进行修改。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息