当前位置: 首页 > news >正文

Cortex-M3 内核 MCU-STM32F1 构建之路:(一)单片机 MCU 的构成,包括 FLASH 和 SRAM 的区别,以及引脚类型

上一篇下一篇
SWD 和 JTAG 的区别待写

1)单片机 MCU 的构成

单片机:Single-Chip Microcomputer,单片微型计算机,是一个完整的系统级芯片,也称为 MCU(MicroController Unit)。

MCU 通常是一 个大的体系级芯片,他把 CPU、SRAM、FLASH 都集成到了该芯片中(和电脑不一样,电脑这三个都是分开的),内部的完整构成为:CPU + 存储器 + 外设控制器 + 时钟系统 + 总线矩阵 + 电源管理
MCU 芯片外部图:
在这里插入图片描述
MCU 芯片内部图(LQFP封装,不尽相同,仅作参考):
在这里插入图片描述

构成:

在这里插入图片描述

其中:

  • CPU中央处理器,比如 ARM Cortex-M3(相当于电脑的 CPU )
  • SRAM静态随机存取存储器动态存储器 DRAM )就是(相当于电脑的运行内存,不过电脑的
  • FLASH闪存,是一种非易失性存储器,其中一部分用于存储代码,一部分用于存储关键数据(相当于电脑的硬盘)
    • 下载在单片机的 flash 里的,掉电保护。就是也就是说代码
    • 特点是:非易失、可多次擦写(10万次以上)、支持块擦除,速度快、成本低,集成度高。
    • 电脑中的硬盘,本质上就是大容量的 Flash 存储器。
    • 【注意】ROM 翻译过来是只读存储器,最初的 ROM 是出厂时写入,无法修改,随着技术发展,出现了可编程的“ROM”,比如 EEPROM,而 FLASH 是 EEPROM 的改进版,支持块擦除(比字节擦除更快)。现代多称呼 ROM 是一个功能概念,指 “用来存程序、掉电不丢的存储器” ,而 Flash 是一种科技实现,是现代单片机中实现 ROM 特性的主流方式。
  • 外设控制器IO 口、USB 等外设的控制器

2)FLASH 和 SRAM 的区别

特性FLASHSRAM
存储类型非易失性存储器(断电后材料不丢失)易失性存储器(断电后数据丢失)
主要用途存放程序代码常量数据(如图片、设置)存放运行时数据(如变量、堆栈、中间结果)
读写速度读取较快,写入很慢(需先擦除再写)读写都极快,与 CPU 速度匹配
读写方式按“扇区/页”擦除,按“字/页”写入可按“字节/字”随机读写,像普通内存
寿命有限(通常 1万~10万次擦写)理论上无限次读写
成本与密度成本低,存储密度高(容量大)成本高,存储密度低(容量小)
类比硬盘或 U 盘——用于长期保存文档电脑内存条 (RAM)——程序运行时的“工作台”

方便来说就是:FLASH 是“仓库”:用来长期存放程序和资料,断电不丢,但存取慢;SRAM 是“工作台”:程序运行时把要用的东西从仓库(FLASH)搬上来,飞快处理,断电后清空。在单片机中,应用从 FLASH 启动,但运行时的变量、堆栈等必须加载到 SRAM 中才能被 CPU 高速访问。

【注意】RW-data(read write)类型的数据:一个初始值非 0 的数据,初值会存放在 FLASH 中,然后程序启动后,将 Flash 中存储的 RW-data 初始值复制到 SRAM 中对应的变量地址。之后程序运行过程中,CPU 操作的都是 SRAM 中的,可以自由读写。

3)原理图引脚类型:

  • 电源引脚;就是:标识符前以 V 开头的基本上都
  • 晶振引脚:标识符里带 OSC 的都是;
  • 复位引脚:标识符里带 RST 的都是;
  • 下载引脚:JTAG 和 SWD 相关的引脚(串口1也可以下载,可是一般都不用);
  • BOOT引脚:标识符里带 BOOT 的引脚都是(一般是2个);
  • GPIO引脚:凡是以 P 开头的引脚都是;

http://www.rkmt.cn/news/47706.html

相关文章:

  • P14480 化作彗星 题解
  • PG系列:Select查询一样会被阻塞
  • 制作自己的最小操作系统
  • .NET 10性能突破:持续优化才是质变关键
  • 植物大战僵尸经典版下载教程:重新体验最纯粹的塔防乐趣
  • 5 CSRF 攻击防范
  • 11.12记录-机器学习
  • 个人工作版(Linux)
  • 2025年耙式真空干燥机优质厂家权威推荐榜单:耙式干燥机/ZB系列耙式真空干燥机/真空耙式干燥机源头厂家精选
  • 习题解析之:输出 n 以内的所有素数
  • 2025年重庆吊装搬运公司权威推荐榜单:工厂搬迁/搬运/搬运设备源头公司精选
  • 新手入门常用的Dos命令
  • 到底是用vue2还是vue3好?
  • 避免在C#循环中使用await 改用WhenAll - 尼古拉
  • P12213 [蓝桥杯 2023 国 Python B] 最长回文前后缀 题解 字符串哈希+二分
  • 智能充气泵方案:充气泵pcba功能结构组成
  • 习题解析之:最大素数
  • mybatis-plus Wrappers相关Api
  • 塔城西林瓶灌装线厂家提供使用技巧培训助提效
  • VMware-配置静态IP地址详细教程
  • OI教练模拟器自动刷天赋脚本!
  • BM3D 图像降噪快速算法的 MATLAB 实现
  • v4l2 probe时各个device的操作顺序
  • 国泰君安基于隐语SecretFlow生产场景探索实践
  • 鲜花:m 群 bot 随机一言摘抄
  • MATLAB小波分析工具包进行时间序列的小波功率谱分析
  • 再次出山!!
  • 完整教程:Java 反射机制核心类详解:Class、Constructor、Method、Field
  • Problems
  • Java 获取 Excel 中工作表的名称 - 指南