stm32 C 全局变量没有初始化值

问题描述 投票:0回答:1

正在开发一块EVAL板stm32G474RE,其闪存为512K,RAM为128K。 EVAL 板上一切正常。现在我们收到了实际的硬件,这是一个stm32g474CBU。与 EVAL 板非常相似,但 FLASH 128K 和 RAM 为 128K。

新的 micro 只需要很少的更改,例如链接器文件。 但开始注意到一个奇怪的行为,即代码中初始化的一些全局变量没有它们的值。当程序下载完毕并且我在主函数中遇到断点时,全局变量的值不存在,只有 0xFF。

看来全局变量的值甚至没有从闪存复制到内存的.data 部分。

文本数据 bss dec 十六进制 59416 11528 26768 97712 17db0

任何想法。正如我之前提到的,代码在 EVAL 板上完美运行,该板具有几乎相同的微控制器。

不知道该尝试什么

c stm32 freertos
1个回答
0
投票

在链接器脚本中查找:

    FLASH (rx)           : ORIGIN = 0x8000000, LENGTH = 512K

并将其更改为:

    FLASH (rx)           : ORIGIN = 0x8000000, LENGTH = 128K
© www.soinside.com 2019 - 2024. All rights reserved.