单片机开发日志cv MDK-ARM工具链迁移到MAKE

核心经验:

STM32H7 多 RAM 区域,外设相关数据段必须放在 AXI SRAM(RAM)区,不能放在 DTCMRAM,否则外设无法访问,程序表面正常但外设全失效。迁移工程时,务必检查链接脚本的内存分布!


c 复制代码
_estack = ORIGIN(RAM) + LENGTH(RAM);    /* 堆栈顶设置为 AXI SRAM 末尾 */

...

.data : 
{
  . = ALIGN(4);
  _sdata = .;
  *(.data)
  *(.data*)
  *(.RamFunc)
  *(.RamFunc*)
  . = ALIGN(4);
  _edata = .;
} >RAM AT> FLASH

.bss :
{
  _sbss = .;
  __bss_start__ = _sbss;
  *(.bss)
  *(.bss*)
  *(COMMON)
  . = ALIGN(4);
  _ebss = .;
  __bss_end__ = _ebss;
} >RAM

._user_heap_stack :
{
  . = ALIGN(8);
  PROVIDE ( end = . );
  PROVIDE ( _end = . );
  . = . + _Min_Heap_Size;
  . = . + _Min_Stack_Size;
  . = ALIGN(8);
} >RAM
相关推荐
安生生申4 分钟前
uni-app 连接 JDY-31 蓝牙串口模块实践
c语言·前端·javascript·stm32·单片机·嵌入式硬件·uni-app
熙芯XiChip7 分钟前
CPLD核心原理与结构
单片机
番茄灭世神10 分钟前
Vscode开发/调试ARM单片机最新教程
c语言·arm开发·vscode·stm32·嵌入式·gd32
于小猿Sup11 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
chao18984412 小时前
STM32 HAL库驱动AT24C02 EEPROM例程
stm32·单片机·嵌入式硬件
不会武功的火柴13 小时前
SystemVerilog语法(8)-有限状态机(FSM)
嵌入式硬件·fpga开发·自动化·ic验证·rtl·uvm方法学
猫猫的小茶馆15 小时前
【Python】函数与模块化编程
linux·开发语言·arm开发·驱动开发·python·stm32
嵌入式小站16 小时前
STM32 零基础可移植教程 05:按键消抖,为什么按一次会触发好几次
chrome·stm32·嵌入式硬件
czhaii16 小时前
跟我动手学FX系列PLC GX2环境
嵌入式硬件
霞姐聊IT16 小时前
x86程序移植到arm平台的四种场景及解决方案简介
arm开发