您好!
在我们的项目中、我们最近在尝试启动调试器时遇到了一个与数据验证相关的问题:
该项目使用两个内核:R5_0_0和 M4F_0。
进一步调查此问题后、似乎没有存储器/ M4的代码尝试覆盖以前写入的一些存储区域。
下面两个屏幕截图显示了当前部分 M4 linker.cmd 文件的配置方式:
下面是 CCS IDE 上的"Stack Usage"视图为我们显示的同一个 M4项目:
它表明使用的是100%的堆栈单元(2392)、但链接器文件显示我们还有足够的空间用于堆栈(总堆栈大小为16384)。
我正在尝试了解 IDE 为什么显示堆栈使用量为100%? 我缺少什么吗? 此外、这两个问题是否以某种方式联系在一起?
如果我展开以查看哪些组件的堆栈使用量最高:
我们的项目利用 IPC、似乎所有 IPC 库调用都占用了大量的堆栈。 此外、如果我扩展上述这些函数、DebugP 函数调用(例如_DebugP_logZone)似乎主要负责。 例如:
我想知道这是否正常、以及是否可以通过某种方法轻松禁用 DebugP 以释放大量堆栈? 对于迄今所提到的两个问题,任何其他建议也将受到极大的欢迎。
谢谢你。