嵌入式系统是针对某个应用,软硬件可裁减的,对体积、功耗、成本等等有严格要求的一个计算机系统。看起来很复杂,其实就2点:1.嵌入式系统是一个计算机系统;2.嵌入式系统是针对某个应用的。
我们通常使用的电脑、笔记本,就是一个通用的计算机系统。通用的意思是没有特定的用途、什么都可以干,如上网、打游戏、听歌等。在超时买东西时,常看到收银员使用pos机进行结账收银。pos机有主板、CPU、操作系统,因此是计算机系统;且又是专门针对结账收银来使用的,因此它是一个嵌入式系统。
嵌入式中“嵌入”的是操作系统,那么目前主流的嵌入式操作系统有哪些?
1.嵌入式Linux
嵌入式Linux和Linux是不一样的,Linux不仅可以做嵌入式,还可以做桌面、服务器等。嵌入式Linux是将标准的Linux经过裁剪处理后,使之能在嵌入式计算机系统上运行。
嵌入式Linux具有免费、开源、内核小且可裁剪、支持x86和x64的处理器、绝大部分的网络协议、大量应用程序...,这些优点使嵌入式Linux成为最流行的嵌入式操作系统。
Linux作为内核,该如何知道它的稳定版本呢?
访问:https://www.kernel.org/,目前最新版本是4.20-rc2,最新稳定版本是:4.19.2。第一个数字表示目前发布的内核主版本;第二个数字是偶数表示稳定版本,奇数表示开发中版本;第三个数字是错误修补次数。
Linux发行版又是什么?
Linux系统一般由5个部分组成,Bootloader、内核、Shell、文件系统、应用程序。
Bootloader是在内核运行之前执行的一段程序,它负责硬件的初始化、内存空间的映射,为调用内核做准备。内核指的就是Linux内核。
Shell是指面向用户的命令接口,表现形式是一个可以由用户录入的界面。Linux和Windows不同,它的内核与界面是分离的,即linux可以脱离
图形界面单独运行,也可以在内核的基础上运行图形化的桌面。
因此在
Linux系统中,shell有2种表现形式,1.在无
图形界面,终端运行环境下的shell;2.桌面上运行的类似Windows的MS-DOS运行窗口。
在内存中存储文件时,需要遵循一定的格式,这种格式称为文件系统类型。Linux系统能支持多种目前主流的文件系统,如fat16、fat32、nfs、
ext2、ext3、jffs2、yaffs、和ISO9660。 标准的Linux系统有一套自己的应用程序集,它包括文本编辑器、编程语言、XWindow、办公套件、Internet工具和数据库等。
以Linux内核为中心,集成各种各样的应用工具、软件组成一套完整的操作系统,称为Linux发行版。目前主流的发行版有Red Hat、Fedora、Ubuntu、CentOS、Debian...。
Linux的缺点:Linux本质上不是嵌入式实时操作系统(部分发行版在Linux上进行实时性改造)。
2.VxWorks
VxWorks是美国WindRiver公司开发的嵌入式实时操作系统,是当前市场占有率极高的嵌入式操作系统。其具有可裁剪的微内核结构、高效的任务管理...,缺点是支持的硬件较少、授权费较高。
3.Windows CE
Windows CE是微软公司针对嵌入式设备开发的32位、多任务、多线程操作系统。支持x86、ARM、MIPS等架构的处理器。缺点是源代码没有开放、占用内存较多、系统过于庞大、授权费高。
4.µC/OS-Ⅱ
µC/OS-Ⅱ是Micrium公司开发的操作系统。可用于8/16/32位处理器,内核可裁剪。缺点是不开放源代码、需要授权费(一次性、低)、需要编写硬件驱动等。
1.2处理器和存储器
Intel、AMD的CPU是x86架构,即32位处理器;x86-64架构又称为x64,是基于x86架构开发的技术,其用户可以自行选择x86平台或x64平台。这2种架构使用的指令集为CISC(复杂指令集)。
IBM公司的CPU是PowerPC架构,使用的指令集为RISC(精简指令集)。
MIPS公司的 MIPS架构(龙芯也是MIPS变种),使用的指令集为RISC(精简指令集)。
ARM公司是ARM架构,使用的指令集为RISC(精简指令集)。
此外还有高通的Adreno、ARM公司的Mali、Vivante的GCxx。
目前常用的嵌入式linux处理器是ARM公司的ARM架构处理器。
常见存储器:SDRAM、NAND FLASH、NOR FLASH。
SDRAM:同步
动态随机存储器。同步是指
内存工作需要同步时钟,命令的发送和数据的传输都以此时钟为基准;动态是指
存储阵列需要不断的刷新来保证数据不丢失,掉电后数据会丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。类比于电脑中的内存,特点是程序可以直接运行,但掉电后数据丢失。
NAND FLASH:优点是体积小、容量大、掉电数据不丢失;缺点是程序不能直接运行。相当于电脑中的机械硬盘,常用于保存数据。
NOR FLASH:优点是支持XIP(即代码可以在NOR FLASH上执行),掉电数据不丢失;缺点是容量小,价格高。常用于保存代码和关键数据。