单片机开发日志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
相关推荐
2401_888859711 小时前
STM32 CAN简介及帧格式
stm32·单片机·嵌入式硬件
东芝-铠侠-技术王工2 小时前
TB62211FNG是一款采用时钟输入控制的PWM斩波器的两相双极步进电机驱动器
单片机·嵌入式硬件
happygrilclh2 小时前
Modbus仿真器 Modbus Poll 和Modbus Slave详细图文教程
stm32·单片机·嵌入式硬件
ILOVECOMPUTING3 小时前
无人机上,利用 ucos2 实现 stm32 采集陀螺仪数据
单片机·嵌入式硬件·无人机·数据采集·陀螺仪·ucos2
乌萨奇也要立志学C++3 小时前
【STM32】STM32的中断系统&寄存器NVIC、EXTI
stm32·单片机·嵌入式硬件
橡木树的叶子3 小时前
正点原子STM32cubeide学习——TFTLCD(MCU 屏)实验
ide·stm32·单片机·嵌入式硬件·学习
华清远见成都中心4 小时前
Linux嵌入式和单片机嵌入式的区别?
linux·运维·单片机·嵌入式
ldinvicible4 小时前
基于ARM ubuntu如何进行交叉编译
arm开发·数据库·ubuntu
想当钓鱼佬4 小时前
STM32寄存器操作:USART
stm32·单片机·嵌入式硬件