资源描述:
《最可靠的UBOOT移植.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一.1、到ftp://ftp.denx.de/pub/u-boot/下载u-boot-2010.06.tar.bz22、解压 tarjxvfu-boot-2010.06.tar.bz23、进入uboot cdu-boot-2010.064、删减uboot进入/board,留下samsung,其它全部删除ls
2、grep-v"^samsung$"
3、xargsrm-rf进入/arch,留下arm,其它全部删除ls
4、grep-v"^arm$"
5、xargsrm-rf进入/arch/arm/cpu,留下arm920t,其它全部删除ls
6、grep-v"920"
7、xargsrm–rf二.1、建立自己的DEMO
8、板cd/board/samsungmkdirsmdk2440cp-rfsmdk2410/*smdk2440/ //将2410下所有的代码复制到2440下cdsmdk2440 //进入smdk2440目录mvsmdk2410.csmdk2440.c //将smdk2440下的smdk2410.c改名为smdk2440.c然后在文件夹samsung里留下smdk2440,其它全部删除cpinclude/configs/smdk2410.hinclude/configs/smdk2440.h //建立2440头文件在include/configs下留
9、下smdk2440.h,其它全部删除vi board/samsung/smdk2440/Makefile //修改smdk2440下Makefile的编译项,如下:COBJS:=smdk2440.oflash.o //修改第28行因在smdk2440下我们将smdk2410.c改名为smdk2440.c2、顶层Makefile文件。查找到smdk2410_config的地方,在他下面按照smdk2410_config的格式建立my2440_config的编译选项,另外还要指定交叉编译器,修改159行CROSS_COMPILE?=arm-linux- //指定交叉编译器为ar
10、m-linux-gccsmdk2410_config : unconfig //2410编译选项格式 @$(MKCONFIG)$(@:_config=) armarm920tsmdk2410samsungs3c24x0smdk2440_config : unconfig //修改蒂3054行,2440编译选项格式 @$(MKCONFIG)$(@:_config=) armarm920t smdk2440samsungs3c24x0 *说明:arm :CPU的架构(ARCH) arm920t:CPU的类型 smdk2440:
11、对应在board目录下建立新的开发板项目的目录 samsung:新开发板项目目录的上级目录,如直接在board下建立新的开发板项目的目录,则这里就为NULL s3c24x0:CPU型号*注意:编译选项格式的第二行要用Tab键开始,否则编译会出错3、测试编译新建的smdk2440开发板项目在uboot根目录测试makesmdk2440_configmake即可在uboot根目录下生成bin文件三Makedistclean在include/configs/smdk2440.h头文件中添加CONFIG_S3C2440宏viinclude/configs/smdk2440.h 在第
12、40行添加#defineCONFIG_S3C244011start.S找到程序的入口点,reset: /* *setthecputoSVC32mode */ mrs r0,cpsr bic r0,r0,#0x1f orr r0,r0,#0xd3 msr cpsr,r01-1. 在下面添加开发板的LED测试代码,以方便观看u-boot的运行//测试开发板的LED#if1 //P284LED分别由S3C2440的PB5、6、7、8口来控制#defineGPBCON0x56000010#defineGPBDAT0x56000014#defineGPBUP
13、0x56000018 ldrr0,=GPBUP ldrr1,=0x7FF //即:二进制11111111111,关闭PB口上拉 strr1,[r0] ldrr0,=GPBCON //配置PB5、6、7、8为输出口,对应PBCON寄存器的第10-17位 ldrr1,=0x154FD //即:二进制010101010011111101 strr1,[r0] l