Uboot移植到S3C2410.doc

Uboot移植到S3C2410.doc

ID:49651555

大小:116.50 KB

页数:18页

时间:2020-03-03

Uboot移植到S3C2410.doc_第1页
Uboot移植到S3C2410.doc_第2页
Uboot移植到S3C2410.doc_第3页
Uboot移植到S3C2410.doc_第4页
Uboot移植到S3C2410.doc_第5页
资源描述:

《Uboot移植到S3C2410.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、本次移植是将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.oflash.o为COBJS:=smdk2410

2、.oflash_e28_cmi.o将include/configs/目录下的smdk2410.h在本目录中复制并改名为s3c2410.h。这个是开发板的配置头文件。修改顶层Makefile,在smdk2410_config:unconfig@$(MKCONFIG)$(@:_config=)armarm920tsmdk2410NULLs3c24x0下添加s3c2410_config:unconfig@$(MKCONFIG)$(@:_config=)armarm920ts3c2410NULLs3c24x0修改board/s3c2410/config.mk,将TEXT_BASE=0x33F8000

3、0改为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)-Wa

4、ll-Wstrict-prototypes这是在编译时用到的选项。这样在编译时通过-DTEXT_BASE=$(TEXT_BASE)定义,就把TEXT_BASE的值传递到各使用到该变量的源文件,如cpu/arm920t.S中就用到这个变量。还有一个变量的定义LDFLAGS+=-Bstatic-T$(LDSCRIPT)-Ttext$(TEXT_BASE)$(PLATFORM_LDFLAGS)这个是在链接时用的到选项,根据-Ttext选项的指示,链接脚本链接时就可以使用TEXT_BASE的值了。到此,开发板的一系列目录、文件及编译链接相关的事项都已完成,下面就是要修改相就文件的代码以及开发板配置头

5、文件的配置选项,以适合我的开发板上的芯片特性。二、修改相关源文件主要有三个方面的文件要修改:1.我们用的flash是两片在一起,组成了32位寻址。而原来的代码是按16位寻址写的。所以关于flash一系列操作的代码要修改。这部分修改要保证能正确操作flash2.关于i2c设备eeprom的相关配置,主是要是设备地址以及设备内存地址的宽度等。同样,这里修改后要保证能正确读写eeprom3.关于网卡的设置,网络用了以后我们就可以用过网络从主机上下载相关代码。修改完后要能使用tftp工具进行下载。1)、flash由于我的开发板是两块e28F128J3Aflash组成32位寻址,所以与地址操作相关的数

6、据都由原来的16位改为32位。首先修改flash相关的命令,在flash_e28_cmi.c中#defineFLASH_ID_MASK0xFFFF#defineFLASH_BLOCK_SIZE0x00010000#defineFLASH_CMD_READ_ID0x0090#defineFLASH_CMD_RESET0x00ff#defineFLASH_CMD_BLOCK_ERASE0x0020#defineFLASH_CMD_ERASE_CONFIRM0x00D0#defineFLASH_CMD_CLEAR_STATUS0x0050#defineFLASH_CMD_SUSPEND_ERASE

7、0x00B0#defineFLASH_CMD_WRITE0x0040#defineFLASH_CMD_PROTECT0x0060#defineFLASH_CMD_PROTECT_SET0x0001#defineFLASH_CMD_PROTECT_CLEAR0x00D0#defineFLASH_STATUS_DONE0x0080这些相关的命令状态值等都是16位的,只能操作一片flash。所以要将其全部改为32位

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。