资料介绍
如何在Windows上建立arm-linux开发环境
在嵌入式产品大行其道的今天,Linux经过裁剪和优化而成的uClinux在嵌入式领域众多的
操作系统中占有一席之地。从uClinux字面上就可以看出它的含义,即“微控制器领域中的
Linux系统”。
uClinux从Linux
2.0/2.4内核派生而来,沿袭了Linux的绝大部分特性。它是专门针对没有MMU(内存管理单
元)的CPU,并且为嵌入式系统做了许多小型化的工作。它通常用于具有很少内存或Flash
的嵌入式操作系统。在GNU通用许可证的保证下,运行uClinux操作系统的用户可以使用几
乎所有的Linux
API函数。由于经过了裁剪和优化,它形成了一个高度优化,代码紧凑的嵌入式Linux。它
具有体积小、稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持,
以及丰富的API函数等优点。uClinux与Linux在兼容性方面表现出色,uClinux除了不能
实现fork()外,其余uClinux的API函数与标准Linux完全相同。
uClinux的基本架构
Boot
Loader:负责Linux内核的启动,用于初始化系统资源。这部分代码用于建立Linux内核
运行环境和从Flash中装载初始化Ramdisk。
内核初始化:Linux内核的入口点是start
kernel()函数。它初始化内核的其它部分,包括捕获、IRQ通道、调度、设备驱动、标定
延迟循环,最重要的是能够fork“init”进程,以启动整个多任务环境。
系统调用函数/捕获函数:在执行完“init”程序后,内核对程序流不再有直接地控
制权。此后,它的作用仅仅是处理异步事件(例如硬件中断)和为系统调用提供进程。
设备驱动:设备驱动占据了Linux内核很大部分。同其它操作系统一样,设备驱动为
它们所控制的硬件设备和操作系统提供接口。