- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
U-BOT移植实验
3 U-BOOT移植实验
3.1 解压u-boot源码
在虚拟机中,利用Samba共享一个文件夹给XP,例如共享“/home/uptech”文件夹
将该文件夹的权限设为可读可写可执行“chmod 777 /home/uptech”
在XP中,把“03/下午/src”文件夹拷贝到“//2”的共享文件夹uptech内,并把uptech中的“src”更名为“03 u-boot”
在Linux虚拟机中进入该文件夹“cd /home/uptech/03 u-boot”
输入“ls”命令,可见该文件夹内有3个文件:
“u-boot-1.3.2.tar.bz2” (u-boot-1.3.2源码压缩包)
“dm9000x.h”、“dm9000x.c” (dm9000网卡驱动程序)
解压u-boot源码压缩包,即输入命令“tar jxvf u-boot-1.3.2.tar.bz2”
3.2 建立UP2410的板级支持
进入u-boot源码文件夹,输入命令“cd u-boot-1.3.2”
建立UP2410板级支持包
“cd board”
“mkdir up2410” 在board文件夹内创建“up2410”文件夹
“cp smdk2410/* up2410/ -a” 将smdk2410文件夹的内容拷贝到up2410文件夹内
“cd ..” 返回u-boot-1.3.2目录
“cp include/config/smdk2410.h include/config/up2410.h”
以smdk2410为模板创建up2410配置文件up2410.h
配置UP2410开发板,即修改“u-boot-1.3.2/Makefile”文件
“vi Makefile”
输入“/smdk2410”找到
smdk2400_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2400 NULL s3c24x0
紧接这两行添加如下两行:
up2410_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t up2410 NULL s3c24x0
其中第二行开始部分的空白是按TAB键获得的!
保存退出Makefile文件。 ESC, shift+z z
3.3 让up2410的u-boot支持从Nand Flash启动
修改“u-boot-1.3.2/cpu/arm920t/start.S”文件
新建“u-boot-1.3.2/ board/up2410/nand.c”文件
修改“u-boot-1.3.2/board/up2410/Makefile”文件
修改“u-boot-1.3.2/include/configs/up2410.h”文件
具体如下:
1修改“u-boot-1.3.2/cpu/arm920t/start.S”文件(vi cpu/arm920t/start.S)
ESC :set number (用于显示行号)
181行和201行前加上//,注释掉
181 //#ifdef CONFIG_AT91RM9200
201 //#endif
(2)#ifndef CONFIG_SKIP_RELOCATE_UBOOT之后加入:
#ifdef CONFIG_S3C2410_NAND_BOOT
bl copy_myself
#else
“ble copy_loop”语句之后加入:
#endif
“_start_armboot: .word start_armboot”语句之后加入copy_loop子程序:
/*
*************************************************************************
*
* copy u-boot to ram
*
*************************************************************************
*/
#ifdef CONFIG_S3C2410_NAND_BOOT
copy_myself:
mov r10, lr @save return address to r10
ldr sp, DW_STACK_START
mov fp, #0
bl NF_Init
ldr r0, =UBOOT_RAM_BASE
mov r1, #0x0
mov r2, #0x30000
bl nand_re
文档评论(0)