• stm32 F40x CCM数据区的使用


    1. CCM需要打开总线时钟

    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 对数据的处理效率。

    博客园:http://www.cnblogs.com/linux-farmer/
  • 相关阅读:
    sql推断时间
    COCOFrame
    第41周一
    第40周日
    第40周六
    第40周五
    第40周四
    第40周三国庆
    第40周二晚
    第40周二
  • 原文地址:https://www.cnblogs.com/linux-farmer/p/7387512.html
Copyright © 2020-2023  润新知