STM32高级一点的系列都会带有CCM,直观的说就是有些内存好像不能直接使用,比如STM32F407有192K RAM,但是使用的时候会发现192K被分成了128K IRAM1和64K IRAM2;IRAM1 KEIL会自动分配,那么如何正确使用IRAM2呢?
搜索关键词: CCM 、TCM、ITCM、DTCM.
下面这些文章已经说得很详细了,我就做下搬运工就好啦
1. STM32:关于DMA,TCM(ITCM和DTCM)和Cache的理解 https://blog.csdn.net/qq_34810707/article/details/87373605
2. Core Coupled Memory(CCM)内存 https://blog.csdn.net/ZCShouCSDN/article/details/79176306
3. 使用片内的CCMRAM缩短代码执行时间 https://blog.csdn.net/ZCShouCSDN/article/details/79176306
这个文章后面没有在F4上,把中断代码放到CCM RAM 是因为F4的CCM只连接到D-CODE总线,不能存放指令代码(函数),而F3则可以连接到I-CODE总线,可以存放指令代码。