免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 996 | 回复: 0
打印 上一主题 下一主题

移植U-BOOT 到我的 QQ2440 上 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-26 14:47 |只看该作者 |倒序浏览
    今天是正式离开公司的第三天。第一天忙着办烦琐的手续,第二天绕着女朋友团团转,送她回湖南老家。今天终于一个人,可以好好的静下心的来学习了。看了一上午的中嵌教育,心想应该做点什么。恩,既然系统移植的第一步,是做 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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP