Thread 中讨论的其他器件:SYSBIOS
工具与软件:
您好、TI:
我们在 SYSBIOS 操作系统中使用 TDA2Px 处理器。
我们将尝试读取所有内核的系统堆栈、以分析使用堆栈的情况、并根据使用情况尝试 触发 堆栈错误。
代码中显示的 DSP1和 DSP2系统堆栈使用情况如下:-
DSP1的 sysStack 用法->0x87218580 dsp2的 sysStack 用法--> 0x8e0164f0
DSP1的 totalStack --> 0x8721c2a8. DSP2的 totalStack --> 0x8e01a088
- M40、M41、EVE1、EVE2、A15内核系统堆栈的使用情况看起来很好、低于10%- 20%、但 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核心的使用量非常少、但我们得到的堆栈使用量仍然非常高。
问题2:- 是否有任何 SYSBIOS API 可用于查看每个内核的正确堆栈大小?
请提供指导和支持来解决此问题。