网站大量收购闲置独家精品文档,联系QQ:2885784924

U-boot移植U-boot移植.doc

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
U-boot移植U-boot移植

移植U-Boot2009-01到阳初S3C2440超值版支持NAND启动,支持YAFFS文件系统 参考了《移植U-Boot-2008.10到友善之臂mini2440》 要知道需要修改那些文件就要分析顶层Makefile【bootloader是什么?分为几个阶段?每阶段分别完成什么任务?】 根据README,先要运行make board_name_config然后再运行make来生成uboot执行文件,根据makefile的语法这个board_name_config必然是makefile中定义的一个target,那么我们就要 ①仿照其他的开发板来建立自己开发板的board_name_config,与我的开发板最相近的为smdk2410,所以根据smdk2410_config来写自己的gateway_config并加入到顶层makefile中;从顶层makefile中board_name_config目标的执行命令可以看出调用了mkconfig脚本,正常执行本脚本后应该会在./include中生成两个文件:config.mk和config.h并且会将输入的参数传递到ARCH、CPU、BOARD、VENDOR、SOC几个变量中,且在生成的config.h文件中将包含configs/$1.h文件,所以我们要 ②在configs下建立自己开发板的.h头文件,可以通过拷贝相似开发板的头文件; ③修改子目录下的makefile; ④修改源文件中与2440不符的内容。 一个调试方法就是用板子上已能正常跑起来的bootloader将刚改过编译好的uboot下载到内存中运行,具体操作为:定义CONFIG_SKIP_LOWLEVEL_INIT为“1”,或者注释掉start.s中 #ifndef CONFIG_SKIP_LOWLEVEL_INIT bl cpu_init_crit #endif 这三句中间的那句跳转,然后修改当前开发板目录下的config.mk中的text_base为0使用vivi命令load ram 00x17ea8 x将u-boot.bin装入内存。再用go 0令,即可。 · 1、建立开发板目录,因为开发板跟smdk2440的硬件结构类似,而u-boot中最相近的配置为smdk2410,所以先复制smdk2410开发板目录为新的开发板目录:#cp -r /board/smdk2410 /board/hgateway。 · 2、将开发板目录中的开发板配置文件更名#mv /board/smdk2410/smdk2410.c /board/smdk2410/hgateway.c。 · 3、修改/board/hgateway下的makefile,将COBJS:=smdk2410.o flash.o改为COBJS:=hgateway.o flash.o · 4、在/include/configs下建立新的开发板配置头文件#cp /include/configs/smdk2410.h /include/configs/hgateway.h。 · 5、修改顶层Makefile文件建立新开发板选项:在smdk2410_config:unconfig下增加: hgateway_config:unconfig @$(MCCONFIG)$(@:_config=)arm arm920t gateway NULL s3c24x0 注意还要改一点:__LIBS := $(subst $(obj),,$(LIBS)) $(subst $(obj),,$(LIBBOARD)) 改为:__LIBS := $(subst $(obj),,$(LIBBOARD)) $(subst $(obj),,$(LIBS)) 网上说UBOOT1.3.3以后Makefile发生了变化,编译器会将我们添加唉的用于nandboot的子函数放到4k以后。这个可以通过比较查看System.map文件可知。(有时间真要把这个两个编译一下比较看看) 这时执行#make hgateway_configmake all可以顺利得到u-boot.bin文件了,但是别忘了这是对S3C2410的,并且是针对smdk2410开发板的,如果下到我们自己的开发板上,呵呵因为硬件配置不同,肯定是跑不起来的。下面就要更改源文件,编译出适合我们自己开发板的u-boot了。 · 6、根据芯片Datasheet及板子的硬件配置更改相应的源文件,根据顶层makefile可知,跟移植相关的几个文件夹及文件为:cpu/arm920t/start.S;cpu/arm920t/s3c24x0/;lib_ar

文档评论(0)

yxutcangfp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档