硬汉嵌入式论坛

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

[STM32H7] 关于H7中D2 Domain中SRAM变量初值问题

[复制链接]

1

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2024-5-10 09:31:37 | 显示全部楼层 |阅读模式


__attribute__((section (".RAM_D1")))   uint8_t TEST_arr[]="this is a test fun of 485 transmit\r\n";
__attribute__((section (".RAM_D2")))   uint8_t TEST1_arr[]="this is a test fun of 485 transmit\r\n";

TEST_arr在D1的AXIRAM中,TEST1_arr在D2的SRAM中
哪位大神能解释一下定义在D2域SRAM中带初值的变量为啥是乱码,难道D2域的RAM不能访问flash??

刚进DBUG状态

刚进DBUG状态

刚进DBUG状态TEST1_arr是没有初值的。




2.png
运行之后TEST1_arr有初值了但是是乱码。



3.png
通过串口发出两个字符串TEST_arr、TEST1_arr也显示一个正常一个是乱码。

4.png
重新给TEST1_arr赋值后正常了!

5.png
串口显示也正常了。
哪位大神能解释一下定义在D2域SRAM中带初值的变量为啥是乱码,难道D2域的RAM不能访问flash??
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107627
QQ
发表于 2024-5-10 09:46:14 | 显示全部楼层
14楼的方案可以彻底解决这个问题。

STM32H7使用MDK或IAR将D2域SRAM1做主RAM空间会在分散加载启动阶段硬件异常(已经解决,8楼附C方案,14楼附汇编方案)
https://www.armbbs.cn/forum.php? ... 2154&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

1

主题

1

回帖

4

积分

新手上路

积分
4
 楼主| 发表于 2024-5-10 10:18:21 | 显示全部楼层
eric2013 发表于 2024-5-10 09:46
14楼的方案可以彻底解决这个问题。

STM32H7使用MDK或IAR将D2域SRAM1做主RAM空间会在分散加载启动阶段硬 ...

明白了,感谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-8 13:59 , Processed in 0.164823 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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