Dear Teams,
My customer is using TMS320F280049C. They are trying to use watch dog overflow to reset the C2000. However, it pop up following window. Could you help give some suggestions?
Thanks!
Dylan
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.
Dear Teams,
My customer is using TMS320F280049C. They are trying to use watch dog overflow to reset the C2000. However, it pop up following window. Could you help give some suggestions?
Thanks!
Dylan
Hi team:
After reading Dylan’s description, I feel that we should support the same customer. Let me add the customer’s question:
The customer currently hopes to use the CAN port to complete the online code programming function (The boot program was written by himself), and the DSP will be restarted during the process. Since debugging is required after restarting, it is necessary to continue debugging the chip without reconnecting the chip and loading the program after the reset is completed.
The client's operations are as follows:
Before adding the online code upgrade function, put a jump statement code LB _c_int00 at the Boot-to-Flash address (0x080000-0x080001) in f28004x_codestartbranch.asm, and then automatically call boot28.asm to configure the C28x operating environment, and finally execute it main() function.
After adding the online code upgrade function, put a jump statement code LB _SwitchFunction at the Boot-to-Flash address (0x080000-0x080001) in f28004x_codestartbranch.asm to enter the custom function, you need to manually configure the C28x operating environment, and then Determine the upgrade flag. If it is equal to 1, jump to LB _c_int00, call boot28.asm to configure the C28x operating environment, and finally execute the main() function; if it is equal to 0, execute the upgrade program.
The following is the assembly code for manually configuring the C28x operating environment. Is it correct?
asm(" MOV @SP,#0x0000"); //把16位的立即数0x0000赋给堆栈指针SP asm(" SPM 0"); //设置乘积移位模式为不移位(正数左移,负数右移) asm(" SETC OBJMODE"); //目标匹配模式位(OBJMODE)置1,选择C28x目标模式(OBJMODE=0为C27x目标模式) asm(" CLRC AMODE"); //地址模式位(AMODE)清零,选择C28x指令寻址模式(AMODE=1为C27x指令寻址模式) asm(" SETC M0M1MAP"); //存储器M0和M1映射模式位(M0M1MAP)置1,在C28x目标模式下,M0M1MAP一直保持为1,这是复位时的默认值 asm(" CLRC PAGE0"); //使用堆栈寻址模式 asm(" MOVW DP,#0x0000"); //把16位的立即数0x0000赋给装载页指针DP,初始化DP指向低 64K 地址 asm(" CLRC OVM"); //溢出模式位清零,关闭溢出模式(累加器中结果正常溢出) asm(" ASP"); //对齐堆栈指针SP
In addition, the customer stated that the same operation has been implemented on F28035 & F28335, but an address error will occur on F280049.
Best regards
Green
Hi,
With CCS connected, device boots as per EMULATION BOOT (please refer device TRM for detail) and if that is not set correctly then after watchdog reset, CPU will halt inside BOOTROM code and since there is no symbol loaded for BOOTROM, CCS gives that warning.
Regards,
Vivek Singh
The solution was to add _FLASH to the predefined symbols. Though looking at the code, the cause and effect is quite unclear.