硬汉嵌入式论坛

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

[技术讨论] H7中,栈区通过分散加载放在DTCM中会不会有问题

[复制链接]

4

主题

55

回帖

67

积分

初级会员

积分
67
发表于 2025-11-2 18:19:12 | 显示全部楼层 |阅读模式
如题。。。
回复

使用道具 举报

6

主题

162

回帖

180

积分

初级会员

积分
180
发表于 2025-11-2 19:11:53 | 显示全部楼层
没问题,我就是这么放的

[Asm] 纯文本查看 复制代码
; **************************************************************
; *** Scatter-Loading Description File generated by Penguins ***
; **************************************************************

LR_IROM1 0x08000000 0x00200000  {    ; load region size_region
  ER_IROM1 0x08000000 0x00200000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
   .ANY (+XO)
  }
  
  RW_IRAM1 0x20000000 0x00020000  {  ; RW data - 128KB DTCM
   .ANY (+RW +ZI)
  }
  
  RW_IRAM2 0x24000000 0x00080000  {  ; RW data - 512KB AXI SRAM
   *(.bss.RAM_D1)
   *(.data.RAM_D1)
  }
  
  ; Macro DATA_IN_D2_SRAM is required in <system_stm32h7xx.c>
  RW_IRAM3 0x30000000 0x00048000  {  ; RW data - 128KB SRAM1 + 128KB SRAM2 + 32KB SRAM3
   *(.bss.RAM_D2)
   *(.data.RAM_D2)
  }
  
  RW_IRAM4 0x38000000 0x00010000  {  ; RW data - 64KB SRAM4
   *(.bss.RAM_D3)
   *(.data.RAM_D3)
  }
}

回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
120533
QQ
发表于 2025-11-3 14:15:49 | 显示全部楼层
没问题,放心使用,ITCM也可以做堆栈空间使用,
回复

使用道具 举报

4

主题

55

回帖

67

积分

初级会员

积分
67
 楼主| 发表于 2025-11-24 16:53:28 | 显示全部楼层
本帖最后由 狠狠滴摸鱼冲浪 于 2025-11-24 17:53 编辑
eric2013 发表于 2025-11-3 14:15
没问题,放心使用,ITCM也可以做堆栈空间使用,

最近拿 N32H787 测试,把 STACK 放到 DTCM 中,下载后运行没问题。断电后就没法运行了。

它的文档中明确说了不能把栈放到 DTCM 中。

ScreenShot_2025-11-24_164948_077.png

我想问用 RTOS 的情况下,线程栈通过数组分配的应该就不属于系统栈了吧,线程运行就能使用 DTCM 了吧。但是中断函数还是得用位于 AXI SRAM 中的系统栈
回复

使用道具 举报

6

主题

162

回帖

180

积分

初级会员

积分
180
发表于 2025-11-24 21:03:11 | 显示全部楼层
狠狠滴摸鱼冲浪 发表于 2025-11-24 16:53
最近拿 N32H787 测试,把 STACK 放到 DTCM 中,下载后运行没问题。断电后就没法运行了。

它的文档中明 ...

意思是重新上电就不能用了?这是 N32 的特性吗?在 STM32 未现此问题
回复

使用道具 举报

4

主题

55

回帖

67

积分

初级会员

积分
67
 楼主| 发表于 2025-11-24 21:15:38 | 显示全部楼层
Penguins 发表于 2025-11-24 21:03
意思是重新上电就不能用了?这是 N32 的特性吗?在 STM32 未现此问题

我使用发现就是这个现象:把 STACK 放到 DTCM 中,下载后运行没问题。断电后就没法运行了

图片是 N32H7 官方文档《N32H7xx系列软件TCM使用指南》第19页末尾的标注。

STM32H7 没有这个问题,我测试过。
回复

使用道具 举报

6

主题

162

回帖

180

积分

初级会员

积分
180
发表于 2025-11-25 08:28:12 | 显示全部楼层
狠狠滴摸鱼冲浪 发表于 2025-11-24 21:15
我使用发现就是这个现象:把 STACK 放到 DTCM 中,下载后运行没问题。断电后就没法运行了

图片是 N32H ...

好的,看来国产和 ST 还是有区别的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-12 05:19 , Processed in 0.051828 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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