Standard DSC startup code most often includes a do loop. That do loop execution assigns a known value to the LA register. If you are using startup code that does NOT include a do loop, you need to explicitly initialize the LA register to an address that is not inside of an interrupt service routine. Why? Standard save all and restore all code included by the IDE for interrupt handlers can itself be interrupted. There is a window of opportunity to be interrupted after the restore all routine pushes the HWS (Hardware stack register) twice (thus setting both Loop flag in the SR and NL in the OMR registers). If you get interrupted just after doing the HWS pushes, you can enter a fast ISR without clearing the LF, and then if your PC matches the uninitialized LA register (which aquires any possible value after power up) while in the middle of the interrupting ISR, then end of loop is recongnized and program flow becomes erratic after that. Just initialize LA if you change the default stationery, please.
Expiring the announcement will not delete it but will remove it from the public announcement list. Are you sure you want to expire this announcement?
Are you sure you want to delete this announcement?
|how to transplant the KEA128BLDC project to MDK and make the BLDC work properly? 6 days ago||by Eric 李|
|How to create image file for DSC(MC56F8013) 7 days ago||by VIGNESHKUMAR P|
|How to connect USB MULTILINK Rev.C with DSC(MC56F82726) 3 weeks ago||by VIGNESHKUMAR P|
|Failure In Time Data for MC56F8367MPYE 4 weeks ago||by Richard Triolo|
|How can i get bootcode based can on MC56F84763VLH 3 weeks ago||by jinhui wu|
Digital signal Controllers include the following part numbers, in chronological launch order:
DSP56F80x;DSP5685x; MC56F83xx; MC56F803x,2x,1x; MC56F82xx; MC56F84xxx; MC56F82xxx
These devices feature:
for efficient Finite Impulse Response filter (and other DSP) calculations