一站式电子元器件采购平台

华强商城公众号

一站式电子元器件采购平台

元器件移动商城,随时随地采购

华强商城M站

元器件移动商城,随时随地采购

半导体行业观察第一站!

芯八哥公众号

半导体行业观察第一站!

专注电子产业链,坚持深度原创

华强微电子公众号

专注电子产业链,
坚持深度原创

电子元器件原材料采购信息平台

华强电子网公众号

电子元器件原材料采购
信息平台

基于S3C2410嵌入式设备的U-Boot移植流程教程

来源:http://www.elecfans.com/emb/danpianji/20180207631308.html 发布时间:2018-02-08

摘要: S3C2410是三星公司针对嵌入式系统推出的高性价比微处理器,它是基于ARM9TDMI内核的16/32位RISC处理器,工作主频为200MHz。由于现有的Linux系统引入了设备文件的概念,读写串口可以像读写普通文件一样进行操作,非常方便。

S3C2410是三星公司针对嵌入式系统推出的高性价比微处理器,它是基于ARM9TDMI内核的16/32位RISC处理器,工作主频为200MHz。由于现有的Linux系统引入了设备文件的概念,读写串口可以像读写普通文件一样进行操作,非常方便。

一、Linux系统的安装

安装起始界面-电子元件

安装过程首先出现欢迎对话框,如上图所示。Red Hat先后会询问用户使用何种语言、用户使用的键盘类型(默认选项为美式键盘)以及安装软件的位置(选择本地CD -ROM)等许多需用户选择的问题。

使用Disk Druid建立Linux文件系统然后通过PC机对开发板进行设置,并执行以下命令,从而对开发板进行内核及文件系统的烧写工作:

文件系统的烧写工作-电子元件

此时,关闭开发板电源,接上LCD。重新启动开发板,LCD上将出现QT的定标程序,定标后就进入QT的接口。

二、U-Boot启动程序及流程

U-Boot是在PC- Boot的基础上进化而来的一个开源的嵌i入式Boot Loader。它主要完成了系统环境的初始化,将后期执行j代码复制到SDRAM空间,为Linux内核的运行提供条件。

根据{其功能实现方式的不同可以分为两个阶段。可以通过修改配置应用到其他的开发板上。所以,选择U-Boot不仅能应用于S3C2410,而且能为以后在其他开发板上的研究提供基础。

本文选择最常见的版本U-Boot -1.1.6为例介绍U- Boot的启动和相关移植程序。

1.U-Boot运行前期阶段 ARM系列处理器在上电或复位时从物理地址Ox00000000处开始执行,此处也是第一片Flash所使用的存储空间的起始位置,而U-Boot就存放在Flash的最前端。U - Boot第一阶段由汇编语言实现,以达到短小精悍的目的,主要完成系统硬件环境的初始化,其工作流程如下图所示。

U-Boot前期启动流程-电子元件

U - Boot在这一步的启动过程中,需要初始化启动环境,然后完成对后续工作的准备,诸如串口、网口、Flash等硬件设备的初始化工作,将kernel映像和根文件系统映像从Flash上读到RAM空间中,同时调用已经下载好的内核。

2.U-Boot运行后期阶段在完成了启动环境初始化时,进入到后期启动阶段。此部分的代码用C语言来实现,以便于实现更复杂的功能和取得更好的代码可读性和可移植性。函数_start_armboot0是执行映像的入口点。

(1 )U-Boot必要的初始化工作:系统初始化至少一个串口,以便和终端用户进行I/O输出信息,包括系统信息和操作菜单等;初始化计时器,方便读秒计时;初始化Flash,注册Flash操作函数,为实现Flash读写做准备。

在加载程序U- Boot中可以通过kermit协议从宿主机接收可烧写的二进制文件,将该文件先放置于SDRAM中,然后通过NORFlash操作程序来完成对NORFlash AM29LV160DB的擦除,并将文件烧写到NORFlash中。后期的工作流程如图所示。

U- Boot后期启动流程-电子元件

(2)使用TFTP网络协议下载Linux操作系统:在加载程序U-Boot中包含TFTP网络下载文件方式,其下载速度比Kermit协议方式速度快几十倍,可大大节省文件下载时间,极大的简便了嵌入式程序的调试方法。

因为TFTP使用UDP,而UDP使用lP,lP还可以使用其它本地通信方法。因此一个TFTP包中会有以下几段:本地媒介头,lP头,数据报头,TFTP头,剩下的就是TFTP数据了。TFTP在lP头中不指定任何数据,但是它使用UDP中的源和目标端口以及包长度域。

由TFTP使用的包标记(TID)在这里被用做端口,因此TID必须介于0—65,535之间。TFTP头中包括两上字节的操作码,这个码指出了包的类型,可以根据TFTP包格式进行必要的移植工作。

三、U-Boot的移植流程

不同的板极硬件配置要求进行U-Boot的移植工作,移植U-Boot的工作包括添加开发板硬件相关的文件、配置U- Boot,然后编译。U-Boot -1.1.4版本支持SMDK2410开发板,并且SMDK2410同样采用S3C2410芯片,因此选取SMDK2410作为移植参考,定义目标板需要添加的U-Boot:

1.在boarcl/目录下建立目标板目录 由于U- Boot中本身支持很多开发板和处理器,所以可以找到和处理器型号相同或相近的开发板,在此基础之上再进行相应的修改。此处选择smdk2410作为模板。

此处选择smdk2410作为模板-电子元件

2.创建S3C2410目录及文件,要对Makefile进行修改Mkdir board/S3C2410

创建S3C2410目录及文件-电子元件

3.通过修改文件smdk2410.h来修改U-Boot软硬件配置增加PING命令功能

PING命令功能-电子元件


了解更多相关设计技术信息,请点击华强旗舰电子圈(http://www.hqbuy.com/dzq/dzqsy.html)!

声明:本文观点仅代表作者本人,不代表华强商城的观点和立场。如有侵权或者其他问题,请联系本站修改或删除。

社群二维码

关注“华强商城“微信公众号

调查问卷

请问您是:

您希望看到什么内容: