嵌入式系统原理及应用(复习总结)

第一章 嵌入式系统概论

  • 嵌入式系统的定义

应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能可靠性成本体积功耗严格要求的专用计算机系统

可以从以下几个方面理解:

①嵌入式系统是面向用户、面向产品、面向应用的

②嵌入式系统一般指非PC系统,它包括硬件和软件两部分,硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件包括操作系统和应用程序编程。

  • 嵌入式系统的核心

嵌入式微处理器嵌入式操作系统(=硬件+操作系统)

嵌入式微处理器的特点:

①具有较强的操作系统支持能力;②具有功能很强的存储区保护能力;

③可扩展的处理器结构;④功耗很低

嵌入式操作系统的特点:

①代码精简;②实时性高;开发调试环境特殊

  • 嵌入式系统的特点:(5个)

(1)功能特定性;(2)规模可变性;(3)实时性与稳定性;(4)操作系统内核小;(5)有专门的开发工具和开发环境

  • 嵌入式系统的实时性分类

(1)软实时系统:

任务时限柔性灵活、可容忍偶然的超时错误。失败造成的后果不严重,仅仅是降低了系统的吞吐量。

(2)硬实时系统:

系统要确保在最坏情况下的服务时间,对时间响应时间的截止期限必须得到满足。

第二章 嵌入式系统的基础知识

一个完整的嵌入式系统应包含嵌入式计算机系统被控对象

  • 嵌入式系统(嵌入式计算机系统)的基本结构

(1)硬件层:以嵌入式处理器为核心。

(2)中间层:介于硬件层和软件层之间,把底层硬件和系统软件隔离,将硬件的细节屏蔽,便于操作系统调用。

(3)软件层:提供标准编程接口,降低应用程序开发难度,缩短开发周期。

(4)应用层:是整个嵌入式系统的核心,用来完成对被控对象的控制功能。

  • 微处理器的体系结构

(1)按存储器结构分类:①冯·诺依曼体系结构(程序指令存储器和数据存储器合并在一起的存储器结构);②哈佛体系结构(程序指令存储和数据存储分开)

(2)按指令类型分类:①复杂指令集(CISC;②精简指令集(RISC

  • 复杂指令集(CISC)特点

(1)指令格式不固定、长度不一致,操作数可多可少;

(2)寻址方式复杂多样;

(3)采用微程序结构,执行每条指令均需完成一个微指令序列;

(4)每条指令需要若干个机器周期才能完成。

  • 精简指令集(RISC)特点

(1)指令数目少;

(2)执行时间短;

(3)每条指令都采用标准字长;

(4)便于实现哈佛结构和流水线作业。

  • 复杂指令集(CISC)与精简指令集(RISC)的区别

(1)从硬件角度看,CISC处理的是不等长指令集。RISC处理的是等长精简指令集,可并行处理。CPU执行RISC时速度更快且性能稳定;

(2)从软件角度看,CISC运行的是我们熟悉的DOS,Windows操作系统,且拥有大量应用程序。RISC在运行这些系统时需翻译,且速度慢。

  • 提高CPU性能的方法

(1)流水线技术

取指、译码、执行、存储,可实现指令并行处理 

(2)超标量执行技术

设置多个平行流水线处理单元

(3)高速缓存技术

是存储器子系统,复制了频繁使用的数据,利于CPU快速访问

  • 处理器信息存储的字节顺序

(1)大端模式

字数据的高位字节存储在低地址中,字数据的低位字节则存储在高地址中。符合人类正常思维。

(2)小端模式: 

字数据的高位字节存储在高地址中,字数据的低位字节则存储在低地址中。利于计算机处理。

第三章 嵌入式系统开发基础

  • 传统的嵌入式系统设计过程(次要)

①需求分析;②软硬件分别设计开发;③软硬件集成;④集成测试;⑤若正确则结束,否则继续;⑥若错误则对软硬件分别验证和修改;⑦再次集成并测试

  • 软硬件协同设计过程6个)(主要)

需求分析;②功能划分;③软硬件系统协同设计;④软硬件实现;⑤软件仿真、硬件测试;⑥软硬件协同调试和验证

  • 协同设计与传统设计相比的显著区别(次要)

(1)描述硬件和软件使用统一的表示形式;

(2)硬件、软件划分可以选择多种方案;

(3)具有协同设计协同测试协同验证特点,充分考虑了软硬件关系。

第四章 ARM-Cortex-M3处理器体系结构

  • Cortex-M3的内核结构

32处理器内核,采用哈佛结构,拥有独立的指令总线和数据总线,可并行访问,地址统一分配编址。使用一个3级流水线取指、译码和执行

  • Cortex-M3的寄存器组织

(1)通用寄存器组(16个)

(2)特殊功能寄存器

程序状态寄存器组(PSRs或xPSR):

程序状态寄存器在其内部又被分为三个子状态寄存器:应用程序PSR(APSR)、中断号PSR(IPSR)、执行PSR(EPSR)

中断屏蔽寄存器组(PRIMASK,FAULTMASK,BASEPRI):

用于控制异常的使能和除能,特权级下才允许访问

控制寄存器(CONTROL):

用于特权模式选择和堆栈指针选择

  •  操作模式和特权级别

两种操作模式分别为:处理者模式handler mode)和线程模式(thread mode)。

 

