操作系统是一种在计算机上运行的软件,它的主要任务是管理计算机上的系统资源,为用户提供使用计算机及其外部设备的接口。它存在的目的是为了管理所有硬件资源,并且提供应用软件一个合适的操作环境。嵌入式系统由于硬件的先天限制,经常只具有极稀少的硬件资源,如 时脉较少的 CPU、较少的内存、常不具有磁盘而用小容量的DiskOnChip或DiskOnModule。而在使用电池的系统中,它还要实现节省电池消耗,延长电池使用时间的功能。
Linux 作为嵌入式操作系统是完全可行的,因为Linux提供了完成嵌入功能的基本的内核和你所需要的所有用户界面,它是多面的。它能处理嵌入式任务和用户界面。将Linux看作是连续的统一体,从一个具有内存管理、任务切换和时间服务及其他的分拆的微内核到完整的服务器,支持所有的文件系统和网络服务。Linux作为嵌入式系统是一个带有很多优势的新成员,它对许多CPU和硬件平台都是易移植的、稳定、功能强大、易于开发。
Application program
API
X-server Java virtual machine
Device driver
Linux Kernel
Boot load
嵌入式Linux系统需要下面三个基本元素:
1. 引导工具
2. Linux微内核:内存管理、 程序管理
3. 初始化进程
如果要它成为完整的操作系统且继续保持小型化,还得加上:
1.硬件驱动程序
2.硬件接口程序
3.应用程序组
谈到操作系统就一定要说一说它的开发环境,Linux是基于GNU的C编译器,作为GNU工具链的一部分,与gdb源调试器一起工作。它提供了开发嵌入式Linux系统的所有软件工具。以下是一个典型的开发工具的使用流程:
1.写入或植入引导码
2.向串口打印字符串的编码
3.将gdb目标码移植工作串口,这可与另一台运行gdb程序的Linux 主机系统对话
4.利用gdb让硬件和软件初始化码在Linux内核启动时工作
5.Linux内核启动,串口成为Linux控制口并可用于后续开发
6.如果在你的目标硬件上运行了完整的Linux内核,你可以调试你的应用进程