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.

[参考译文] TMS320F2.8379万D:从内存的共享部分进行堆栈初始化

Guru**** 2585275 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/655701/tms320f28379d-stack-initialization-from-a-shared-portion-of-memory

部件号:TMS320F2.8379万D
“线程: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,则代码运行正常。

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Lenio,

    您可以将项目秘密发送给我吗?

    托德