This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM67A:指针算术出现意外行为

Guru**** 2349280 points
Other Parts Discussed in Thread: AM67A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1511152/am67a-unexpected-behavior-in-pointer-arithmetic

器件型号:AM67A

工具/软件:

如第一张图所示、
分配给 g_idle_topstack 指针的 STK 和 stk 的值意外变为1、该问题会使程序崩溃

CONFIG_IDLETHREAD_STACK 定义为1024

且预期值(g_idle_topstack - CONFIG_IDLETHREAD_STACK)应为 0x7914CC00 (<= 0x7914D000 - 1024 )、但由于 g_idle_topstack 突然变为1、答案恰好为0xFFFFFC01、该值无效且比我的 AM67A 板的2GB DDR 限制还要大

——

我还有一个与此相关的问题、

我将程序加载到此地址-> 0x0079100000、这是 SoC 的512KB SRAM 区域、SRAM 的限制为0x0079100000 + 512*1024 = 0x79180000

但我的二进制文件大于512KB、即1.8MB、那么由于此 SRAM 和 DDR 起始地址之间存在一些差距、我的程序会发生什么情况超过限制? (DDR 从0x80000000开始、SRAM 从0x79180000结束)

我在较小的 SRAM 加载二进制文件的原因是、即使我使用 sbl_null 初始化了 DDR (几天前运行良好、但突然损坏)、我也无法在 DDR 中运行(我可以通过 CCS 加载但无法运行)、因此您能帮帮我吗?