u-boot-2011.03在mini2440/micro2440上的移植 准备工作

发布时间:2024-06-27  

u-boot自2010.09版以后有比较大的变化,首先是不再在顶层Makefile中配置板级支持文件,其次是重写了start.S和board.c,还有就是提供了对S3C2440的部分支持,使得在移植时难度减小。但由于是新版本,bug也有不少。本文尝试对u-boot-2011.03进行移植,主要参考了bscbem的日志和L_Backkom的专栏,在此表示感谢。

具体见http://www.linuxidc.com/Linux/2011-02/32772.htm 与 http://www.linuxidc.com/Linux/2011-03/33476.htm

U-Boot源代码下载地址 http://www.linuxidc.com/Linux/2011-07/38897.htm

1.1 移植环境

u-boot版本:u-boot-2011-03
Linux平台:Fedora 14
交叉编译工具:arm-linux-gcc-4.3.2
arm开发板:micro2440
        CPU:S3C2440
        SDRAM:64M
        Nor Flash:2M
        Nand Flash:256M
        网卡:DM9000EP

 

1.2 移植目标

支持Nand启动
支持Nand读写
支持yaffs写入
支持tftp下载

 

1.3 删减u-boot文件(可不做)

(1)删除arch目录下除arm目录以外的所有目录
(2)删除arm/cpu目录下除arm920tmulu以外的所有目录
(3)删除arch/arm/cpu/arm920t目录下除s3c24x0目录以外的所有目录(文件不要删)
(4)删除arch/arm/include/asm目录下除arch‐s3c24x0外的所有arch‐xxxx目录(文件不要删)
(5)删除board目录下除samsung目录以外的所有目录
(6)删除board/samsung目录下除smdk2410目录以外的所有目录
(7)删除include/configs目录下除smdk2410.h文件以外的所有头文件。

 

1.4 建立Micro2440配置

(1)[www.linuxidc.com@linuxidc u-boot-2011.03]$ vim boards.cfg
添加一行
micro2440 arm arm920t - samsung s3c24x0
【说明】
我们是基于smdk2410开发板移植,我们仍然将开发板文件建立在board/samsung下

 

(2)创建板级支持文件
[www.linuxidc.com@linuxidc u-boot-2011.06]$ cp -r board/samsung/smdk2410 board/samsung/micro2440
[www.linuxidc.com@linuxidc u-boot-2011.06]$ cd board/samsung/micro2440/
[www.linuxidc.com@linuxidc micro2440]$ mv smdk2410.c micro2440.c
[www.linuxidc.com@linuxidc micro2440]$ vim Makefile
COBJS := smdk2410.o flash.o改为COBJS := micro2440.o flash.o
[www.linuxidc.com@linuxidc u-boot-2011.06]$ cd ../../..
[www.linuxidc.com@linuxidc u-boot-2011.06]$ cp include/configs/smdk2410.h include/configs/micro2440.h
[www.linuxidc.com@linuxidc u-boot-2011.03]$ vim include/configs/micro2440.h
修改一:
#define CONFIG_SYS_PROMPT "[Micro2440]# " /* Monitor Command Prompt */
修改二:
#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + 0x1000 - GENERATED_GBL_DATA_SIZE)
【说明】
如果不定义修改二的内容,编译时就会出错,这是新版本的一个bug。
这里需要注意,直接复制内容到micro2440.h可能导致make通不过,提示有garbage,我想可能是因为windows和Linux回车编码不同造成的。

(3)测试编译环境
[www.linuxidc.com@linuxidc u-boot-2011.06]$ make micro2440_config
Configuring for micro2440 board...
[www.linuxidc.com@linuxidc u-boot-2011.06]$ make
Generating include/autoconf.mk
Generating include/autoconf.mk.dep
......
......
arm-linux-objcopy -O srec u-boot u-boot.srec
arm-linux-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>