User`s guide
Debugging for DSP56800E
Notes for Debugging on Hardware
268
Targeting MC56F83xx/DSP5685x Controllers
• Ensure your Flash data size fits into Flash memory.
The linker command file specifies where data is written to. There is no bounds
checking for Flash programming.
• The standard library I/O function such as printf uses large amount of memory
and may not fit into flash targets.
• Use the Flash stationery when creating a new project intended for ROM.
The default stationery contains the Flash configuration file and debugger settings
required to use the Flash programmer.
• There is only one hardware breakpoint available, which is shared by IDE
breakpoints (when the Breakpoint Mode is set to hardware in the
M56800E Target
panel), watchpoints, and EOnCE triggers. Only one of these may be set at a time.
• When a hardware breakpoint trigger is set to react to an instruction fetch (IDE
hardware breakpoint or EOnCE trigger) be aware that the hardware will react to
the fetch whether or not the fetched instruction is executed. For example, if a
hardware breakpoint is set just after a loop, the processor will stop with the
execution point inside the loop. This is because the target instruction will be
fetched while the program is in the loop due to the large pipeline. A branch will
occur to facilitate the loop; however, the processor will stop because the target
instruction has already been fetched.
• The M56800E cannot single step over certain two and three-word uninterrupted
sequences. However, the debugger compensates using software breakpoints and
the trace buffer to allow single stepping in these situations. But, if these
techniques cannot be used (e.g., debugging in ROM or the trace buffer in use)
single stepping over these sequences results in the processor executing each
instruction in the sequence before stopping. The execution will be correct. Just be
aware of this "slide" in these situations.