STM32F103c8t6的内存空间

STM32F103C8T6 是一款基于 ARM Cortex-M3 内核的微控制器,其内存空间配置如下:

1. Flash 存储器(程序存储器)

  • 大小:64 KB(64 * 1024 字节)
  • 地址范围:0x0800 0000 - 0x0800 FFFF

Flash 存储器主要用于存放用户程序和常量数据。启动时,MCU 会从 Flash 的起始地址(0x0800 0000)开始执行用户代码。

2. SRAM(数据存储器)

  • 大小:20 KB
  • 地址范围:0x2000 0000 - 0x2000 4FFF

SRAM 用于存储程序运行时的动态数据,包括全局变量、栈和堆。在 STM32F103C8T6 上,有 20 KB 的 SRAM 可用,位于 0x2000 0000 至 0x2000 4FFF。

3. 外设寄存器地址空间

  • 地址范围:0x4000 0000 - 0x5006 03FF

外设寄存器用于控制和配置 STM32F103C8T6 的各种外设模块(如 GPIO、USART、ADC 等)。每个外设模块通常映射到固定的寄存器地址空间中,用户可以通过这些地址配置外设。

4. 系统内存(Bootloader 区域)

  • 大小:不固定,一般少于 32 KB
  • 地址范围:0x1FFF F000 - 0x1FFF F7FF

系统内存包含 STM32 自带的 Bootloader 程序,用于在上电复位时通过串口、USB、CAN 或其他接口加载程序代码。这段代码不可更改,主要用于芯片的固件升级或程序下载。

5. Cortex-M3 内部的 PPB(私有外围总线)空间

  • 地址范围:0xE000 0000 - 0xE00F FFFF

该空间包含系统控制寄存器、调试支持寄存器和 NVIC(嵌套向量中断控制器)等,用于芯片的中断控制和调试支持。

内存分布图概述

内存区域大小地址范围用途
Flash64 KB0x0800 0000 - 0x0800 FFFF程序存储
SRAM20 KB0x2000 0000 - 0x2000 4FFF数据存储
系统内存< 32 KB0x1FFF F000 - 0x1FFF F7FFBootloader 区域
外设寄存器地址空间-0x4000 0000 - 0x5006 03FF外设控制寄存器
PPB 区域-0xE000 0000 - 0xE00F FFFF系统控制和调试

这些内存地址空间分配使得 STM32F103C8T6 具备了灵活的代码、数据存储及外设控制功能,适用于各种嵌入式开发应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知行好事

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值