恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

MCU基础

  • 首页
  • 资讯中心
  • /
  • MCU基础

相关资讯

AI文献综述工具:提升研究效率与质量 2026/8/2 18:44:11
BetterNCM Installer:网易云音乐插件管理终极解决方案 2026/8/2 18:44:12
音视频AI工具落地指南:从环境配置到批量处理实战 2026/8/2 18:44:12

最新资讯

ESP8266与ESP32选型指南:从Arduino到ESP-IDF的物联网开发实战
Arduino按键去抖与多态响应:OneButton库实战指南
Android多渠道打包实战:Gradle配置、自动化脚本与性能优化
ARM寄存器组织详解:从ARMv7到AArch64的架构演进与实战应用
大模型岗位面试指南:核心秘密与实战策略
Windows系统文件WaaSAssessment.dll丢失找不到问题解决

今日推荐

OpenModScan:免费跨平台 Modbus 主站调试工具,让现场通讯验证一键搞定
WechatHook 终极指南:5大核心能力详解,3分钟看懂微信自动化
如何在ThinkPad X390上安装macOS:OpenCore EFI完整指南

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

MCU基础

发布时间:2026/8/24 4:17:56
MCU基础 目录1.CPU的基本结构和运行机制1.1 ALU1.2 Register Files1.3 Control Unit2.堆栈的概念3.ARM体系结构3.1 ARM的发展过程3.2 ARM Cortex M Register FilesProgrammers Model4.中断4.1 中断的概念和机制4.2 中断的允许和禁止、现场保护4.3 中断子程序和函数调用的区别4.4 中断向量表4.5 中断优先级和中断嵌套5.复位、时钟、存储器、总线5.1 复位5.2 时钟5.3 存储器5.4 总线、外设6.小结1.CPU的基本结构和运行机制一个基本的MCU的结构图如下所示。主要由处理器CPU存储器Memory总线Bus和外设Peripheral组成。CPU主要包含逻辑运算单元ALU寄存器组register files控制单元control unit有些CPU还有浮点运算单元MMUCache Management。一个典型的CPU如下图所示。1.1 ALUALU由四个要素组成操作数、运算、运算结果和标志位。运算结果和标志位往哪里存呢寄存器。存放标志位的寄存器有个特殊的名字叫程序状态寄存器Program Status RegisterPSR有的叫条件码寄存器Condition Code RegisterCCR。PSR的每一位称为状态位且代表的含义不同比如溢出标志位等。每执行一条指令相应的状态位都会进行更新。每条指令影响的状态位都是不一样的需要查芯片手册。1.2 Register Files寄存器用于临时保存和获取操作数任何CPU都包含若干个通用/专用寄存器寄存器的数目和宽度是衡量CPU的重要指标。ALU的操作数和运算结果可以来自寄存器或者数据存储器对个人PC而言是内存或者硬盘对MCU而言是CPU以外的存储部分1.3 Control Unit那是什么让上面的一切自动的运行呢-Control Unit。控制单元的主要作用1、指令解析分析该指令需要执行何种操作2、数据流向确定该指令用到的操作数来源和产生结果的去向。简言之就是控制单元将一条指令解析为对ALURegisterMemory的控制来明确做什么运算数据从哪来到哪去。那又一个问题来了控制单元上的指令是从哪里来的程序是指令的有序集合指令和数据一样也是保存在存储器当中这些指令序列“依次”进入CPU执行。下一条待执行的指令地址保存在PC寄存器Program Counter程序计数器中。如果发生函数调用或者中断返回的地址从何而来呢这就要引出另一个概念堆栈。2.堆栈的概念如何保存返回地址呢一开始想到的办法就是设计返回地址寄存器但是如果发生嵌套调用的话会出现寄存器不够用。于是设计了一种机制栈能够保持数据的顺序后入先出覆盖并不是销毁。那栈都有哪些用途呢堆栈指针寄存器Stack PointSP堆栈溢出。有时候电脑出现的蓝屏可能是堆栈溢出或者是越界访问PC指向了存储器一段莫名其妙的空间并试图取出值来运行程序跑飞了。对操作系统而言可能认为是越界访问嵌入式系统可能认为是非法指令无法解释程序就复位了。学习C语言感觉不到堆栈因为C语言的函数调用参数传递等都是编译器帮你隐性地使用了堆栈。用会骗语言做中断编程时会接触到这个概念。写道这里再回头看看CPU的结构自己在脑子里过一遍基本上就能知道一段程序是怎么被CPU执行的了CPU一直在发展从8位到16位、32位ARM Cortex MPowerPCColdFire、64位时钟的频率也越来越高从Hz到MHz、GHz频率越高执行每条指令的时间就越短。学习CPU重点关注两点1、CPU由哪些寄存器是编程的对象2、ALU对应的指令集即有哪些指令代表的含义是什么3.ARM体系结构3.1 ARM的发展过程ARM公司只做CPU设计采用出售IP的方式运营半导体制造商无需自己设计CPU。3.2 ARM Cortex M Register FilesProgrammers Model4.中断4.1 中断的概念和机制1、主程序中设置号中断发生的条件Gobal IEIF2、按下键电路以信号的形式通知CPU中断发生了3、CPU自动调用该中断服务子程序。需要说明的是中断总开关打开后它可能在任意一个时间点上调用。4.2 中断的允许和禁止、现场保护现场保护考虑到效率压有限个寄存器入栈如果编程人员用到更多可以自己手动压栈。4.3 中断子程序和函数调用的区别函数调用返回地址中断子程序返回地址和之前压入栈的寄存器的值。4.4 中断向量表当一个中断发生时CPU如何找到中断服务子程序并执行呢--中断向量表。4.5 中断优先级和中断嵌套5.复位、时钟、存储器、总线5.1 复位5.2 时钟5.3 存储器1G(B) 1024M(B)1M 1024KB1KB1024B1Byte 8bit5.4 总线、外设6.小结MCU上电过程给SP指针赋值将开发工具生成的入口函数代码第一条指令的地址给PC最后一条指令Jump to main函数。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号