嵌入式系统知识大总结

嵌入式系统基础算法

 

一、嵌入式系统的定义安全

(1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。网络

(2)嵌入式系统发展的4个阶段:无操做系统阶段、简单操做系统阶段、实时操做系统阶段、面向Internet阶段。异步

(3)知识产权核(IP核):具备知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。性能

(4)IP核模块有行为、结构和物理3级不一样程度的设计,对应描述功能行为的不一样能够分为三类:软核、固核、硬核。学习

 

二、嵌入式系统的组成操作系统

包含:硬件层、中间层、系统软件层和应用软件层设计

(1)硬件层:嵌入式微处理器、存储器、通用设备接口和I/O接口。接口

嵌入式核心模块=微处理器+电源电路+时钟电路+存储器内存

Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。它的主要目标是减少存储器给微处理器内核形成的存储器访问瓶颈,使处理速度更快。

(2)中间层(也称为硬件抽象层HAL或者板级支持包BSP).

它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体状况,根据BSP层提供的接口开发便可。

BSP有两个特色:硬件相关性和操做系统相关性。

设计一个完整的BSP须要完成两部分工做:

A、 嵌入式系统的硬件初始化和BSP功能。

片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工做状态。

板级初始化:包含软硬件两部分在内的初始化过程,嵌入式物联网智能硬件等系统学习企鹅意义气呜呜吧久零就易,为随后的系统初始化和应用程序创建硬件和软件的运行环境。

系统级初始化:以软件为主的初始化过程,进行操做系统的初始化。

B、 设计硬件相关的设备驱动。

(3)系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。

RTOS是嵌入式应用软件的基础和开发平台。

(4)应用软件:由基于实时系统开发的应用程序组成。

 

三、实时系统

(1)定义:能在指定或肯定的时间内完成系统功能和对外部或内部、同步或异步时间作出响应的系统。

(2)区别:通用系统通常追求的是系统的平均响应时间和用户的使用方便;而实时系统主要考虑的是在最坏状况下的系统行为。

(3)特色:时间约束性、可预测性、可靠性、与外部环境的交互性。

(4)硬实时(强实时):指应用的时间需求应可以获得彻底知足,不然就形成重大安全事故,甚至形成重大的生命财产损失和生态破坏,如:航天、军事。

(5)软实时(弱实时):指某些应用虽然提出了时间的要求,但实时任务偶尔违反这种需求对系统运行及环境不会形成严重影响,如:监控系统、实时信息采集系统。

(6)任务的约束包括:时间约束、资源约束、执行顺序约束和性能约束。

 

四、实时系统的调度

(1)调度:给定一组实时任务和系统资源,肯定每一个任务什么时候何地执行的整个过程。

(2)抢占式调度:一般是优先级驱动的调度,如uCOS。优势是实时性好、反应快,调度算法相对简单,能够保证高优先级任务的时间约束;缺点是上下文切换多。

(3)非抢占式调度:一般是按时间片分配的调度,不容许任务在执行期间被中断,任务一旦占用处理器就必须执行完毕或自愿放弃,如WinCE。优势是上下文切换少;缺点是处理器有效资源利用率低,可调度性很差。

(4)静态表驱动策略:系统在运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表,指明各任务的起始运行时刻及运行时间。

(5)优先级驱动策略:按照任务优先级的高低肯定任务的执行顺序。

(6)实时任务分类:周期任务、偶发任务、非周期任务。

(7)实时系统的通用结构模型:数据采集任务实现传感器数据的采集,数据处理任务处理采集的数据、并将加工后的数据送到执行机构管理任务控制机构执行。

 

五、嵌入式微处理器体系结构

(1)冯诺依曼结构:程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不一样物理位置,采用单一的地址及数据总线,程序和数据的宽度相同。例如:808六、ARM七、MIPS…

(2)哈佛结构:程序和数据是两个相互独立的存储器,每一个存储器独立编址、独立访问,是一种将程序存储和数据存储分开的存储器结构。例如:AVR、ARM九、ARM10…

(3)CISC与RISC的特色比较。

计算机执行程序所须要的时间P能够用下面公式计算:

P=I×CPI×T

I:高级语言程序编译后在机器上运行的指令数。

CPI:为执行每条指令所须要的平均周期数。

T:每一个机器周期的时间。

(4)流水线的思想:在CPU中把一条指令的串行执行过程变为若干指令的子过程在CPU中重叠执行。

(5)流水线的指标:

吞吐率:单位时间里流水线处理机流出的结果数。若是流水线的子过程所用时间不同长,则吞吐率应为最长子过程的倒数。

创建时间:流水线开始工做到达最大吞吐率的时间。若m个子过程所用时间同样,均为t,则创建时间T=mt。

(6)信息存储的字节顺序

A、存储器单位:字节(8位)

B、字长决定了微处理器的寻址能力,即虚拟地址空间的大小。

C、32位微处理器的虚拟地址空间位232,即4GB。

D、小端字节顺序:低字节在内存低地址处,高字节在内存高地址处。

E、大端字节顺序:高字节在内存低地址处,低字节在内存高地址处。

F、网络设备的存储顺序问题取决于OSI模型底层中的数据链路层。