1. 什么是存储器 嵌入式系统的存储器
存储器,包含内部存储器,简称内存,又分为RAM (SRAM 静态存储器 ,DRAM动态存储器) ROM(EPROM ,PROM , EEPROM , FLASH ROM,...);外部存储器,简称外存:硬盘、U盘、光盘等.
嵌入式系统的存储器主要针对嵌入式系统的特点进行部署的存储器或存储器系统,主要存储器有:内存 SRAM , DRAM. EEPROM , FLASH ROM等。比如监控系统的还需要硬盘等外部存储器
2. 嵌入式存储器的类型有哪些,对比他们的性能参数
两个问题都能在这里找到答案,我搜了下,参考`
ARM指令集发展史
作者:xdpeter 提交日期:2006-4-12 20:01:00
第2章 典型ARM体系结构介绍
一、版本简介
迄今为止,ARM体系结构共定义了6个版本,版本号分别为1—6。同时,各版本中还有一些变种,这里将某些特定功能称为ARM体系的某种变种(variant),例如支持Thumb指令集,称为T变种。长乘法指令(M变种),ARM媒体功能扩展(SIMD)变种,支持JAVA的J变种,和增强功能的E变种。
ARM处理器核当前有6 个系列产品ARM7,,ARM9, ARM9E, ARM10E,SecurCore 以及最新的ARM11 系列。以及Intel XScale 微体系结构和StrongARM 产品各系列产品性能见下表
ARM7 性能特征
Cache大小
(指令/数据) 存储器管理单元
紧密耦合存储器
(TCM) Jazelle
Thumb
DSP
AHB接口
ARM7TDMI 无 无 无 无 有 无 有
ARM7TDMI-S 无 无 无 无 有 无 有
ARM7EJ-S 无 无 无 有 有 有 有
ARM720T 8K MMU 无 无 有 无 有
ARM7采用ARMV4T(Newman)结构,分为三级流水,空间统一的指令与数据Cache,平均功耗为0.6mW/MHz,时钟速度为66MHz,每条指令平均执行1.9个时钟周期。其中的ARM710,ARM720和ARM740为内带Cache的ARM核。具有如下特点:
- 具有嵌入式ICE-RT逻辑,调试开发方便。
- 极低的功耗,适合对功耗要求较高的应用,如便携式产品。
- 能够提供0.9MIPS/MHz的三级流水线结构。
- 代码密度高并兼容16位的Thumb指令集。
- 对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等。
- 指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。
- 主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。
ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。TDMI的基本含义为:T:支持16为压缩指令集Thumb;D:支持片上Debug;M:内嵌硬件乘法器(Multiplier)I:嵌入式ICE,支持片上断点和调试点;
从ARM公司提供的ARM7 Data Sheet可以看出,ARM7属于结构比较简单的32位RISC体系结构,与一般的、采用五级流水线的32位RISC结构相比,简化了流水线的设计。这一方面限制了ARM7芯片性能的提升,另一方面使得ARM7的结构更加简单,不必考虑在多级流水线中需要解决的冲突、中断现场恢复等等复杂棘手的问题,有利于简化设计、提高设计的正确性、有效性。
由于指令长度、格式的限制,在ARM7的一般指令中,只能够访问4位的寄存器空间,这和其他32位RISC体系结构中能够访问到5位、6位的寄存器空间又不同。ARM7通过特殊的模式转换方式,使得用户可以访问到其它的15个通用寄存器。
ARM7所有的指令都是条件执行的。这在目前主流的32位RISC体系结构中并不多见。通过在指令中设置条件域,可以使得编译器有条件完成指令的条件执行功能,优化编译效果。另外,由于条件域的引入,使得在设计流水线的时候,必须考虑译码后的指令是否可以执行。
ARM7中的所有指令,除了访存指令之外,都是基于寄存器进行操作的,这是典型的RISC设计思路。
注:arm体系结构的版本及命名方法
arm体系结构共定义了6个版本,版本号分别为1~6。
arm体系的变种:将某些特定功能称为arm体系的某种变种(variant)
#T变种(Thumb指令集)表示Thumb,该内核可从16位指令集扩充到32位ARM指令集。
#D:表示Debug,该内核中放置了用于调试的结构,通常它为一个边界扫描链JTAG,可使CPU进入调试模式,从而可方便地进行断点设置、单步调试。
#M变种(长乘法指令)表示Multiplier,是8位乘法器。
#I表示EmbeddedICE Logic,用于实现断点观测及变量观测的逻辑电路部分,其中的TAP控制器可接入到边界扫描链。
#E变种(增强型指令)DSP指令支持。
#J变种(Java加速器Jazelle)JAVA指令支持。
#SIMD变种(arm媒体功能扩展)单指令流多数据流(SIMD)能力使得软件更有效地完成高性能的媒体应用像声音和图像编码器。
arm/thumb体系版本的字符串是由下面几部分组成的:
#字符串ARMV
#arm指令集版本号,1~6
#ARM指令集版本号后为表示所含变种的字符。由于在ARM体系版本4以后,M变种成为系统的标准功能,字符M通常不需要列出来。
#最后使用的字符x表示排除某种写功能。比如,在早期的一些E变种中,未包含双字读取指令LDRD、双字写入指令STRD、协处理器的寄存器传输指令MCRR/MRRC以及cache预取指令PLD。这种E变种记作ExP,其中x表示缺少,P代表上述的几种指令。如ARMv3M,ARMv5xM,ARMv6等
eg:ARMv5xM--->ARMv+4+x+M
ARM9 性能特征
Cache大小
(指令/数据) 存储器管理单元
紧密耦合存储器
(TCM) Jazelle
Thumb
DSP
AHB接口
ARM920T 16K/16K MMU 无 无 有 无 有
ARM922T 8K/8K MMU 无 无 有 无 有
ARM940T 4K/4K MMU 无 无 有 无 有
ARM9采用ARMV4T(Harvard)结构,五级流水处理以及分离的Cache结构,平均功耗为0.7mW/MHz。时钟速度为120MHz-200MHz,每条指令平均执行1.5个时钟周期。与ARM7系列相似,其中的ARM920、ARM940和ARM9E为含Cache的CPU核。性能为132MIPS(120MHz时钟,3.3V供)或220MIPS(200MHz时钟)。ARM9 E性能特征
Cache大小
(指令/数据) 存储器管理单元
紧密耦合存储器
(TCM) Jazelle
Thumb
DSP
AHB接口
ARM926EJS 4-128K/4-128 MMU 有 有 有 有 双AHB
ARM946EJS 4-1MB/4-1MB MMU 有 无 有 有 AHB
ARM966ES 无 无 有 无 有 有 AHB
ARM9E系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的DSP处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。
ARM9E系列微处理器的主要特点如下: - 支持DSP指令集,适合于需要高速数字信号处理的场合。 - 5级整数流水线,指令执行效率更高。 - 支持32位ARM指令集和16位Thumb指令集。 - 支持32位的高速AMBA总线接口。 - 支持VFP9浮点处理协处理器。 - 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。 - MPU支持实时操作系统。 - 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。 - 主频最高可达300MIPS。 ARM9系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。 ARM9E系列微处理器包含ARM926EJ-S、ARM946E-S和ARM966E-S三种类型,以适用于不同的应用场合。
ARM10 E性能特征
Cache大小
(指令/数据) 存储器管理单元
紧密耦合存储器
(TCM) Jazelle
Thumb
DSP
AHB接口
ARM1020E 32K/32K MMU 无 无 有 有 双AHB
ARM1022E 16K/16K MMU 无 无 有 有 双AHB
ARM1026EJ-S 可变 MMU+ MMU 有 有 有 有 双AHB
ARM10采用ARMV5T结构,六级流水处理,指令与数据分离的Cache结构。平均功耗为1000mW,时钟速度为300MHz,每条指令平均执行1.2个周期,其中ARM1020为带Cache的版本。ARM10TDMI:与所有ARM核在二进制级代码兼容,内带高速32X16MAC,预留DSP协处理器接口。其中的VFP10(矢量浮点单元)为七级流水结构。ARM1020T:ARM10TDMI+32K Caches+MMU结构,300MHz时钟,功耗为1W(2.0V供电)或00mW(1.5V供电)。指令Cache和数据Cache分别为32K,宽度为64bits。能够技术多种商用操作系统。适用于下一代高性能手持式因特网设备及数字式消费类应用。
ARM10E系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近50%,同时,ARM10E系列微处理器采用了两种先进的节能方式,使其功耗极低。 ARM10E系列微处理器的主要特点如下: - 支持DSP指令集,适合于需要高速数字信号处理的场合。 - 6级整数流水线,指令执行效率更高。 - 支持32位ARM指令集和16位Thumb指令集。 - 支持32位的高速AMBA总线接口。 - 支持VFP10浮点处理协处理器。 - 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。 - 支持数据Cache和指令Cache,具有更高的指令和数据处理能力 - 主频最高可达400MIPS。 - 内嵌并行读/写操作部件。 ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。 ARM10E系列微处理器包含ARM1020E、ARM1022E和ARM1026EJ-S三种类型,以适用于不同的应用场合。
ARM11性能特征
Cache大小
(指令/数据) 符点
运算 存储器管理单元
紧密耦合存储器
(TCM) Jazelle
SIMD
DSP
AHB接口
ARM1136J-S 4-64K 无 MMU 有 有 有 有 四个64
位AHB
ARM1136JF-S 4-64K 有 MMU 有 有 有 有 四个64
位AHB
ARM11是ARMv6体系结构的第一个实现,ARM11微结构的设计目
3. 嵌入式实时操作系统由哪几部分组成基本内核包括哪些功能模块
嵌入式系统主要组成部分:
1、处理器内核:嵌入式系统的心脏是处理器内核。处理器内核从一个简单便宜的8位微控制器,到更复杂的32位或64位微处理器,甚至多个处理器。
嵌入式设计人员必须为能够满足所有功能和非功能时限、要求的应用选择成本最低的设备。
2、模拟I/O:D/A和A/D转换器是用来从环境中搜集数据并反馈的。嵌人式设计人员必须了解需要从环境中搜集数据的类型、数据的精度要求和输入/输出数据的速率,以便为应用程序选择合适的转换器。
嵌入式系统的反应特性受外部环境决定。嵌入式系统必须有足够快的速度跟上环境变化,以此来模拟信息,例如光、声压或加速度被感知并输入到嵌入式系统中。
3、传感器和执行机构:传感器一般从环境中感知模拟信息。执行机构通过某些方式控制环境。
4、用户界面:这些界面可以像LED屏一样简单,也可以像工艺精良的手机和数码相机的屏幕那样复杂。
5、应用程序的特定入口:类似于ASIC或者FPGA的硬件加速,是用来加速在应用程序中有高性能要求的特定功能模块。嵌入式设计师必须利用加速器获得最大的应用程序性能,来对程序进行适当的筹划或分区。
6、软件:在嵌入式系统开发中软件是一个重要的部分。在过去几年,嵌入式软件的数量已经增长得比摩尔定律还快,几乎是每十个月就成倍增长。嵌入式软件在某些方面性能、存储器和功耗、经常被优化。越来越多的嵌入式软件通过高级语言来编写,如C/C++。
而更多的性能关键的代码段仍然使用汇编语言来编写。
7、存储器:存储器是嵌入式系统中重要的部分,嵌入式程序可以在没有RAM或ROM的情况下运行。有许多易失的和非易失的存储器用于嵌入式系统中,关于此内容在书的后面会有更多的说明。
8、仿真和诊断:嵌入式系统很难看见或接触到。调试的时候需要接口与嵌入式系统相连。诊断端口,如JTAG联合测试行动组、就常常用于调试嵌入式系统。
总结如下:
片上仿真能用来提供应用程序的可见性行为。这些仿真模块能可视化地提供运行时的行为和性能,实际上由板上的自诊断能力取代了外部逻辑分析仪的功能。
4. 笔记本电脑。嵌入式动态随机存储器 (eDRAM)是啥而且才128MB,比运行内存小很多,应该很快
eDRAM是嵌入式 DRAM ,一般是嵌入在CPU里或者继承在CPU附近,主要作用是缓存,用作CPU或者核显(或者二者兼顾的)缓存
5. 嵌入式硬盘录像机作用
嵌入式硬盘录像机的性能高的原因:从硬件上主要体现在其内部板卡都集成在一块或两块主板上,经过产家在技术上的整合,其配置上要比PC机的要低,而运行的性能上能与高它一定硬件配置PC机的相比并不逊色;从软件上主要体现,其系统与硬盘录像机的操作系统完美的结合在一起,是直接对硬件进行调用,加快了反应时间,提高了运行速度,减少了很多不必要的额外功能运行,而基于Linux
、Windows
操作系统之上的硬盘录像机是绝对做不到的。
稳定性:
嵌入式硬盘录像机的稳定性高的原因:从硬件上主要体现在各部分都集成在一块主板上,对抗震、灰尘多等恶劣环境的适应能力要好;从软件上主要体现在其系统与硬盘录像机(DVR)的监控系统完整的结合在一起,不容易受到一些额外的因素影响,如操作系统的自身不稳定性和冗余的附带功能所引起的不良因素。不过也有一些劣质的嵌入式硬盘录像机的稳定性很差。
维护性:
嵌入式硬盘录像机的易维护性低的原因:主要体现在硬件上,嵌入式因集成度过高,对维护人员的专业素质同要求相当高,这对目前中国的国情来讲,这样的人才太小,一出问题基本都要发回产商进行维修,其维修成本可想而知,尤其是过了保修期。而这个过程少则一个星期,多则一两个月,这给客户使用和下次一选购造成严重的内心反感,也给很多的工程商带来相当多的麻烦,甚至客户流失;从软件上来讲,嵌入式的软件基本不需要维护,其软件维护成本远比基于Windows和Linux操作系统之上的监控系统要低得多。
抗病毒性
嵌入式硬盘录像机的抗病毒性高的原因:主要是因为其硬件、软件都是专用的,芯片存储的数据只读,不可写,并且软件的附带功能非常少,因此,病毒根本无从入手。
6. 简述嵌入式软件中存储器管理的"堆"和"栈"的作用.
如果对于应用程序的开发者来说可以这样理解
应用中调用malloc这样的函数申请的内存是在堆空间中申请来的
应用中函数内部的临时变量是编译器自动修改栈指针,使用的栈空间
函数间调用,保存寄存器等现场也是自动使用的栈空间,这些对于栈的使用
都是编译器编译的时候就确定了的,不需要编程者担心,嵌入式系统中还要注意别发生栈溢出的情况。
7. EMMC内嵌式硬盘与SSD固态硬盘的区别以及它们的优缺点,请详细介绍。3Q
1、它们的性质不同
EMMC(embeddedmulti-mediacard)是由MMC协会制定的嵌入式存储标准规范,主要用于手机或平板电脑等产品。
固态硬盘,俗称固态硬盘,是由固态电子存储芯片阵列构成的硬盘,因为固态电容在台湾英语中称为固态。
2、两者的构成不同
EMMC包括一个具有MMC(多媒体卡)接口的嵌入式存储解决方案、闪存设备和主控制器。都在一个小的BGA包里。
SSD由控制单元和存储单元(flash芯片、DRAM芯片)组成。固态硬盘接口的规格、定义、功能和使用方法与普通硬盘相同,产品外形和尺寸与普通硬盘相同。
3、他们有不同的优势
EMMC具有简化移动存储器设计、更新速度快、加快产品研发速度等优点。
SSD具有读写速度快、防震防坠落、功耗低、无噪声、工作温度范围大、便携等优点。
(7)嵌入式存储器的作用扩展阅读:
优势
1、简化了移动存储器的设计。EMMC是目前最流行的移动设备本地存储解决方案,旨在简化移动存储器的设计。因为不同品牌的NAND闪存芯片包括三星、金马、东芝或海力士、美光等。
因此需要根据各公司的产品和技术特点进行重新设计。在过去,没有任何技术可以用于所有品牌的NAND闪存芯片。
2、快速更新。每次NANDflash工艺技术发生变化,包括70nm演进到50nm,再到40nm或30nm工艺技术,手机用户也需要重新设计。
但每年半导体产品的工艺技术都会创新,而内存问题也会减缓新手机型号的推出。因此,随着市场的不断发展,将所有存储器和NANDflash管理控制芯片放在一个MCP上的概念,如EMMC,逐渐在市场上流行起来。
3、加快产品开发。EMMC的设计理念是简化移动存储器的使用。
将NAND闪存芯片和控制芯片设计成一个MCP芯片。移动电话客户只需购买EMMC芯片并将其放入新的移动电话中,而无需处理其他复杂的NANDflash兼容性和管理问题。最大的优势是缩短新产品的销售周期和研发成本,加快产品引进速度。
8. 听说现在嵌入式挺火!不知道什么是嵌入式我想了解的详细一点
定义
IEEE(国际电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”(原文为:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。这主要是从应用对象上加以定义,从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。
国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
可以这样认为,嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。
[编辑本段]
嵌入式系统的组成
一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,如图1-1所示,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY 智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息。
下面对嵌入式计算机系统的组成进行介绍。
1)硬件层
硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和 I/O接口(A/D、D/A、I/O等)。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。
(1)嵌入式微处理器
嵌入式系统硬件层的核心是嵌入式微处理器,嵌入式微处理器与通用CPU最大的不用在于嵌入式微处理器大多工作在为特定用户群所专用设计的系统中,它将通用CPU许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。
嵌入式微处理器的体系结构可以采用冯·诺依曼体系或哈佛提醒哦结构;指令系统可以选用精简指令系统(Reced Instruction Set Computer,RISC)和复杂指令系统CISC(Complex Instruction Set Computer,CISC)。CISC计算机在通道中只包含最有用的指令,确保数据通道快速执行每一条指令,从而提高了执行效率并使CPU硬件结构设计变得更为简单。
嵌入式微处理器有各种不同的体系,即使在同一体系中也可能具有不同的时钟频率和数据总线宽度,或集成了不同的外设和接口。据不完全统计,目前全世界嵌入式微处理器已经超过1000多种,体系结构有30多个系列,其中主流的体系有ARM、MIPS、 PowerPC、X86和SH等。但与全球PC市场不同的是,没有一种嵌入式微处理器可以主导市场,仅以32位的产品而言,就有100种以上的嵌入式微处理器。嵌入式微处理器的选择是根据具体的应用而决定的。
(2)存储器
嵌入式系统需要存储器来存放和执行代码。嵌入式系统的存储器包含Cache、主存和辅助存储器,其存储结构如图1-2所
[嵌入式系统的存储结构]
嵌入式系统的存储结构
示。
1>Cache
Cache是一种容量小、速度快的存储器阵列它位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。在需要进行数据读取操作时,微处理器尽可能的从Cache中读取数据,而不是从主存中读取,这样就大大改善了系统的性能,提高了微处理器和主存之间的数据传输速率。Cache的主要目标就是:减小存储器(如主存和辅助存储器)给微处理器内核造成的存储器访问瓶颈,使处理速度更快,实时性更强。
在嵌入式系统中Cache全部集成在嵌入式微处理器内,可分为数据Cache、指令Cache或混合Cache,Cache的大小依不同处理器而定。一般中高档的嵌入式微处理器才会把Cache集成进去。
2>主存
主存是嵌入式微处理器能直接访问的寄存器,用来存放系统和用户的程序及数据。它可以位于微处理器的内部或外部,其容量为256KB~1GB,根据具体的应用而定,一般片内存储器容量小,速度快,片外存储器容量大。
常用作主存的存储器有:
ROM类 NOR Flash、EPROM和PROM等。
RAM类 SRAM、DRAM和SDRAM等。
其中NOR Flash 凭借其可擦写次数多、存储速度快、存储容量大、价格便宜等优点,在嵌入式领域内得到了广泛应用。
3>辅助存储器
辅助存储器用来存放大数据量的程序代码或信息,它的容量大、但读取速度与主存相比就慢的很多,用来长期保存用户的信息。
嵌入式系统中常用的外存有:硬盘、NAND Flash、CF卡、MMC和SD卡等。
(3)通用设备接口和I/O接口
嵌入式系统和外界交互需要一定形式的通用设备接口,如A/D、D/A、I/O等,外设通过和片外其他设备的或传感器的连接来实现微处理器的输入/输出功能。每个外设通常都只有单一的功能,它可以在芯片外也可以内置芯片中。外设的种类很多,可从一个简单的串行通信设备到非常复杂的802.11无线设备。
目前嵌入式系统中常用的通用设备接口有A/D(模/数转换接口)、D/A(数/模转换接口),I/O接口有RS-232接口(串行通信接口)、Ethernet(以太网接口)、USB(通用串行总线接口)、音频接口、VGA视频输出接口、 I2C(现场总线)、SPI(串行外围设备接口)和IrDA(红外线接口)等。
2)中间层
硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据 BSP 层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。BSP具有以下两个特点。
硬件相关性:因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软 件与硬件平台之间的接口,BSP需要为操作系统提供操作和控制具体硬件的方法。
操作系统相关性:不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。
实际上,BSP是一个介于操作系统和底层硬件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。设计一个完整的BSP需要完成两部分工作:嵌入式系统的硬件初始化以及BSP功能,设计硬件相关的设备驱动。
(1)嵌入式系统硬件初始化
系统初始化过程可以分为3个主要环节,按照自底向上、从硬件到软件的次序依次为:片级初始化、板级初始化和系统级初始化。
片级初始化
完成嵌入式微处理器的初始化,包括设置嵌入式微处理器的核心寄存器和控制寄存器、嵌入式微处理器核心工作模式和嵌入式微处理器的局部总线模式等。片级初始化把嵌入式微处理器从上电时的默认状态逐步设置成系统所要求的工作状态。这是一个纯硬件的初始化过程。
板级初始化
完成嵌入式微处理器以外的其他硬件设备的初始化。另外,还需设置某些软件的数据结构和参数,为随后的系统级初始化和应用程序的运行建立硬件和软件环境。这是一个同时包含软硬件两部分在内的初始化过程。
系统初始化
该初始化过程以软件初始化为主,主要进行操作系统的初始化。BSP将对嵌入式微处理器的控制权转交给嵌入式操作系统,由操作系统完成余下的初始化操作,包含加载和初始化与硬件无关的设备驱动程序,建立系统内存区,加载并初始化其他系统软件模块,如网络系统、文件系统等。最后,操作系统创建应用程序环境,并将控制权交给应用程序的入口。
(2)硬件相关的设备驱动程序
BSP的另一个主要功能是硬件相关的设备驱动。硬件相关的设备驱动程序的初始化通常是一个从高到低的过程。尽管BSP中包含硬件相关的设备驱动程序,但是这些设备驱动程序通常不直接由BSP使用,而是在系统初始化过程中由BSP将他们与操作系统中通用的设备驱动程序关联起来,并在随后的应用中由通用的设备驱动程序调用,实现对硬件设备的操作。与硬件相关的驱动程序是BSP设计与开发中另一个非常关键的环节。
3)系统软件层
系统软件层由实时多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。
(1)嵌入式操作系统
嵌入式操作系统(Embedded Operation System,EOS)是一种用途广泛的系统软件,过去它主要应用与工业控制和国防系统领域。EOS负责嵌入系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前,已推出一些应用比较成功的EOS产品系列。随着 Internet技术的发展、信息家电的普及应用及EOS的微型化和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固化以及应用的专用性等方面具有较为突出的特点。EOS是相对于一般操作系统而言的,它除具有了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件处理等外,还有以下
[编辑本段]
嵌入式操作系统的特点
1)可裁剪性。支持开放性和可伸缩性的体系结构。
2)强实时性。EOS实时性一般较强,可用于各种设备控制中。
3)统一的接口。提供设备统一的驱动接口。
4)操作方便、简单、提供友好的图形GUI和图形界面,追求易学易用。
提供强大的网络功能,支持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。
5)强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用户过多的干预、这就要负责系统管理的EOS具有较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。
6)固化代码。在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。
7)更好的硬件适应性,也就是良好的移植性。
[编辑本段]
嵌入式系统的文件系统
通用操作系统的文件系统通常具有以下功能:
提供用户对文件操作的命令。
提供用户共享文件的机制。
管理文件的存储介质。
提供文件的存取控制机制,保障文件及文件系统的安全性。
提供文件及文件系统的备份和恢复功能。
提供对文件的加密和解密功能。
嵌入式文件系统比较简单,主要提供文件存储、检索和更新等功能,一般不提供保护和加密等安全机制。它以系统调用和命令方式提供文件的各种操作,主要有:
设置、修改对文件和目录的存取权限。
提供建立、修改、改变和删除目录等服务。
提供创建、打开、读写、关闭和撤销文件等服务。
[编辑本段]
嵌入式文件系统的特点
1)兼容性。嵌入式文件系统通常支持几种标准的文件系统,如FAT32、JFFS2、YAFFS等。
2)实时文件系统。除支持标准的文件系统外,为提高实时性,有些嵌入式文件系统还支持自定义的实时文件系统,这些文件系统一般采用连续的方式存储文件。
3)可裁剪、可配置。根据嵌入式系统的要求选择所需的文件系统,选择所需的存储介质,配置可同时打开的最大文件数等。
4)支持多种存储设备。嵌入式系统的外存形式多样了,嵌入式文件系统需方便的挂接不同存储设备的驱动程序,具有灵活的设备管理能力。同时根据不同外部存储器的特点,嵌入式文件系统还需要考虑其性能、寿命等因素,发挥不同外存的优势,提高存储设备的可靠性和使用寿命。
[编辑本段]
图形用户接口(GUI)
GUI的广泛应用是当今计算机发展的重大成就之一,他极大地方便了非专业用户的使用人们从此不再需要死记硬背大量的命令,取而代之的是可用用通过窗口、菜单、按键等方式来方便地进行操作。而嵌入式GUI具有下面几个方面的基本要求:轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。
嵌入式系统中的图形界面,一般采用下面的几种方法实现:
针对特定的图形设备输出接口,自行开发相关的功能函数。
购买针对特定嵌入式系统的图形中间软件包。
采用源码开放的嵌入式GUI系统。
使用独立软件开发商提供的嵌入式GUI产品。
4)应用软件层
应用软件层是由基于实时系统开发的应用程序组成,用来实现对被控对象的控制功能。功能层是要面对被控对象和用户,为方面用户操作,往往需要提供一个友好的人机界面。
对于一些复杂的系统,在系统设计的初期阶段就要对系统的需求进行分析,确定系统的功能,然后将系统的功能映射到整个系统的硬件、软件和执行装置的设计过程中,称为系统的功能实现。
嵌入式编程
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
现在所说的嵌入式开发,通常都是指有嵌入式操作系统的那种,产品功能复杂了,单片机开发无法实现,需要用到嵌入式操作系统,也能体现出嵌入式操作系统的优势。嵌入式产品在航空、医疗、家电、消费电子、汽车电子、移动等众多领域都可以看到,应用领域极为广泛,所以现在嵌入式开发相当热门,并且具备非常好的发展前景!!
嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4个特点:
1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。
2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。
3)可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式微处理器。
4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。
嵌入式计算机系统同通用型计算机系统相比具有以下特点:
1.嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。
2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
3.嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。
4.嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
5.为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。
6.嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发!
9. 什么是嵌入式文件系统(定义)
定义:
在嵌入式系统中使用的文件系统称为嵌入式文件系统。由三部分组成:与嵌入式文件管理有关的软件、被管理的嵌入式文件以及实施嵌入式文件管理所需的数据结构。其中嵌入式文件是嵌入式文件系统中的核心,它是用户数据信息的存放形式,借此实现嵌入式系统的功能。
嵌入式文件功能:
提供用户对文件操作的命令。
提供用户共享文件的机制。
管理文件的存储介质。
提供文件的存取控制机制,保障文件及文件系统的安全性。
提供文件及文件系统的备份和恢复功能。
提供对文件的加密和解密功能。
嵌入式文件系统比较简单,主要提供文件存储、检索和更新等功能,一般不提供保护和加密等安全机制。它以系统调用和命令方式提供文件的各种操作,主要有:
设置、修改对文件和目录的存取权限。
提供建立、修改、改变和删除目录等服务。
提供创建、打开、读写、关闭和撤销文件等服务。
此外嵌入式文件系统还具有以下特点:
兼容性。嵌入式文件系统通常支持几种标准的文件系统,如FAT32、JFFS2、YAFFS等。
实时文件系统。除支持标准的文件系统外,为提高实时性,有些嵌入式文件系统还支持自定义的实时文件系统,这些文件系统一般采用连续的方式存储文件。
可裁剪、可配置。根据嵌入式系统的要求选择所需的文件系统,选择所需的存储介质,配置可同时打开的最大文件数等。
支持多种存储设备。嵌入式系统的外存形式多样了,嵌入式文件系统需方便的挂接不同存储设备的驱动程序,具有灵活的设备管理能力。同时根据不同外部存储器的特点,嵌入式文件系统还需要考虑其性能、寿命等因素,发挥不同外存的优势,提高存储设备的可靠性和使用寿命。
10. 嵌入式系统中RAM的作用是什么
嵌入式系统中RAM相当于PC的内存条。系统内核和其他程序都是从flash上加载到RAM中运行的。