“线程:SysBIOS”中讨论的其它部件,
我的客户遇到CPU2执行无法启动的问题。 它似乎挂起在ti_SysBIOS_hal _HWI_initStack()的while循环中。 怀疑堆栈正在尝试分配CPU1尚未释放的共享内存。 您能否分享有关如何调试此问题的想法?
只有在RAM映射必须以这种方式扩展之后才会出现此问题(在此之前一切都正常工作):
.ebss:>> D01SARAM | LS05SARAM | GS0_GS14_RAM page = 1.
硬件是TMS320F2.8379万D Launchpad。
RTOS版本较旧:2.12 .01.33。
代码滞留在第83行的文件是: tirtos_c2000_2_12_01_33\products\BIOS_6_41_04_54\packages\ti\SysBIOS\hal\HWI_STACG.c
客户定义了变量 XDC_TARGET__isaCompatibile_28 ,但我的代码示例没有定义变量XDC_TARGET__isaCompatibility_28。 我不太理解这一指令的含义-如果您能对此作出一些说明,我将不胜感激。
stkInfo的内容似乎为零,这会导致curStack从0xFFFFFFFF开始。 Hwi ebss符号是否可能被放置在GSRAM中?在调用HWI_initStack()时,CPU1尚未授予CPU2对这些GSRAM部分的所有权?
如果在调试模式下,我们先启动CPU1,然后启动CPU2,则代码运行正常。
谢谢!