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

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

(不知不觉又到了结课的时候,我整理了一些老师上课提到过的考试重点,希望有修同一门课的校友看到熟悉的表达都能逢考必过!不同学校对同一门课程的要求不一样哈,仅供参考)
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各模块功能

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

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

相关文章
|
2月前
|
数据采集 数据可视化 数据挖掘
基于python大数据的nba球员可视化分析系统
本课题围绕NBA球员数据分析与可视化展开,探讨如何利用大数据与可视化技术提升篮球运动的表现评估与决策支持能力。研究涵盖数据采集、处理与可视化呈现,结合SQLite、Flask、Echarts等技术构建分析系统,助力球队训练、战术制定及球迷观赛体验提升。
|
开发工具 git C++
『实用教程』使用Visual Studio自带的Git管理回滚代码版本
使用Visual Studio自带的Git管理回滚代码版本
2242 0
『实用教程』使用Visual Studio自带的Git管理回滚代码版本
|
9月前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【注意力机制篇】| 2023 MCAttention 多尺度交叉轴注意力 获取多尺度特征和全局上下文信息
RT-DETR改进策略【注意力机制篇】| 2023 MCAttention 多尺度交叉轴注意力 获取多尺度特征和全局上下文信息
211 2
RT-DETR改进策略【注意力机制篇】| 2023 MCAttention 多尺度交叉轴注意力 获取多尺度特征和全局上下文信息
|
数据挖掘 UED
CRM系统用户满意度调查:哪些品牌最受欢迎
随着国内CRM市场的快速发展,众多厂商推出了各具特色的产品。为了帮助企业选择最适合的解决方案,我们进行了用户满意度调查,涵盖系统的功能、易用性、性价比、支持服务等多个维度。调查显示,纷享销客、Zoho CRM、Salesforce、HubSpot CRM等品牌表现突出,赢得了用户的广泛认可。这些品牌凭借强大的功能、灵活的定制化选项和优秀的用户体验,满足了不同规模和行业企业的需求。
|
机器学习/深度学习 人工智能 监控
如何利用AI实现银行存量客户的营销?
金融行业是当今大数据、人工智能应用最广、最深的领域之一。随着数据仓库和数据科学的发展,以银行为代表的金融行业企业拥有了海量数据,应运而生了金融领域的大数据分析、智能营销等大数据和人工智能的应用。其中针对存量客户的智能营销成为银行业的一项重要策略。
|
JSON API 开发工具
gitlab如何实现批量clone仓库
在Windows环境下,通过GitLab Group ID获取项目URL的步骤概要: 1. 使用API `http://gitlab域名/api/v4/groups/你的group id` 获取JSON,提取`http_url_to_repo`。 2. 在Sublime中处理JSON,用快捷键选中并提取所有`http_url_to_repo`值。 3. 保存到h.txt,去除其他信息,仅保留URL。 4. 创建e.bat文件,内容为克隆h.txt中所有URL的批处理命令。 5. 放置h.txt和e.bat在同一文件夹,运行e.bat批量克隆仓库。URL含凭证,便于后续操作。
618 8
|
达摩院 BI 索引
切割问题【数学规划的应用(含代码)】阿里达摩院MindOpt
本文主要讲述了使用MindOpt工具对切割问题进行优化的过程与实践。切割问题是指从一维原材料(如木材、钢材等)中切割出特定长度的零件以满足不同需求,同时尽可能减少浪费的成本。文章通过实例详细介绍了如何使用MindOpt云上建模求解平台及其配套的MindOpt APL建模语言来解决此类问题,包括数学建模、代码实现、求解过程及结果分析等内容。此外,还讨论了一维切割问题的应用场景,并对其进行了扩展,探讨了更复杂的二维和三维切割问题。通过本文的学习,读者能够掌握利用MindOpt工具解决实际切割问题的方法和技术。
|
自然语言处理 监控 测试技术
1688代采集运系统搭建:实现采购订单处理自动化
1688代采集运系统为海外买家及跨境电商提供一站式服务, 包括商品采集、订单管理、国内集货与国际运输。系统简化采购流程, 提高效率, 并支持多平台与多语言。通过API接口实时获取商品信息, 自动处理订单与物流, 支持多种支付方式, 便于全球用户使用。系统搭建需注册认证并接入API, 进行测试优化。此系统助力国货全球化。
|
Oracle 关系型数据库 数据库连接
初步了解Oracle DG
初步了解Oracle DG
689 0
|
存储 芯片