U-Boot-2009-03移植笔记(移植准备)

发布时间:2024-09-04  

因为工作需要,需要在S3C2440板子上移植U-boot和Linux,虽然关于S3c2440移植的文章比较多,但是毕竟全面的不多,而且都是别人的,这次自己动手,以此系列记录全过程。


U-boot1.1.6中有支持smdk2410的代码,而2440和2410还是比较相近的,于是在2410的基础上来移植。


建立xinna2440代码

我们把自己移植的u-boot叫xinna2440-u-boot,首先要建立xinna2440代码


修改顶层Makefile


直接在vim中查找smdk2410_config,然后在下面增加xinna2440_config的定义


1 smdk2410_config    :    unconfig

2     @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0

4 xinna2440_config    :    unconfig

5     @$(MKCONFIG) $(@:_config=) arm arm920t xinna2440 NULL s3c24x0


然后拷贝代码


cp  include/configs/smdk2410.h include/configs/s3c2440.h

cp board/samsung/smdk2410/ board/xinna2440 -r 


测试xinna2440代码


make xinna2440_config

Configuring for xinna2440 board...

make


只要你安装好了交叉编译链(这里推荐3.4.5,其他版本有可能在移植Nandflash驱动的时候出现链接错误),编译不应该出错,在根目录下会生成u-boot.bin文件。  


搞清楚要移植的内容

U-Boot分为两部分,第一部分是汇编部分的启动,我们在这个阶段至少要设置CPU工作模式、关闭看门狗、初始化内存(SDRAM)关闭MMU,禁中断,设置PLL,代码拷贝,为C语言准备运行环境(设置堆栈指针)等一些列工作。移植是个细活, 不熟悉的没法快起来,需要很有耐心。


因为我们基于smdk2410来移植xinna2440,那么我们要搞清楚哪些地方是我们需要移植的.


SOC的区别

smdk2410用的是s3c2410的芯片,xinna2440用的是s3c2440的芯片,因此我们只要弄清楚这两款芯片的区别,就知道针对cpu的不同而要移植哪些地方了.


1、两款芯片的主频不同,所以我们要修改PLL驱动


2、中断控制器不同,我们需要禁止所有中断


3、两款芯片的NandFlash控制器不同。


smdk2410是带有NORFlash的,可以从NORFlash启动,而xinna2440是不带NORFlash,我们只能从NandFlash启动,所以我们必须移植好NandFlash驱动。


BOARD区别

1、第一个就是要注意GPIO的链接不同,这里不详说。


2、第二要注意外围器件不同


xinna2440没有Norflash,所有无法从NORFlash启动

smdk2410和xinna2440用的Nandflash芯片不同,xinna2440用的是K9F2G08U0A

smdk2410用的是CS8900网卡芯片,xinna2440用了DM9000

查找入口点


用vim打开cpu/arm920t/u-boot.lds,可以看到,U-boot的起始代码位于cpu/arm920t/start.S中,我们可以从这里作为入手点,展开移植工作。

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

相关文章

    ; ARCH,下篇文章将继续介绍移植前的准备工作。 ......
    ","eeprom.h",移植前需要准备选择至少2块连续大小相同的flash扇区,示例程序中选用的是16K大小的2、3扇区。现在打开“eeprom.h”文件。移植时需要修改的内容: 好了移植完成,注意......
    LPC2119简介 μC/OS-II在LPC2119上的移植;本文在分析实时嵌入式系统mC/OS-II和LPC2119芯片的基础上,对mC/OS-II向处理器上移植前需要了解的知识和需要做的前期准备......
    -2.6.9-uc0- hsc0.patch,将打上补丁的2.6.9内核改名为linux-2.6.x并替换在uClinux-dist包中的linux-2.6.x,完成移植前的准备工作。 3.3.2......
    项目用的不多也就没必要再买其他型号的了,芯片确定了,剩下就是代码移植工作了。 理论上移植过程适用于全部AT32F403A系列型号 移植准备工作: 1. 一份STM32F103C8T6工程源码(标准库) 2.在雅......
    上的生活。 在卡纳瓦罗医生看来: “这个虚拟现实系统以最好的方式为患者准备了一个新的世界,一个他将能够重新走路的世界,在那里他将面对他的新身体。” 对于斯皮里多诺夫的疯狂想法,他的女友是拒绝的,表示她愿意接受心上人目前的......
    不仅能治疗失明和瘫痪,而且能开始改装我们的身体,增强记忆力,并创造出与机器互动的全新方式。” “利用遗传学技术,我们不仅能治愈某些长期以来认为无法治疗的疾病,而且......
    真实世界的数据进行了一系列全面的实验,并证明我们提出的框架可以准确地估计脚的位置,并在定位精度方面优于之前的方法。 方法 本研究旨在利用人体结构,改进基于单一图像的步行者定位方法。这是通过预测行人丢失的身体......
    令架构。在之前,因为android的一些底层代码含 有armv5t的指令, 所以以前无法移植到这样的平台。 在这里也放出移植教程和已经编译好的image。 让更多的朋友可以在自己的开发板上亲身体验android......
    了一些基本的例程的使用,还没用将我所有的程序移植到我们的F0单片上,毕竟一个新的产品还是先在自己熟悉的片子上跑比较合适,这样画PCB板子的时候会成功率高一些。 我的预想方案是基于F0单片机的无线心率心电监测系统,病人或者老人通过将电极放在身体......

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

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

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

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

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

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

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