一款STM32F103ZET6是72Mhz,64kRAM,512kROM为例进行简要分析其MCU工作原理

1 分清几个概念

1.1RAM可读写静态储存器

 平常所说的DDR就是RAM的一种,用于CPU直接交换数据

1.2ROM只可读静态存储器

 平常说的flash是ROM的一种,存储程序,const修饰等不变量NAND指NAND flasH

2 单片机架构组成

2.1 51单片机的架构

2.1.1 51单片机历史来源

51内核是上个世纪70年代Intel公司设计的,速度只有12M,外设是IC厂商(STC)在内核的基础上添加的,不同的IC厂商会在内核上添加不同的外设,从而设计出各具特色的单片机。这里Intel属于IP核厂商,STC属于IC厂商。我们后面要讲的STM32也一样,ARM属于IP核厂商,ARM给ST授权,ST公司在Cortex-M3内核的基础上设计出STM32单片机。

图1. 51单片机架构组成

2.1.2 51单片机内核

51单片机由一个IP核和片上外设组成,IP核(内核)就是上图中的CPU,片上外设就是上图中的:时钟电路、SFR和RAM、ROM、定时/计数器、并行I/O口、串行I/O口、中断系统。IP核跟外设之间由系统总线连接,且是8bit的,速度有限。
51内核是上个世纪70年代Intel公司设计的,速度只有12M,外设是IC厂商(STC)在内核的基础上添加的,不同的IC厂商会在内核上添加不同的外设,从而设计出各具特色的单片机。这里Intel属于IP核厂商,STC属于IC厂商。我们后面要讲的STM32也一样,ARM属于IP核厂商,ARM给ST授权,ST公司在Cortex-M3内核的基础上设计出STM32单片机。

2.1.3 51单片机外设

我们在学习51的时候,关于内核部分接触的比较少,使用的最多的是片上外设,我们在编程的时候操作的也就是这些外设。
编程的时候操作的寄存器位于SFR和RAM这个部分,其中SFR(特殊功能寄存器)占有 128字节(实际上只用了 26 个字节,只有 26 个寄存器,其他都属于保留区),RAM占有 128 字节,我们在程序中定义的变量就是放在RAM中。其中SFR和RAM在地址上是重合的,都是在80~FF地址区间,但在物理区间上是分开的,所以51的RAM是有256个字节。
编写好的程序是烧写到ROM区。剩下的外设都是我们非常熟悉的IO口,串口、定时器、中断这几个外设。

2.1.4 51单片机CPU架构


51单片机内部有一个8位的CPU,包含运算器,控制器及若干寄存器等

2.2 STM32单片机架构

图2. stm32单片机架构组成

2.2.1内核

在系统结构上,STM32和51都属于单片机,都是由内核和片上外设组成。只是STM32使用的Cortex-M3内核比51复杂得多,优秀得多,支持的外设也比51多得多,同时总线宽度也上升到32bit,无论速度、功耗、外设都强于51。

从结构框图上看,对比51内核只有一种总线,取指和取数共用。
Cortex-M3内部有若干个总线接口,以使CM3能同时取址和访内(访问内存),它们是:
指令存储区总线(两条)、系统总线、私有外设总线。有两条代码存储区总线负责对代码存储区(即FLASH外设)的访问,分别是I-Code总线和D-Code总线。

I-Code用于取指,D-Code用于查表等操作,它们按最佳执行速度进行优化。

系统总线(System)用于访问内存和外设,覆盖的区域包括SRAM,片上外设,片外RAM,片外扩展设备,以及系统级存储区的部分空间。

私有外设总线负责一部分私有外设的访问,主要就是访问调试组件。它们也在系统级存储区。

还有一个DMA总线,从字面上看,DMA是data memory access的意思,是一种连接内核和外设的桥梁,它可以访问外设、内存,传输不受CPU的控制,并且是双向通信。简而言之,这个家伙就是一个速度很快的且不受老大控制的数据搬运工,这个在51里面是没有的。

