Uboot移植到SC.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Uboot移植到SC

本次移植是将uboot-1.1.6移植到s3c2410开发板上 一、创建开发板目录,修改相应的makefile及相关文件 创建开发板目录board/s3c2410, 找到相似的开发板board/smdk2410,将此目录中文件全部copy到s3c2410目录中。 由于我的开发板用的flash是intel的E28F128J3A,所以要寻找这个flash的驱动。将board/cmi中的flash.c文件copy到s3c2410目录下,并改名为flash_e28_cmi.c 。 修改board/s3c2410/Makefile中的 COBJS := smdk2410.o flash.o 为 COBJS := smdk2410.o flash_e28_cmi.o 将include/configs/目录下的smdk2410.h在本目录中复制并改名为s3c2410.h。这个是开发板的配置头文件。 修改顶层Makefile,在 smdk2410_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0 下添加 s3c2410_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t s3c2410 NULL s3c24x0 修改board/s3c2410/config.mk,将 TEXT_BASE = 0x33F80000 改为 TEXT_BASE = 0x33E80000。 这个为什么这样改,我还没弄清楚,只是我看到有移植好的定的就是这个值。有知道的希望留个言,在此先谢过。 在这里说说TEXT_BESE这个变量在编译和链接时怎么传递的。在顶层目录下的config.mk中,有这么一行代码 sinclude $(TOPDIR)/board/$(BOARDDIR)/config.mk 先将上述变量所在的文件包含,然后有两个定义 CPPFLAGS := $(DBGFLAGS) $(OPTFLAGS) $(RELFLAGS) \ -D__KERNEL__ -DTEXT_BASE=$(TEXT_BASE) \ CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes 这是在编译时用到的选项。这样在编译时通过-DTEXT_BASE=$(TEXT_BASE)定义,就把TEXT_BASE的值传递到各使用到该变量的源文件,如cpu/arm920t.S 中就用到这个变量。 还有一个变量的定义 LDFLAGS += -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS) 这个是在链接时用的到选项,根据-Ttext选项的指示,链接脚本链接时就可以使用TEXT_BASE的值了。 到此,开发板的一系列目录、文件及编译链接相关的事项都已完成,下面就是要修改相就文件的代码以及开发板配置头文件的配置选项,以适合我的开发板上的芯片特性。 二、修改相关源文件 主要有三个方面的文件要修改: 1. 我们用的flash是两片在一起,组成了32位寻址。而原来的代码是按16位寻址写的。所以关于flash一系列操作的代码要修改。这部分修改要保证能正确操作flash 2. 关于i2c设备eeprom的相关配置,主是要是设备地址以及设备内存地址的宽度等。同样,这里修改后要保证能正确读写eeprom 3. 关于网卡的设置,网络用了以后我们就可以用过网络从主机上下载相关代码。修改完后要能使用tftp工具进行下载。 1)、flash 由于我的开发板是两块e28F128J3A flash组成32位寻址,所以与地址操作相关的数据都由原来的16位改为32位。 首先修改flash相关的命令,在flash_e28_cmi.c中 #define FLASH_ID_MASK 0xFFFF #define FLASH_BLOCK_SIZE 0 #define FLASH_CMD_READ_ID 0x0090 #defin

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档