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在这一步的启动过程中,需要初始化启动环境,然后完成对后续工作的准备,诸如串口、网口、Flash等硬件设备的初始化工作,将kernel映像和根文件系统映像从Flash上读到RAM空间中,同时调用已经下载好的内核。
2.U-Boot运行后期阶段在完成了启动环境初始化时,进入到后期启动阶段。此部分的代码用C语言来实现,以便于实现更复杂的功能和取得更好的代码可读性和可移植性。函数_start_armboot0是执行映像的入口点。
(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作为模板。
2.创建S3C2410目录及文件,要对Makefile进行修改Mkdir board/S3C2410
3.通过修改文件smdk2410.h来修改U-Boot软硬件配置增加PING命令功能
4.修改2M的Flash通过查询相关数据手册中有关Flash的地址,并在对应的S3C2410.h文件中找到有关信息。在此要用到一些硬件的知识,最关键的是扇区的计算,由于在ARM中Flash是按扇区划分的,每个扇区的大小是64K,所以2M就需要32个扇区,但是由数据手册可知S0,S1,S2,S3扇区的大小分别为:16K,8K,8K,32K,所以要加上3个扇区才能得到正确的结果。
四、结论
通过对U-Boot的启动流程的详细分析和制作,不仅对其有一个整体的了解,而且也可以依据本文进行制作。通过对U-Boot的重要参数的设置也使得其功能进一步增强。读者也可以仿效文中的步骤对其他型号的开发板进行制作,为以后的开发带来了方便。在制作过程中要注意的是接口参数的设置问题和越界问题。
上一篇:基于Linux的S3C2410串行通信设计
下一篇:基于S3C2410处理器和IEEE802.11b实现无线温度变送器的设计
推荐阅读最新更新时间:2024-11-21 01:32
设计资源 培训 开发板 精华推荐
- DC1562B-M,LTC6995-1 演示板,1 秒上电复位
- 具有基于 L6986I 的双隔离输出的 38 V、5 W 同步 iso-buck 转换器评估板
- ADR292GRUZ 4.096V便携式设备稳压器典型应用电路
- CAT3626AEVB、CAT3626 6 通道 LED 驱动器评估板
- LT3091MPFE 线性稳压器用于输入电源跟踪的典型应用
- 立创EDA触摸小夜灯
- 用于仪表的 -42 至 -56V 模拟放大器
- 数字小键盘 带HUB
- SSM3302 2 x 10 W 无滤波器 D 类立体声音频放大器的典型单声道模式配置应用电路
- LT6656ACDC-3.3、3.3V 升压输出电流电压基准的典型应用
- YotelPad将引入机器人管家,以便为住户和客人提供服务
- 我国各区域机器人产业的发展水平深度解析:工业类与服务类区别明显
- 科捷物流联手深圳极效智能,打造首个立体高密度机器人智能仓
- 优必选与阿里共同打造的人工智能概念餐厅亮相,餐厅机器人迎来新一春?
- 机器人行业热度不减市场份额扩大,机器人普遍普及只是时间问题
- SEER模拟情绪表达机器人:可同步追踪人脸表情,甚至眼神接触
- 智伴儿童机器人:一款专为0-12岁儿童及家长设计的人工智能教育机
- 海康机器人的机器视觉工业相机客户端MVS V3.0.0带有多项新增功能
- 斯坦德机器人:精简赛道,只做3C产品搬运工
- 基于Cortex-M内核的灵动微新品MCU集体亮相 2018灵动MM32协作大会成功举办