- 论坛徽章:
- 0
|
今天是正式离开公司的第三天。第一天忙着办烦琐的手续,第二天绕着女朋友团团转,送她回湖南老家。今天终于一个人,可以好好的静下心的来学习了。看了一上午的中嵌教育,心想应该做点什么。恩,既然系统移植的第一步,是做 bootloader 方面的东西,那就拿它开刀吧。那个中嵌的老师说,vivi 是非常简单的东西,实际开发的系统,90% 用的是 u-boot 作为bootloader。既然这样,那就选 u-boot 吧!
u-boot 有好几个版本,在狗狗上面搜索了一下,用迅雷下了,好几个版本,晕死,没一个编译得过,而且很多乱七八糟的问题,网上根本就找不到相关资料。于是按视频里面的说法,在
http://www.sourceforge.net
下了一个 1.1.6 的。因为我的机子上原先设定的编译器是 2.95.3 的,于是编译的时候出现了
很多类似
arm-linux-gcc: lowlevel_init.o: No such file or directory
arm-linux-gcc: unrecognized option `-MQ'
arm-linux-gcc: smdk2440.o: No such file or directory
arm-linux-gcc: unrecognized option `-MQ'
arm-linux-gcc: flash.o: No such file or directory
arm-linux-gcc: unrecognized option `-MQ'
make[1]: Entering directory `/uboot/u-boot-1.1.5/cpu/arm920t'
这样的问题,网上找到资料,说是要用 gcc 3.4.1 ,于是改成 3.4.1 ,却发现很多找不到 .depend 的问题。算了,还是下个 u-boot-1.1.4 吧,再把gcc 改回 2.95.3,搞定!
(修改 ~/.bashrc 完后,只要 cd ~ 然后 source .bashrc 即可,不用重启电脑)
OK,一些小错误导致诸多问题,就不说了,把具体工作内容列出来:
1、因为我们所以的配置,都是在 make 的过程中被调用,而make 就是调用该目录下的 Makefile 脚本,所以先从 Makefile 入手:按照提示在vi 里面搜索下 unconfig,可以看到很多类似
crane2410_config : unconfig
@./mkconfig $(@:_config=) arm arm920t crane2410 NULL s3c24x0
这样的信息,依样画葫芦,我们建一个自己的qq_2440如下:
qq_2440_config: unconfig
@./mkconfig $(@:_config=) arm arm920t qq_2440 NULL s3c24x0
其中各项的意思如下:
arm: CPU的架构(ARCH)
arm920t: CPU的类型(CPU),其对应于cpu/arm920t子目录。
crane2410: 开发板的型号(BOARD),对应于board/crane2410目录。
NULL: 开发者/或经销商(vender)。
s3c24x0: 片上系统(SOC)。
2、u-boot 有个叫 board 的目录。里面存的是各个板块的配置信息。这里其实我没有从头写一个,而是复制了一份 smdk2410来修改,因为这两个板的硬件参数几乎是一样的,所以不用做太大的改动。复制一份后,改名成 qq_2440,同时,里面有个 smdk2410.c 的文件,也改成 qq_2440.c,接着打开里面的Makefile 将有出现 smdk2410 的都替换成 qq_2440
3、出了 board 这个文件夹存着各类板的配置外,在 include/configs 里面还存了一些对应的头文件,所以我们也复制一份 smdk2410.h,再改成 qq_2440.h 就可以了。
4、注意一下环境变量,1.1.4 的对应着 2.95.3 的gcc,可用 arm-linux-gcc -v 先查看,没问题的话就先 make qq_2440_config 这时候看到 Configuring for qq_2440 board...
紧解着再make ,成功后就在目录下生成了 u-boot u-boot.bin u-boot.map u-boot.srec这些文件了!再接着可以load 进板子里面去看看。
上面是刚好u-boot 原版里面自带有相同板卡的情况,所以比较简单,如果板卡比较特别或找不到可参考板卡的时候,会对里面一些具体设置代码做修改处理,可参考下面三个文档(分别将3个u-boot移植到不同的板子上)来处理:
![]()
文件:
u-boot for 44B0X、阳初、SBC2440V4.rar
大小:
62KB
下载:
下载
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/65955/showart_706839.html |
|