• 联系我们
  • 地址:湖北武汉三环科技园
  • 电话:159116031100
  • 传真:027-68834628
  • 邮箱:mmheng@foxmail.com
  • 当前所在位置:首页 - 嵌入式
  • 嵌入式开发学习:μClinux平台上的应用程序开发
  •   嵌入式系统范同非常广泛,从简单的单片机系统到主频高达几百兆的使用操作系统的非计算机系统,都可以称为嵌入式系统。随着各行业电子系统应用要求的提高,嵌入式系统也越来越复杂,硬件要求速度快、集成度高、外部接口多,软件则要求功能丰富、模块化、易于扩展。

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

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

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

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

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

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

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

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

      本文由 恒宇国际(www.neivn.cn)整理发布