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) } }

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

    关注

    6001

    文章

    43978

    浏览量

    620871
  • sram
    +关注

    关注

    6

    文章

    742

    浏览量

    113906
  • GD32
    +关注

    关注

    7

    文章

    333

    浏览量

    23742
收藏 人收藏

    评论

    相关推荐

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

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

    GD32F103芯片解密GD32F103单片机解密GD32F103抄板

    GD32F103芯片解密GD32F103单片机解密GD32F103抄板GD32F103T4U6,GD32F103T6U6,
    发表于 06-06 16:53

    单片机GD32F205RCT6外扩SRAM

    应用,适用于工业自动化、人机界面、电机控制、安防监控、智能家居家电及物联网等,单片机GD32F205RCT6内置SRAM为128KB的内存,但在面对实际上的应用设计中,如果出现单片机内置SRAM内存不够
    发表于 09-18 14:03

    ksz8863芯片配置无法ping通过MCU

    本人用GD32F4与KSZ8863实现环网设计,具体主要是port1 和port2***换,port3口与GD32F4通过RMII接口连接用于接收port1口数据。目前调试已能够在电脑端看到arp
    发表于 12-19 08:48

    怎样去设计一种SRAM的接口?求过程

    SOPC中的Avalon总线是什么?Nios II系统中的耦合存储器如何去设计?怎样去设计一种SRAM的接口?
    发表于 05-28 06:44

    GD32的外部中断介绍

    起因介绍因为公司之前用GD32F4和周立功的CSM300产品的一个SPI转CAN模块,做了个产品,其在收到CAN帧时INT引脚会为由高电平转为低电平。需要做一个中断接收的程序防止丢包。GD32的外部
    发表于 08-16 08:36

    如何从0开始上手GD32系列单片机

    从零开始创建GD32F4系列单片机工程模板&移植涂鸦MCU-SDK 兆易创新的GD32单片机在中国MCU厂商市场中一直有着不算太小的份额。最近由于ST系列单片机的大幅度涨价,国产MCU凭借
    发表于 09-02 06:21

    GD32F303】星空派介绍

    、SDIO、EXMC、DAC、ADC、USB、TFT-LCD等。 二、GD32F303芯片介绍:GD32F303系列器件是基于Arm® Cortex®-M4处理器的32位通用微控制器。GD32
    发表于 09-11 17:55

    【星空派GD32F303开发板试用体验】+板卡概览

    替代STM32F103和GD32F103系列。支持RT-Thread操作系统等,支持WiFi、4G、loRa等物联通信接口。板载Flash、eeprom等,支持3.2寸的TFT - LCD屏幕。所有IO口均引出,可
    发表于 11-06 21:05

    记录STM32f407程序移植到GD32F407的全过程

    0、前言本文记录STM32f407程序移植到GD32F407的全过程,两个芯片是pin to pin,基本特性都是,最大168MHZ,1024k flash,192K sram,LQFP100封装
    发表于 01-26 08:17

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

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

    【立创·梁山派GD32F4】-1.9寸彩屏移植过程

    lcd_init.h处宏定义了每一个引脚,后续根据需要进行修改即可 硬件SPI移植 移植验证 在main.c中输入代码如下 #include \"gd32f4xx.h\"
    发表于 08-25 11:29

    【立创·梁山派GD32F4】-1.47寸彩屏模块移植

    例程移植至梁山派GD32F470上。按照以下步骤,即可完成移植。 将源码导入工程; 根据编译报错处进行粗改; 修改引脚配置; 修改时序配置; 移植验证。 查看资料 移植至工程 引脚选择 软件SPI移植 硬件SPI移植 移植验证
    发表于 08-28 18:18

    【立创·梁山派GD32F4】-1.69寸彩屏模块移植过程

    PC7 硬件SPI移植 移植验证 在main.c中输入代码如下 ```C #include \"gd32f4xx.h\" #include \"systick.h
    发表于 08-29 10:04

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

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