Thread 中讨论的其他器件:SYSBIOS
工具与软件:
您好、TI:
我们在 SYSBIOS 操作系统中使用 TDA2Px 处理器。
我们正在尝试读取所有内核的系统堆栈以分析堆栈的使用情况、并将根据使用情况对其采取必要的操作。
除 DSP1和 DSP2之外、所有其他内核均在0x4000下提供了正确的系统堆栈使用。
但 DSP1和 DSP2提供了错误的系统堆栈使用方法(这也应该低于0x4000大小、与其他相同)。
下面是下面代码中显示的用法图/日志供您参考:-
A15_0核心的系统堆栈用法--> 0x460 、 A15核心的总堆栈--> 0x4000 "显示的总尺寸正确"
EVE1核心的系统堆栈用法--> 0x1d0 、 EVE1 核心的总堆栈--> 0x4000 "显示的总尺寸正确"
EVE2 Core 的系统堆栈用法--> 0x1d0 和 EVE2 Core 的总堆栈--> 0x4000 "显示的总尺寸正确"
DSP1 Core 的系统堆栈用法--> 0x87218580和 DSP1 Core 的总堆栈--> 0x8e0164f0 "使用量和总容量显示错误"
DSP2核心的系统堆栈用法--> 0x8721c2a8和 DSP2 核心的总堆栈--> 0x8e01a088 "使用量和总容量显示错误"
我认为这是垃圾值或任何随机地址。
M40、M41、EVE1、EVE2、A15内核系统堆栈使用情况看起来很好、低于10%- 20%(意味着低于0x4000)、但 DSP1和 DSP2始终显示系统堆栈高于98%。
问题1: 为什么我们仅获得超过98%的 DSP1和 DSP2系统堆栈使用量?
我在.map 文件中看到如下所示的内存配置
文件夹 Origin Length 全波整流 Unused 属性 加注
DSP1_CODE 86800000 00400000 00066660 003999a0 RWIX
DSP1_DATA 86c00000 02800000 006b1c07 0214e3f9 RWIX
DSP1_GC_DATA 89400000 04400000 02d00628 016ff9d8 RWIX
dsp2_code 8d800000 00200000 00044800 001bb800 RWIX
DS2_DATA 8da00000 02600000 006af2c5 01f50d3b RWIX
如上一行所示、DSP1和 DSP2核心的使用量非常少、但我们得到的堆栈使用量仍然非常高。
请提供指导和支持来解决此问题。 这一问题非常紧迫、我们在过去几个月中被阻止。