2.2.2外设

从结构框图上看, STM32比51的外设多得多,51有的串口、定时器、IO口等外设 STM32 都有。STM32还多了很多特色外设:如FSMC、SDIO、SPI、I2C等,这些外设按照速度的不同,分别挂载到AHB、APB2、APB1这三条总线上。

(随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大。数字IC从基于时序驱动的设计方法,发展到基于IP核复用的设计方法,并在SOC设计中得到了广泛应用。在基于IP核复用的SoC(System on Chip的缩写,称为系统级芯片,也有称片上系统)设计中,片上总线设计是最关键的问题。为此,业界出现了很多片上总线标准。其中,由ARM公司推出的AMBA片上总线受到了广大IP开发商和SoC系统集成者的青睐,已成为一种流行的工业标准片上结构。AMBA规范主要包括了AHB(Advanced High performance Bus)系统总线和APB(Advanced Peripheral Bus)外围总线。)

3由单片机MCU联想到PC

3.1 cpu:

cpu是central process unit的简称,是计算机的核心处理器。cpu的作用是运行机器语言指令。高级语言和汇编语言程序被编译成cpu能理解的机器语言(二级制代码)后,存入到内存中,cpu就会从内存中读取并执行这些指令序列,完成程序功能。
包括控制器、寄存器、运算器、时钟四个部分组成。
运算器是用来进行逻辑计算的,
寄存器是临时存放中间数据以及指令的;包括程序计数器、指令寄存器、数据寄存器、地址寄存器等。 寄存器是汇编语言所研究的对象,汇编语言通过对寄存器的控制(写入,读出,加),实现功能。程序计数器和内存的关系:程序计数器记录了当前执行的指令在内存中年存储的位置。
控制器是用来控制何时将内存的数据及指令读入寄存器,何时将寄存器中的值输出到内存。
时钟是同步各个部件之间的步调;

3.2 指令:

指令是控制cpu按照一定功能运算的机器码。用于CPU控制硬件
指令通过控制cpu的输出和输入位置,可以让cpu寄存器向I/O端口寄存器发送数据,外围设备通过与I/O寄存器交换数据,从而达到控制外围设备的效果

3.3、操作系统的内核

操作系统内核(就是操作系统最核心最底层的一部分代码(基础代码))
内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。
现在主流的操作系统内核有四个:Unix、Linux、Windows、OS/2
其他很多各种各样以及各个版本的系统都是建立在这四种内核的基础上的。

图3. CPU工作过程

参考文章链接:https://blog.csdn.net/SUR0608/article/details/104142804

