TI中文支持网
TI专业的中文技术问题搜集分享网站

关于DSP28335中BIOS操作系统的问题咨询

用了CCS9.1  安装了 DSP  BIOS  5.42.1.09;

运行一段时间后,出现一个问题:有一个任务的信号量变为45,理论上应该是0或1,请问一下,引起这个问题的原因会是什么?多谢!!

Green Deng:

你好,请问具体是什么任务的信号量改变了?运行一段时间大概是多久?

user6441275:

回复 Green Deng:

你好,

    是一个用于与下位机通信的任务的信号量,我的工程中一共有三个任务,分别是:与下位机通信功能,与上位机通信功能以及SD卡存储操作,周期分别是2ms 2ms 4ms,出现问题的前一般进行SD卡读写操作,没有固定时间,出现问题后,只有与下位机通信的任务无法调度,其余俩个正常。还有就是SD卡操作的任务执行时间有时候会超过4ms,和这个有关系吗?调度逻辑如下:

while((0xFFFF != GenTaskInfoTable[cnt16_1].taskID)) {  if((0 == (sysTime % GenTaskInfoTable[cnt16_1].period))   && (SEM_count(GenTaskInfoTable[cnt16_1].taskSEM) < 2))  {          SEM_post(GenTaskInfoTable[cnt16_1].taskSEM);  }          cnt16_1 ++; }

出现问题的任务如下:

void TaskHardwareCommunicationRun(void){ 

  while(1)  {        SEM_pend(&SEM_HardwareCommunication, SYS_FOREVER);        HardwareCommunicationProc();  }}

出现问题时SEM_count(GenTaskInfoTable[cnt16_1].taskSEM的值为45,所以一直无法SEM_post,导致TaskHardwareCommunicationRun一直卡在SEM_pend,无法运行。

Green Deng:

回复 user6441275:

你好,我把你的问题升级到英文E2E论坛了,英文论坛的工程师对BIOS系统更专业,你可以跟一下这个帖子:
e2e.ti.com/…/940681

user6441275:

回复 Green Deng:

好的,万分感谢!!!

user6441275:

回复 Green Deng:

好的,十分感谢!

Green Deng:

回复 user6441275:

客气了,因为确实C2000很少有用BIOS的,所以我也不太熟悉。

赞(0)
未经允许不得转载:TI中文支持网 » 关于DSP28335中BIOS操作系统的问题咨询
分享到: 更多 (0)