0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

GD32F4的TCMSRAM(紧耦合SRAM)该如何使用?

聚沃科技 2024-02-24 09:43 次阅读

如下图所示,GD32F4系列内部SRAM分为通用SRAM空间和TCMSRAM空间,其中通用SRAM为从0x20000000开始的空间,TCMSRAM为从0x10000000开始的64KB空间。大家一般使用的均为通用SRAM空间,这部分SRAM使用的时候没有限制,作为堆栈、变量、DMA使用等都可以,但TCMSRAM一般不使用,有的时候可能会被大家遗忘,如果大家碰到SRAM资源不足的时候,可以看看是否有TCMSRAM没有用到,如果没有用到,可以参考下本视频将TCMSRAM使用起来,你将会多出64KB的SRAM空间。

wKgaomXZSWuAZpbRAAE6iG-0-qs337.png

wKgZomXZSXGADoFcAANbmjPz-sY557.png

而TCMSRAM如何使用呢?TCMSRAM为紧耦合SRAM,该SRAM仅可被M4内核访问,因而该TCMSRAM空间不能被外设比如DMA访问,TCMSRAM与处理器内核直连,具有更快的访问速度和更低的访问延迟,可以用于加速关键任务的执行,提高系统的实时性能和响应速度。

使用TCMSRAM可以使用分散加载的方式,将需要放置到TCMSRAM中的变量手动加载到TCMSRAM中,具体有以下两种方法:

直接通过 __attribute__加载到TCMSRAM中,如下所示。

uint32_t TX_Data[5] __attribute__((at(0x10000000)))={0};

通过修改SCT文件,并将变量分散加载到对应的段中,如下所示。

代码中的操作如下: uint32_t TX_Data[5] __attribute__((section(".bss.RAM_Array")))={0}; SCT文件中的配置如下: LR_IROM1 0x08000000 0x00300000 { ; load region size_region ER_IROM1 0x08000000 0x00300000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) .ANY (+XO) } RW_IRAM1 0x20000000 0x00020000 { ; RW data .ANY (+RW +ZI) } RW_IRAM2 0x10000000 0x00010000 { main.o(.bss.RAM_Array) } }

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6030

    文章

    44501

    浏览量

    632267
  • sram
    +关注

    关注

    6

    文章

    762

    浏览量

    114601
  • GD32
    +关注

    关注

    7

    文章

    403

    浏览量

    24130
收藏 人收藏

    评论

    相关推荐

    GD32F4TCMSRAM耦合SRAM如何使用?#GD32 #单片机 #嵌入式开发

    单片机嵌入式开发
    聚沃科技
    发布于 :2024年02月24日 09:54:04

    GD32F4系列芯片移植RTOS Demo工程 GD32F407移植FreeRTOS GD32F407移植RT-Thread

    GD32F4系列移植FreeRTOS和RT-Thread工程例程GD32F407/GD32F450
    发表于 06-07 22:10

    使用Nios II耦合存储器教程

    使用Nios II耦合存储器教程 Chapter 1. Using Tightly Coupled Memory with the Nios II Processor Reasons
    发表于 10-17 14:43 48次下载

    GD32F4xx系列固件库

    GD32F4xx系列固件库包含GD32F403、GD32F405、GD32F407以及GD32F450 四个系列的最新版库函数。
    发表于 08-21 08:55 182次下载

    GD5F4GQ4UAYIG SPI(串行外设接口)的NAND闪存

    GD5F4GQ4UAYIG
    发表于 10-09 16:02 136次下载

    关于GD32F330/350系列超值型Cortex®-M4 MCU的性能分析和应用

    应用的开发首选。GD32F4GD32F3系列百余款Cortex-M4 MCU已经全面覆盖高中低端开发需求并成为市场主流, 以丰富的选择性和领先的平台优势持续推进智能创新和产业升级。
    的头像 发表于 10-22 10:38 8307次阅读
    关于<b class='flag-5'>GD32F</b>330/350系列超值型Cortex®-M<b class='flag-5'>4</b> MCU的性能分析和应用

    从零开始创建GD32F4系列单片机工程模板&移植涂鸦MCU-SDK

    从零开始创建GD32F4系列单片机工程模板&移植涂鸦MCU-SDK 兆易创新的GD32单片机在中国MCU厂商市场中一直有着不算太小的份额。最近由于ST系列单片机的大幅度涨价,国产MCU凭借
    发表于 10-29 10:21 7次下载
    从零开始创建<b class='flag-5'>GD32F4</b>系列单片机工程模板&移植涂鸦MCU-SDK

    全新GD32F4产品系列紧贴市场高端需求

    GD32F470/F427/F425系列微控制器采用业界领先的40nm先进工艺制程,以降低动态和静态功耗,延长电池供电系统的使用时间。另外,还可以提升芯片的性价比优势,从而推动高端应用转换和研发升级。
    的头像 发表于 06-30 11:43 5267次阅读

    GD32F4xx 用户 手册

    GD32F4xx 用户 手册
    发表于 02-23 18:46 11次下载
    <b class='flag-5'>GD32F4</b>xx 用户 手册

    GD32F4xx 固件库 用户 指南

    GD32F4xx 固件库 用户 指南
    发表于 02-23 18:58 12次下载
    <b class='flag-5'>GD32F4</b>xx 固件库 用户 指南

    AN018 GD32F4xx MPU使用说明

    AN018 GD32F4xx MPU使用说明
    发表于 02-27 18:22 3次下载
    AN018 <b class='flag-5'>GD32F4</b>xx MPU使用说明

    梁山派开发板-21年电赛F题-送药小车-赛题分析

    全国产开源开发板,基于GD32F4系列,21电赛F题-送药小车赛题分析
    的头像 发表于 07-31 10:13 1198次阅读
    梁山派开发板-21年电赛<b class='flag-5'>F</b>题-送药小车-赛题分析

    差分对耦合真的比松耦合好吗?

    差分对耦合真的比松耦合好吗?
    的头像 发表于 11-30 15:24 906次阅读
    差分对<b class='flag-5'>紧</b><b class='flag-5'>耦合</b>真的比松<b class='flag-5'>耦合</b>好吗?

    芯片GD32与以太网芯片的坑

    GD32F470平台后,一直卡在卡在gd32fxx_enet.c中enet_phy_config,经过排查发现GD32的官方库文件也需要修改,分别为gd32f4
    的头像 发表于 01-16 08:00 1810次阅读
    芯片<b class='flag-5'>GD</b>32与以太网芯片的坑

    GD32 MCU 移植教程】8、从 STM32F4xx 系列移植到 GD32F4xx 系

    GD32F4xx 系列 MCU 是基于 Arm® Cortex®-M4 处理器的 32 位通用微控制器,与 STM32F4xx系列 MCU 保持高度兼容。本文主要从以下三个方面进行介绍:硬件资源对比
    的头像 发表于 09-06 09:40 911次阅读
    【<b class='flag-5'>GD</b>32 MCU 移植教程】8、从 STM32<b class='flag-5'>F4</b>xx 系列移植到 <b class='flag-5'>GD32F4</b>xx 系