【嵌入式系统】考试复习重点(一)概念

简介: (不知不觉又到了结课的时候,我整理了一些老师上课提到过的考试重点,希望有修同一门课的校友看到熟悉的表达都能逢考必过!不同学校对同一门课程的要求不一样哈,仅供参考)
本文首发于稀土掘金。该平台的作者 逐光而行 也是本人。

(不知不觉又到了结课的时候,我整理了一些老师上课提到过的考试重点,希望有修同一门课的校友看到熟悉的表达都能逢考必过!不同学校对同一门课程的要求不一样哈,仅供参考)
image.png

嵌入式系统定义、特点

定义

  • 从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
  • 从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统。

特点

  1. 专用、软硬件可剪裁可配置
  2. 低功耗、高可靠性、高稳定性
  3. 软件代码短小精悍
  4. 代码可固化。
  5. 实时性
  6. 弱交互性
  7. 嵌入式系统软件开发通常需要专门的开发工具和开发环境
  8. 要求开发、设计人员有较高的技能

开发环境特点、组成部分

  • 特点:在一个交叉开发平台,软件开发和运行分别在两个不同的平台上实现。
  • 交叉开发平台组成部分:编译器、连接器、调试器等。

ARM全称?如何理解?

  • 全称:Advanced RISC Machines
  • 该公司旨在设计大量先进(advanced)、高性能的RISC处理器,但不生产。

Cortex-M3内核

全新处理器,不向后兼容,最新的ARMv7架构、Thumb-2指令集

Thumb-2指令集特点

(课件里没有很书面的说明,但是老师上课的时候曾口头表示:该指令集最大的特点就是很规整(定长指令集),所以可保证执行指令用时的一致性)

为什么RISC比CISC实时性好?

  • 和指令集有关。交互由中断实现,RISC指令集短,指令规整,能保证中断 及时 进行;CISC不好说。
  • 实时性是指什么? 不是指速度快,而是指在相应时间内能对外部作出响应。

总线种类

(“种类”这个定义很模糊,可以从材质上分类,也可以从用途上分,我更倾向于认为老师当时指的是:用途)

  • 系统总线

基于AHB‐Lite总线协议的32位总线,默认映射到0x20000000-0xDFFFFFFF和0xE0100000-0xFFFFFFFF两个内存地址段,用于访问内存和外设,即SRAM,片上外设,片外RAM,片外扩展设备以及系统级存储区。

  • 外设总线

基于APB总线协议的32位总线,用于访问私有外设,默认映射到0xE0040000-0xE00FFFFF内存地址段。由于TPIU、ETM以及ROM表占用部分空间,实际可用地址区间为0xE0042000-0xE00FF000。

中断

NVIC(Nested Vectored Interrupt Controller)

【待解决】清中断标志

寄存器作用

image.png
特别注意,R13-堆栈寄存器;R14-连接寄存器;R15-程序计数器

特权指令与非特权指令相关

Cortex-M3支持两种模式和两个特权等级

image.png

为何设置不同工作模式?

  • 有利于架构的安全和健壮。

比如当用户代码出问题时,因其被禁止写特殊功能寄存器和NVIC中的寄存器,不会影响系统中其他代码的运行。从而不会影响整个系统的安全。

如何设置?

特权模式和堆栈指针均由CONTROL寄存器负责。

image.png
第0位控制是否特权,第1位控制堆栈。
只能在特权级进行CONTROL的设置

堆栈有哪几类?使用场景?

堆栈分为主堆栈和进程堆栈。

运行在线程模式的用户代码使用PSP,
而异常服务例程则使用MSP。

STM32各模块功能

这个问题有点大,打算放到下一篇文章针对具体的小模块讨论。

(关于分析题和应用题的部分,敬请期待后续的(二)和(三),今天就整理到这里了。)

相关文章
|
敏捷开发 中间件 数据处理
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(1)
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(1)
111 0
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(1)
|
程序员 项目管理 监控
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(3)
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)
81 0
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(3)
|
1月前
|
敏捷开发 监控 数据可视化
软件工程基础知识,软考选择题的重点
本文总结了软件工程的基础知识要点,包括软件生命周期、过程成熟度级别、开发模型、开发方法、软件测试、项目管理(成本估算、进度管理、风险管理)以及软件质量特性,旨在为软考选择题提供复习重点。
55 2
|
6月前
|
存储 缓存 并行计算
【软件设计师】计算机系统基础知识考点
【软件设计师】计算机系统基础知识考点
|
测试技术 Java 数据库
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(2)
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)
49 0
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(2)
|
6月前
|
安全 编译器 网络安全
【软件设计师备考 专题 】配置计算机系统及其环境的基础知识
【软件设计师备考 专题 】配置计算机系统及其环境的基础知识
114 0
2020考研公共课_基础精讲课_管理类联考综合能力 联考逻辑(读书笔记)
2020考研公共课_基础精讲课_管理类联考综合能力 联考逻辑(读书笔记)
|
6月前
|
存储 Linux 网络安全
软考网络规划师复习第五章:认识虚拟化
软考网络规划师复习第五章:认识虚拟化
|
消息中间件 存储 程序员
计算机操作系统(慕课版)第二章课后题答案
计算机操作系统(慕课版)第二章课后题答案
蓝桥杯之单片机学习(十四)——基础技能综合实训案例解析
蓝桥杯之单片机学习(十四)——基础技能综合实训案例解析
283 0
蓝桥杯之单片机学习(十四)——基础技能综合实训案例解析