*vscode + stm32cubeide + jlink工程:启用 ccmram**

📅 2026/7/3 10:07:08
*vscode + stm32cubeide + jlink工程:启用 ccmram**
1.修改连接脚本STM32G431XX_FLASH.ld/* Specify the memory areas */ MEMORY{RAM(xrw):ORIGIN0x20000000, LENGTH22K FLASH(rx):ORIGIN0x8000000, LENGTH128K CCMRAM(xrw):ORIGIN0x10000000, LENGTH10K /* 新增CCMRAM 10KB */}/*--- 用于CCMRAM的自定义段 ---*/ .ccmram:{.ALIGN(4);_sccmram.;*(.ccmram)*(.ccmram*).ALIGN(4);_eccmram.;}CCMRAM ATFLASH /* 数据在Flash中初始化运行时拷贝到CCMRAM */代码中main函数开始手动复制flash内容到ccmramld中添加定义/* Highest address of the user mode stack */ _estackORIGIN(RAM) LENGTH(RAM);/* end of RAM */ _sidata_ccmramLOADADDR(.ccmram);/* 新增 */// 手动复制FLASH中的数据到ccmramvoidccmram_init(void){externuint32_t_sccmram;externuint32_t_eccmram;externuint32_t_sidata_ccmram;uint32_t*pSrc_sidata_ccmram;uint32_t*pDst_sccmram;while(pDst_eccmram){*pDst*pSrc;}}3.使用#defineCCMRAM__attribute__((section(.ccmram)))4.debug时可查看地址