对于基于嵌入式DSP和SOC的系统开发来说,软件开发环境往往与所选用的处理器/FPGA型号直接相关,一般由厂商提供,并不具有通用性。相对来说,基于嵌入式微处理器的系统开发流程则具有一定程度的通用性。本节则以基于嵌入式微处理器的嵌入式系统开发为主线介绍其软件开发环境。下面以Linux应用为例进行说明。从开发人员的角度,如在专用的嵌入式板卡上运行基于Linux的应用,软件可以分为以下4个层次。
1)引导加载程序。包括固化在固件中的boot代码和Boot Loader代码两部分。其中boot代码与开发人员基本无关。
2)Linux内核。特定于嵌入式板子的定制内核以及内核的启动参数。
3)文件系统。包括根文件系统和建立于Flash内存设备之上的文件系统。(www.xing528.com)
4)用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。常用的嵌入式GUI有MicroWindows和MiniGUI等。
引导加载程序(Boot Loader)是系统加电后运行的第一段软件代码。简单地说,Boot Loader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备和建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。
Boot Loader严重地依赖于硬件,包括处理器和板级结构、各种计算及外设资源。因此,在嵌入式世界里建立一个通用的Boot Loader几乎是不可能的。然而,这并不表示Boot Loader每次都需要重新编写。在一些成熟的Boot Loader的源代码的基础上进行适当修改或添加,就可以达到事半功倍的效果。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。