???¨????
订阅
纠错
加入自媒体

嵌入式开发学习:μClinux平台上的应用程序开发

2013-11-12 10:49
汉水狂客
关注

  嵌入式系统范同非常广泛,从简单的单片机系统到主频高达几百兆的使用操作系统的非计算机系统,都可以称为嵌入式系统。随着各行业电子系统应用要求的提高,嵌入式系统也越来越复杂,硬件要求速度快、集成度高、外部接口多,软件则要求功能丰富、模块化、易于扩展。ARM能够很好满足复杂嵌入式系统的要求,因此ARM芯片成为当前嵌入式应用最重要的硬件平台。嵌入式硬件平台性能的提高,使嵌入式操作系统的使用成为必然。

  1 嵌入式系统与μClinux

  基于ARM的嵌入式系统是当前最典型的嵌入式系统。嵌入式系统框图如图1所示。系统的硬件主要部件是ARM7系列的S3C44B0X处理器。当系统中需要使用各种各样的外围设备时,开发的难度相当大,使用操作系统可以提高升发的效率。因此,嵌入式操作系统是嵌入式系统极为重要的组成部分。它具有通用操作系统的基小特点,而又增加了实时高效性、硬件依赖性、应用专一性等新特点。常见的嵌入式操作系统有:VxWorks、uC/OS-II、Windows CE、μClinux等。μClinux操作系统是一种性能优良、源码公开且被广泛应用的免费嵌入式操作系统,因此很多无MMU单元的嵌入式系统都使用μClinux作为操作系统。

嵌入式开发学习:μClinux平台上的应用程序开发

  μClinux是针对控制领域的嵌入式Linux操作系统,它从Linux 2.0/2.4内核派生而来,而又针对没有MMU的处理器进行设计,因此有着特别小的内核和用户软件空间,而且所有程序访问的地址都是实际的物理地址。操作系统对内存空间没有保护,各个进程实际上共享一个运行空间。

  2 μClinux的移植

  μClinux是依赖于硬件系统的,与PC上运行的Linux系统有较大的区别。因此在ARM系统中使用μClinux时,需要对内核进行裁剪,再添加一些需要的驱动程序,才能在不同的嵌入式碰件系统中运行。μClinux操作系统一般都是先在安装Linux的计算机上编译调试,然后再下载到目标系统板上运行,这一过程就是μClinux的移植。

  2.1 Bootloader的设计

  Bootloader就是在操作系统内核运行之前运行的一段程序。嵌入式系统的Bootloader程序烧录在系统地址的0x0处,即每次上电后先运行Bootloader,完成硬件系统的初始化、建立内存空间的映射图和μClinux的引导工作。完整的Bootloader引导流程描述。

  Bootloader的主要任务对时钟、中断、I/O等芯片资源进行初始化,为μClinux的运行做好准备。

  2.2 μClinux移植的方法

  2.2.1 建立交叉编译环境

  首先从网上下载GNU开发软件包arm-elf-tools-20030312.sh,然后到源码目录下执行sh arm-elf-tools-20030312.sh,这样在PC上建立了ARM体系结构的编译器、连接器、调试器,可以用来编译OS内核,制作文件系统等。

  2.2.2 在Windows下安装ADS工具

  ADS是ARM公司推出的新一代ARM集成开发工具。在硬件开发板完成后,可用ADS各硬件模块进行测试。

1  2  下一页>  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

??????°?±? 44030502002758??