说明:

①线程模式下,既可以使用特权级,也可以使用用户级;②handler模式总是特权级的;③复位后,处理器进入特权级线程模式。

第五章 嵌入式系统常用外设驱动编程实例

  • 基于中断的键盘应用实例

(1)矩阵键盘的扫描原理

①按键按下,列线由高电平变为低电平,判断出在哪一列;

②将行线逐行置为低电平,剩余行线置为高电平;

③读取列线的状态,直到列线中出现低电平,判断出在哪一行;

④将行线和列线状态装入寄存器进行译码,配合去抖,实现扫描。

第六章 嵌入式操作系统基础知识

  • 嵌入式操作系统的特点

①实时性;②小内核;③可裁剪、可配置;④易移植;⑤高可靠性;⑥低功耗

  • 嵌入式操作系统的基本概念

(1)代码的临界段

代码的临界段也称为临界区(通过关闭中断把必须是“原子的”以保证系统正常运转的指令的集合定义为“临界区”),指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打入。为确保临界段代码的执行,在进入临界段之前要关中断,临界段代码执行完后立即开中断。

(2)资源:任何为任务所占用的实体都可称为资源

(3)共享资源:可以被一个以上任务使用的资源

(4)任务及任务状态(UCOS-Ⅱ操作系统中程序执行流程)

任务通常为线程和进程的统称,是内核调度的基本单元。

 (5)优先级:

①静态优先级;②动态优先级

(6)任务切换及调度

不可剥夺型内核与非占先式调度

响应中断快,且不需要使用信号量保护共享数据,但响应时间不确定

可剥夺型内核与占先式调度

系统响应时间最优化且可知,UCOS-Ⅱ属于可剥夺型内核

  • 任务间的关系

相互独立;②互斥;③同步;④通信

  • 常用的通信机制

信号量;②邮箱;③消息队列

第七章 嵌入式实时操作系统UCOS-

  • UCOS-Ⅱ操作系统的特点:(次要)

①公开源代码;②可移植性;③可固化;④可裁剪性;⑤占先式;⑥多任务;

⑦可确定性;⑧实用性和可靠性

  • 就绪表: 

例:已知某系统处于就绪的任务优先级为5,6,8,14,当前任务(运行)为9。系统支持16个任务。①计算OSRdyGrp和OSRdyTbl[2]数组的取值;②OSUnMapTbl[0x81]如何确定?

  •  UCOS-Ⅱ的事件机制

将通信、同步、互斥相关的信号看做事件,采用事件和事件控制块ECB来管理任务间的通信。

OSEventType:定义事件的具体类型;

OSEventCnt:当事件是信号量时,用于信号量的计数器;

OSEventPtr指针:当事件是邮箱或消息队列时才使用;

OSEventTbl[ ]和OSEventGrp:记录系统中处于就绪状态的任务

  • Keil5下载前的配置过程

(1)连接好DAP仿真器,并且供电;

(2)用Keil5打开例程工程文件,设置DAP仿真器所需的使用条件:

①选择仿真器类型,点击“Debug”选择使用DAP;

②点击“Settings”,选择SW模式下载;

③点击“Flash Download”,点击“Add”添加开发板对应的STM32的型号;

(3)点击Keil左上角“Download”即可下载。

  • 信号量

(1)释放信号量服务:

(2)使用信号量闪烁LED-信号量实现共享资源访问:

补充:

  • 21
    点赞
  • 323
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

destiny579

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值