以Crotex M3为例讲解stm32芯片内部原理相关推荐

  1. STM32芯片内部温度监控调试记录

    1.前言 一般用MCU开发产品时 MCU设备运行状态与之温度有一定的关联 像我们常用的STM32系列的单片机 内部都自带一个温度测试功能 可以测试芯片当前的温度 也可以用它来测量芯片周围的温度 今天通 ...

  2. (超详细)STM32芯片Flash读写操作讲解和代码(寄存器版本)

    关于Flash,官方的解释为:Flash为32位宽的存储单元,可用于存储代码和数据常量.Flash模块位于微控制器内存映射中的特定基址--.而对于我们来说,只要知道Flash闪存区是一个掉电后也不会清 ...

  3. STM32 FSMC/FMC原理保姆级讲解(一)

    FSMC通俗讲解 FSMC 框图 FMC引脚说明 FMC地址映射 FSMC不同位宽操作 FSMC寄存器 FSMC时钟 FSMC 四种模式 FSMC参数设置 FSMC 控制异步 NOR FLASH 的时 ...

  4. stm32 工业按键检测_基于STM32芯片的能谱仪设计

    随着对天然辐射场中低能量γ谱学及其应用的深入研究,γ能谱仪不仅在固体矿产勘探.油气普查.水文和工程地质调查等工业生产及科学研究方面,甚至在民用的环境辐射场调查.建材与建筑装饰材料放射性检测方面,都得到 ...

  5. STM32 FSMC/FMC原理保姆级讲解(二)

    上一话我们说了FSMC的基本原理及控制逻辑,这一讲我们来说下FSMC如何通过HAL库来进行配置,及具体参数 STM32 FSMC/FMC原理保姆级讲解(一) FSMC的初始化 在使用SRAM之前,我们 ...

  6. STM32芯片烧录的三种方式介绍,串口、STM32 ST-LINK Utility以及STM32CubeProgrammer

    STM32芯片烧录的三种方式介绍,串口.STM32 ST-LINK Utility以及STM32CubeProgrammer 1 概述 1.1资源概述 1.2 STM32串口烧录方式 2.KEIL软件 ...

  7. STM32芯片写保护/解除写保护的方法

    一. 写保护 1. 目的   将Flash设置为写保护的目的,是为了防止其他人通过J-Link,ULINK2等仿真器,将Flash中的程序读取出来(设想一下,你辛辛苦苦研发的产品,别人通过仿真器将程序 ...

  8. 国产替代STM32芯片MCU降本保供,数算我知道的国产车规级单片机AEC-Q100车规级汽车级认证芯片

    前言: 随着汽车行业进入智能化和新能源时代,过去由瑞萨.英飞凌.恩智浦.ST等芯片巨头所垄断的汽车级芯片市场竞争格局被打破,国产MCU中科芯.先楫.中微爱芯,GD.复旦微电子.航顺.中微.芯海科技等相 ...

  9. STM32芯片解除写保护的方法(亲测有效)

    STM32芯片解除写保护的方法(亲测有效) 前言 方法 一.用J-Flash来解除写保护 二.用FLYMCU来解除写保护 总结 前言 最近项目上用到STM32系列的单片机,因去年在淘宝上看到芯片便宜, ...

最新文章

  1. python使用matplotlib对比多个模型的在训练集上的效果并使用柱状图进行可视化:基于交叉验证的性能均值(mean)和标准差(std)进行可视化分析、使用标准差信息添加误差区间条yerr
  2. linux操作python
  3. hibernate hql语句 投影查询的三种方式
  4. 技术系列课回顾 | 网易云信线上万人连麦技术大揭秘
  5. 精确计算代码执行时间
  6. Android LocalBroadcastManager 的使用总结
  7. day36 03-Hibernate检索方式:排序、参数绑定、投影查询
  8. 【HDOJ】1597 find the nth digit
  9. servlet下载文件(注意文件名字必须是英文)
  10. 四叶草剧场服务器维修价格,四叶草剧场不合理报酬机制是什么-不合理报酬机制和收益详解-Appfound...
  11. 二十八种未授权访问漏洞合集(暂时最全)
  12. 示波器截取的波形图和数据CSV文件表,导入到MATLAB的simulink模型进行FFT分析,简单实用教程与示例
  13. 3dsmax软件和maya软件各自的优劣势是什么?
  14. QQGame找茬游戏辅助工具
  15. javaweb之msql学习笔记
  16. 在阿里云ECS服务器上使用NextCloud+Aria2+AriaNg部署下载站
  17. 用Python完成 “Excel合并(拆分)” 的各种自动化操作!
  18. crt和zoc7的快捷键记录
  19. DAY04 记录那些事
  20. 开源优测-积微速成计划第二次总结

热门文章

  1. Windows-平方|立方的打印!
  2. Ubuntu 16.04 桌面字体太小让它大大大
  3. 机翻福音-多种语言平行语料库资源
  4. 专业办公套件WPS Office 2020 for Mac
  5. http/https/浏览器
  6. Redis - Redis分布式算法原理——Hash一致性理解 Hash倾斜性解决方案
  7. C语言递归解决水洼问题
  8. 线性回归--公式推导
  9. 路由器连接上但上不了网原因及解决方法
  10. 快收下这枚 Scrapy Requests 口味的爬虫“回魂丹”