Cortex-M4内核与STM32的关系:

本文详细介绍了STM32F4系列单片机中Cortex-M4处理器的内部资源,包括总线矩阵、时钟系统、嵌入SRAM和Flash等关键硬件结构。特别阐述了地址0x00000000的“Flash/系统存储器/SRAM别名区”的作用及其实现物理重映射的技术原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cortex-M4处理器的内部资源

                

STM32F4系列提供的CPU外部资源

            

总线矩阵:

总线矩阵是STM32单片机内最重要的硬件结构之一,通过总线矩阵灵活地将Cortex-M4处理器的内核总线(I-Code、D-Code、System BUS)与众多系统级外设(保证CPU正常运行)(如:片内SRAM、片内FLASH、数据DMA总线)或速度要求极高的应用级外设(为用户的具体应用提供服务)(如:以太网DMA总线、USB DMA总线等)相连接。

除此之外,总线矩阵还进一步提供了面向更外一层设备的总线接口APB、AHB和FSMC,其与众多应用级外设相连,并为Cortex-M4处理器提供了访问MCU片内设备(如:DMA外设总线、TIM、ADC、DAC、USART、SPI、USB等)和MCU片外高速设备(如:片外RAM、FLASH)的途径。

时钟系统(时钟树):

是整个单片机系统的心脏,为所有设备(CPU、存储器、总线、外设)提供时钟脉冲。

            

嵌入SRAM:

F429系列提供了大小256KB的系统SRAM,以及4KB的备份SRAM。

以CPU速度运行,可按字节、半字(16 位)或全字(32 位)访问,相当于是ST公司为Cortex-M4内核配备的外部Cache,可通过I-Code和D-Code总线分别访问!

还部分区域支持AHB总线上不同设备的并发访问。

嵌入Flash:

F429系列提供了1MB大小的片内FLASH,用于存储用户程序代码(Code区)。

                

学习笔记 2】—— 地址0x0000 0000的“Flash/系统存储器/SRAM别名区”

在STM32F429存储器地址映射空间的地址0x0000 0000处的“Flash/系统存储器/SRAM别名区”是用来实现物理重映射的。这么做的原因在于:

Cortex-M4处理器复位时默认访问(PC指向)的地址是0x0000 0000,而在STM32F4xx系列中ST公司又将其内部Flash设计在了0x0800 0000的位置,那么在系统复位后,就必须通过物理重映射技术将地址0x0800 0000映射到地址0x0000 0000上。这样CPU在访问0x0000 0000时就等同于在访问0x0800 0000上的Flash(的内容),如此一来CPU才有指令可以执行,系统才能正常启动。

若通过BOOT引脚设置自举模式为SRAM自举或系统存储器自举,也同理,实际上就是将SRAM或系统存储器的首地址映射到了0x0000 0000的位置。

【学习笔记end】

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值