硬汉嵌入式论坛

 找回密码
 立即注册
查看: 379|回复: 4
收起左侧

[MDK] MDK启动堆栈问题

[复制链接]

1

主题

2

回帖

5

积分

新手上路

积分
5
发表于 2026-1-31 21:14:03 | 显示全部楼层 |阅读模式
.sct文件 下面这样设计,最后堆栈默认都会分配到 RW_IRAM3,有什么办法让他分配到RW_IRAM1 吗。
LR_IROM1 0x08000000 0x00200000  {    ; load region size_region
  ER_IROM1 0x08000000 0x00200000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
   
  ; RW data - 128KB DTCM
  RW_IRAM1 0x20000000 0x00020000  {   
   .ANY (+RW +ZI)


  }
   
  ; RW data - 512KB AXI SRAM
  RW_IRAM2 0x24000000 0x00080000  {   
   *(.RAM_D1)  
  }
   
  ; RW data - 128KB SRAM1(0x30000000) + 128KB SRAM2(0x3002 0000) + 32KB SRAM3(0x30040000)
  RW_IRAM3 0x30000000 0x00048000  {   
  .ANY (+RW +ZI)
  }
   
}


回复

使用道具 举报

30

主题

426

回帖

516

积分

金牌会员

积分
516
发表于 2026-1-31 21:54:18 | 显示全部楼层
启动文件定义了STACK段,直接放进去就可以了

[C] 纯文本查看 复制代码
Stack_Size      EQU     0x00002000

                AREA    STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem       SPACE   Stack_Size

__initial_sp


[C] 纯文本查看 复制代码
  RW_IRAM1 0x20000000 0x00020000  {
    *(STACK)
    .ANY (+RW +ZI)
  }
回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
 楼主| 发表于 2026-2-1 15:40:29 | 显示全部楼层
tovinz 发表于 2026-1-31 21:54
启动文件定义了STACK段,直接放进去就可以了

[mw_shl_code=c,true]Stack_Size      EQU     0x00002000
...

十分感谢,方便问一下,其他的这些怎么修改,还是这样一个一个加吗
   0x30000000   0x080063b0   0x00000008   Data   RW          737    .data..L_MergedGlobals  stm32h7xx_hal.o
    0x30000008   0x080063b8   0x00000008   Data   RW         1230    .data..L_MergedGlobals  system_stm32h7xx.o
    0x30000010        -       0x00000060   Zero   RW         1273    .bss                c_w.l(libspace.o)
    0x30000070        -       0x00000068   Zero   RW           58    .bss.hdma2d         dma2d.o
    0x300000d8        -       0x000000a8   Zero   RW           73    .bss.hltdc          ltdc.o
    0x30000180        -       0x00000088   Zero   RW           89    .bss.hspi3          spi.o
    0x30000208        -       0x00000004   Zero   RW          736    .bss.uwTick         stm32h7xx_hal.o
回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
 楼主| 发表于 2026-2-1 19:26:18 | 显示全部楼层
*stm32h7xx_hal.o(+RW +ZI)这样写就可以了
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
121120
QQ
发表于 2026-2-2 00:33:14 | 显示全部楼层
除了前面坛友发的,也可以直接设置堆栈

分散加载设置堆栈空间
https://forum.anfulai.cn/forum.p ... id=86201&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-2-24 07:23 , Processed in 0.050682 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表