移植嵌入式 Linux 到 ARM 处理器 S3C2410:操作系统
时间:2006-12-18 来源:dev.yesky.com 作者:宋宝华 点击:…… 字体大小:【大 中 小】
在笔者撰写的《C 语言嵌入式系统编程修炼之道》一文中,主要陈诉的软件架构是单
任务无操作系统平台的,而本文的侧重点则在于讲述操作系统嵌入的软件架构,二者的区
别如下图:
嵌入式操作系统并不总是必须的,因为程序完全可以在裸板上运行。尽管如此,但对
于复杂的系统,为使其具有任务管理、定时器管理、存储器管理、资源管理、事件管理、
系统管理、消息管理、队列管理和中断处理的能力,提供多任务处理,更好的分配系统资
源的功能,很有必要针对特定的硬件平台和实际应用移植操作系统。鉴于 Linux 的源代码
开放性,它成为嵌入式操作系统领域的很好选择。国内外许多知名大学、公司、研究机构
都加入了嵌入式 Linux 的研究行列,推出了一些著名的版本:
·RT-Linux 提供了一个精巧的实时内核,把标准的 Linux 核心作为实时核心的一个进
程同用户的实时进程一起调度。RT-Linux 已成功地应用于航天飞机的空间数据采集、科
学仪器测控和电影特技图像处理等广泛的应用领域。如 NASA(美国国家宇航局)将装有
RT-Linux 的设备放在飞机上,以测量 Georage 咫风的风速;
·uCLinux(Micro-Control-Linux,u 表示 Micro,C 表示 Control)去掉了 MMU(内存
管理)功能,应用于没有虚拟内存管理的微处理器/微控制器,它已经被成功地移植到了
很多平台上。
本章涉及的 mizi-linux 由韩国 mizi 公司根据 Linux 2.4 内核移植而来,支持 S3C2410A
处理器。
1.Linux内核要点
和其他操作系统一样,Linux 包含进程调度与进程间通信(IPC)、内存管理(MMU)、虚
拟文件系统(VFS)、网络接口等,下图给出了 Linux 的组成及其关系: