• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

如何在KEIL5下使用stm32f429的CCMRAM

宫梓萱 2019-07-24 浏览量:2396

请问下,stm32f429内部的CCMRAM比内部的普通RAM的速度快多少了

如何使用内部的CCMRAM内存了,像什么全局变量和堆栈什么的都放在CCMRAM中去,这个该怎么设置了

请教了

2 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 1、工程选项,把target选项的IRAM2勾选上。

    cccmmm4.png

    2、右键工程目录C文件,进入option窗口,红框里面选择当前文件变量存储位置,选IRAM2

    cccmmm5.png

    • 发布于 2019-07-24
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:2
  • 我对于这方面也不是太熟悉,下面的这个方法是可行的。


    可能网上能找到方法,这里再重复一下我的做法。

    比如我要定义一个大容量的数组 temp_buf[2048]到CCM中。(只想把这个buf放到CCM中)
    需要做以下工作
    1.新建1个.c和1个.h
    .c中输入如下内容
    1. #pragma location = ".ccmram"

    2. unsigned char temp_buf[2048]

    注:以上ccmram名字随便取,这里是声明一个段,需要与最后修改的icf文件保持一致
    .h中加入该数组的声明:
    1. #ifndef __RAM_DEF
    2. #define __RAM_DEF

    3. extern unsigned char temp_buf[2048]

    4. #endif

    最后再在.icf文件中加入一行把这个段放在CCM中
    1. place in CCMRAM_region {section .ccmram};

    编辑后在map文件中会加入这一行:
    place in [from 0x10000000 to 0x1000ffff] { section .ccmram };
    找到这个数组,地址已经在CCM中了,表示成功了
    要使用这个buf的话只要包含声明的头文件,即可使用。
    搞定收工。
    其他以此类推,主要是要修改.icf文件。
    • 发布于2019-07-24
    • 举报
    • 评论 0
    • 1
    • 0

  • 在MDK的option界面那里,右下角的RAM处,加上CCMRAM就行

    注意配置起始地址和长度

    • 发布于2019-07-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

如何在KEIL5下使用stm32f429的CCMRAM