首页 > 其他 > 详细

stm32 F40x CCM数据区的使用

时间:2020-03-01 18:05:42      阅读:76      评论:0      收藏:0      [点我收藏+]

2. CCM可以作为堆和栈使用

使用分散加载文件直接操作即可

1     RW_CCMRAM1 0x10000000    {
2         .ANY (HEAP)
3         .ANY (STACK)
4     }

 

3. CCM无法作为中断向量映射区

 

为进一步提高对数据的处理性能,在STM32F4 中设有CCM 存贮器。

与常规的存贮器不同,CCM 存贮器是CPU 独享的存贮器。CCM 存贮器与CPU 之间的数据传输不经过总线矩阵,以提高CPU 对CCM存贮的访问效率。

这样的组织结构也决定了,只有CPU 才能够访问CCM 存贮器,而DMA 以及其它的外设与CCM 存贮器之间没有数据通道,也就无法对其访问。

在通常的应用中,适合将程序的栈放在CCM 存贮器中,以提高中断的响应速度,以及对子程序的调用速度。

同时,如果使用C语言编程,函数的局部变量是定义在栈上的,所以把栈放在CCM 存贮器中,也可以提高CPU 对函数的局部变量的访问速度。

对于一些算法的实现,比如DSP 计算或浮点数计算,适合于把参与计算数据及计算出的结果存放在CCM 存贮存器中,这样可以提高计算的效率。

如果希望动态的管理CCM 存贮器,则最好将其与常规存贮器加以区分。因为两种存贮器的属性不同,用途也不同。CCM 存贮器不能由DMA 访问,

而常规存贮器会降低CPU 对数据的处理效率。

stm32 F40x CCM数据区的使用

原文:https://www.cnblogs.com/CodeWorkerLiMing/p/12390998.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!