STM32F103 芯片是基于 ARM Cortex-M3 内核的微控制器,它集成了多种类型的存储器,每种存储器都有其特定的作用和存储对象。以下是关于 STM32F103 中 Flash、ROM 和 SRAM 的详细介绍:
1. Flash Memory (闪存)
- 作用:Flash 好坏易失性存储器(Non-volatile Memory),即使在断电后也能保持数据。
- 存储对象:
- 程序代码:Flash 主要用于存放用户编写的固件或应用程序代码。当 MCU 上电时,从 Flash 加载并执行这些代码。
- 常量数据:如字符串表、查找表等不会更改的数据也可以存储在这里。
- 设置参数:某些需要长期保存但又不常常改变的数据,比如校准值、用户设置等,可以存储在 Flash 中。
- 特性:
- 支持读取、编程(写入)和擦除操作。
- 编程和擦除速度相对较慢,且有肯定的寿命限制(擦写次数有限)。
- 范例容量范围为 16KB 到 512KB(具体取决于型号)。
2. ROM (只读存储器)
- 作用:ROM 也是一种非易失性存储器,但在 STM32F103 系列中通常指的是内部预编程的存储地区,即包罗芯片厂商提供的库函数或其他固定功能。
- 存储对象:
- 启动代码:一些根本的启动引导代码可能已经固化在 ROM 中。
- 标准外设库:部门器件可能带有内置的标准外设驱动库,帮助开辟者快速上手开辟工作。
- 特性:
- 不可改写,内容由制造商在出厂前烧录好。
- 由于现代大多数 STM32F103 型号不再配备独立的 ROM 地区,而是完全依靠于用户可编程的 Flash 来实现类似的功能,因此这里的描述适用于早期大概特定版本的 STM32F103。
3. SRAM (静态随机存取存储器)
- 作用:SRAM 是易失性存储器(Volatile Memory),仅在供电期间保留数据。它是 CPU 举行高速数据交换的地方。
- 存储对象:
- 变量:全局变量、局部变量、堆栈指针等运行时动态生成的数据都存储在 SRAM 中。
- 缓冲区:用于临时存储待处理的数据块,例如通讯协议中的接收/发送缓冲区。
- 堆:假如启用了动态内存分配,则用于管理动态分配的内存块。
- 特性:
- 高速访问,适合频繁读写操作。
- 断电后数据丢失,因此不适合长期存储。
- 范例容量范围为 6KB 到 64KB(具体取决于型号)。
总结
- Flash 用于存放程序代码和长期化的数据。
- ROM 在 STM32F103 上可能不存在作为独立的存储单元,但假如存在的话,它用来存放固定的启动代码或库函数。
- SRAM 提供快速的数据访问空间,用于存储运行时的变量、堆栈和其他临时数据。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |