免费注册 查看新帖 |

Chinaunix

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

[BootLoader] JZ2440 U-BOOT移植 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-10-15 23:52 |只看该作者 |倒序浏览
自己的JZ2440开发板移植U-boot,记录过程,与大家分享,自己是菜到不能再菜的新手。不愿意试用厂商提供的代码,因此自己在官方FTP上下载了一套比较新的代码。
Based on u-boot-2013.04 version.Cross compiler:arm-linux-gcc-4.5.1

1.board目录下保存目标开发板相关文件,jz2440的开发板可以基于smdk2410开发。
新建vendor目录,mkdir songchenglin;
复制smdk2410整个目录,放到vendor目录下,cp samsung/smdk2410 songchenglin/jz2440 -rf;
将jz2440目录下的.c文件修改为jz2440.c,将Makefile内的相关名字一起修改;
2.include/config目录下,复制smdk2410.h的配置文件,cp smdk2410.h jz2440.h
3.修改顶层Makefile,在结尾添加目标板相关配置:
#传递给mkconfig的参数:Target  Architecture  CPU  Board [VENDOR] [SOC]
jz2440_config:unconfig
    @$(MKCONFIG)  $(@:_config=) arm arm920t jz2440 songchenglin s3c24x0
之前新建vendor目录并没有必要,直接将jz2440目录放在board下,然后在这里的vendor可以写为NULL,但是实际上"NULL"会作为目录名传递给mkconfig导致目标板的目录变成board/NULL/jz2440,所以只好增加vendor目录。
4.在顶层Makefile中修改交叉编译器,CROSS_COMPILE:=arm-linux-
5.生成配置文件,make jz2440_config
6.编译整个工程,make all
默认目标文件在各自目录下生成,如果需要指定生成目标文件目录,有两种方法:
a,export BUILD_DIR=/home/songchenglin/build
     make all
b,make 0=/home/songchenglin/build all
7.编译完成之后,会生成u-boot.bin文件
代码比较新,可能有编译选项与编译器不兼容。  -mshort-load-bytes     -malignment-traps效果一样,前者老版本编译器支持,后者新编译器支持。在arch/arm/arm920t/config.mk文件修改
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP