Part Number: AM5728
Other Parts Discussed in Thread: SYSBIOS
Hi,
My customer is using the following example, but actually it did not work properly.
ipc_3_47_00_00/examples/DRA7XX_linux_elf/ex02_message/dsp1
As per from our customer, it seems like the the following lines had to be commented out from ipc_3_47_00_00/examples/DRA7XX_linux_elf/ex02_message/dsp1/Dsp1.cfg to work correctly.
var Idle = xdc.useModule('ti.sysbios.knl.Idle');
var Deh = xdc.useModle('ti.deh.Deh');
Idle.addFunc('&ti_deh_Deh_idleBegin');
I just looked at the code about Deh and to me, I seemed the code was not actually taken account for DSP1. For example, please take a look at the following code:
Void Watchdog_idleBegin(Void)
{
Int core = 0;
#ifdef SMP
core = Core_getId();
if (core != 0) {
Watchdog_stop(core);
}
else
#endif
{
Watchdog_kick(core);
}
}
/*
* ======== Watchdog_kick ========
* Refresh/restart the watchdog timer
*/
Void Watchdog_kick(Int core)
{
volatile Watchdog_TimerRegs *timer = Watchdog_module->device[core].baseAddr;
if ((Watchdog_module->status[core] == Watchdog_Mode_ENABLED) && timer) {
while (timer->twps & WATCHDOG_TIMER_TWPS_W_PEND_TGRR);
timer->ttgr = 0;
}
}
I think SMP definition is not applicable to AM572x, so the above "core" variable might be always 0. And I`m wondering if this might be the root cause. Can you comment on this ?
Best Regards,
NK