stm32f4的板载Flash默认大小是1M也就是1024k,RAM大小为128k,下载程序时IROM1默认起始地址是0x8000000开始后的0x100000空间共计1024k给程序使用。上图中表示程序起始地址为0x8010000到0x8100000共计960k给程序使用,RAM默认起始地址的0x20000000到0x20020000给程序使用共计128k。
原文链接:https://blog.csdn.net/qq_43509546/article/details/109742261
如何配置Keil IRAM2正确使用STM32 CCM内存
STM32高级一点的系列都会带有CCM,直观的说就是有些内存好像不能直接使用,比如STM32F407有192K RAM,但是使用的时候会发现192K被分成了128K IRAM1和64K IRAM2;IRAM1 KEIL会自动分配,那么如何正确使用IRAM2呢?
搜索关键词: CCM 、TCM、ITCM、DTCM.
下面这些文章已经说得很详细了,我就做下搬运工就好啦
-
STM32:关于DMA,TCM(ITCM和DTCM)和Cache的理解 https://blog.csdn.net/qq_34810707/article/details/87373605
-
Core Coupled Memory(CCM)内存 https://blog.csdn.net/ZCShouCSDN/article/details/79176306
-
使用片内的CCMRAM缩短代码执行时间 https://blog.csdn.net/ZCShouCSDN/article/details/79176306
这个文章后面没有在F4上,把中断代码放到CCM RAM 是因为F4的CCM只连接到D-CODE总线,不能存放指令代码(函数),而F3则可以连接到I-CODE总线,可以存放指令代码。