Tool/software: Code Composer Studio
SYS/BIOS release 6.83.00.18 contains fix for issue SYSBIOS-1199 on C2000.
However, on a 28377 CPU, I believe instructions for saving/restoring VCU context are not compiled in the dispatcher code.
In Hwi_disp_asm.s28:
dispatchRet .macro ; epilog of dispatcher where we return ; After dispatchC is called, restore C context pop @sp .if (.TMS320C2800_FPU64 == 1) .if (.TMS320C2800_VCRC == 1) .if (ti_sysbios_family_c28_Hwi_regsVCRC__D) ; Restore VCRC registers vmov32 VCRCSIZE, *--sp vmov32 VCRCPOLY, *--sp vmov32 VSTATUS, *--sp vmov32 VCRC, *--sp .endif .endif ; Restore FPU64-only registers mov32 r3l, *--sp mov32 r2l, *--sp mov32 r1l, *--sp mov32 r0l, *--sp .endif .if (.TMS320C2800_FPU32 == 1) ; Restore FPU32 registers (also applies for FPU64) mov32 r3h, *--sp mov32 r2h, *--sp mov32 r1h, *--sp mov32 r0h, *--sp mov32 stf, *--sp .endif
Looks like VCU context save is nested inside FPU64 conditional?
28377 CPU does not have FPU64, but does have a VCU.
Should these conditionals be at the same level?