
Enhanced Time Processing Unit (eTPU2)
MPC5644A Microcontroller Reference Manual, Rev. 6
Freescale Semiconductor
965
(MDIS = 1 or device debug request = 1) requests, hardware breakpoint prevails and the engine enters
Debug mode (Halt_idle state).
If the engine entered Debug mode after a thread finished (Halt_idle state) and a “go” command comes from
the debug interface, the engine state machine goes to Idle and the rules above apply. It means that if a “go”
is issued in Halt_idle state with MDIS = 1, the engine goes to Idle for one microcycle and then stops (if
MDIS or device debug request keeps asserted and there is no other breakpoint request).
NOTE
Hardware breakpoint requests are ignored for the first microinstruction
executed when microengine leaves halt.
24.5.10.2.4
Hardware watchpoints
Debug Interface allows watchpoints on the same conditions available for hardware breakpoints (see
Section 24.5.10.2.3, Hardware breakpoints
24.5.10.2.5
Software breakpoints
A software breakpoint occurs when microengine executes a HALT microinstruction. Any number of
software breakpoints can be set in code, usually replacing an active microinstruction.
Like any other microinstruction, HALT increments the PC and pre-fetches the next instruction. So, before
the halt state is suspended, if the original program flow must be followed, the original instruction at the
HALT address must be executed, regardless if the software breakpoint is removed (replacing HALT by the
original microinstruction) or not. The following is the procedure to resume execution from a software
breakpoint:
1. Restore the original instruction in SCM (replace HALT).
2. Force a jump with flush to the original instruction (see
).
3. If the software breakpoint must be kept: single-step and replace the original instruction with a
HALT.
4. Let the flow continue, issuing a GO command (leaving halt state).
Special care must be taken if HALT is followed by another HALT, and the second HALT is removed when
microengine was halted by the first one. In this case, replacing the second HALT with the original
microinstruction is not enough to remove the second breakpoint, because the second HALT was already
prefetched and would be executed anyway when halt was suspended. The debugger must also do a forced
execution of unconditional branch with flush to the original microinstruction address. That will clear the
pipeline, replacing the prefetched instruction with a NOP, and load PC with the address of the removed
breakpoint. So, when halt state is suspended, the original microinstruction will be fetched while NOP is
executed, and program flow continues normally from then on.
Содержание MPC5644A
Страница 2: ...MPC5644A Microcontroller Reference Manual Rev 6 2 Freescale Semiconductor...
Страница 24: ...MPC5644A Microcontroller Reference Manual Rev 6 24 Freescale Semiconductor...
Страница 26: ...MPC5644A Microcontroller Reference Manual Rev 6 26 Freescale Semiconductor...
Страница 52: ...Introduction MPC5644A Microcontroller Reference Manual Rev 6 52 Freescale Semiconductor...
Страница 56: ...Memory Map MPC5644A Microcontroller Reference Manual Rev 6 56 Freescale Semiconductor...
Страница 130: ...Device Performance Optimization MPC5644A Microcontroller Reference Manual Rev 6 130 Freescale Semiconductor...
Страница 204: ...Multi Layer AHB Crossbar Switch XBAR MPC5644A Microcontroller Reference Manual Rev 6 204 Freescale Semiconductor...
Страница 212: ...Peripheral Bridge PBRIDGE MPC5644A Microcontroller Reference Manual Rev 6 212 Freescale Semiconductor...
Страница 558: ...System Integration Unit SIU MPC5644A Microcontroller Reference Manual Rev 6 558 Freescale Semiconductor...
Страница 582: ...Frequency modulated phase locked loop FMPLL MPC5644A Microcontroller Reference Manual Rev 6 582 Freescale Semiconductor...
Страница 766: ...Enhanced Time Processing Unit eTPU2 MPC5644A Microcontroller Reference Manual Rev 6 766 Freescale Semiconductor...
Страница 1228: ...Decimation Filter MPC5644A Microcontroller Reference Manual Rev 6 1228 Freescale Semiconductor...
Страница 1236: ...System Information Module and Trim SIM MPC5644A Microcontroller Reference Manual Rev 6 1236 Freescale Semiconductor...
Страница 1250: ...Cyclic Redundancy Checker CRC Unit MPC5644A Microcontroller Reference Manual Rev 6 1250 Freescale Semiconductor...
Страница 1336: ...Deserial Serial Peripheral Interface DSPI MPC5644A Microcontroller Reference Manual Rev 6 1336 Freescale Semiconductor...
Страница 1388: ...Enhanced Serial Communication Interface ESCI MPC5644A Microcontroller Reference Manual Rev 6 1388 Freescale Semiconductor...
Страница 1440: ...FlexCAN Module MPC5644A Microcontroller Reference Manual Rev 6 1440 Freescale Semiconductor...
Страница 1624: ...FlexRay Communication Controller FlexRay MPC5644A Microcontroller Reference Manual Rev 6 1624 Freescale Semiconductor...
Страница 1670: ...JTAG Controller JTAGC MPC5644A Microcontroller Reference Manual Rev 6 1670 Freescale Semiconductor...
Страница 1692: ...Nexus Port Controller NPC MPC5644A Microcontroller Reference Manual Rev 6 1692 Freescale Semiconductor...
Страница 1701: ...Development Trigger Semaphore DTS MPC5644A Microcontroller Reference Manual Rev 6 Freescale Semiconductor 1701...
Страница 1702: ...Development Trigger Semaphore DTS MPC5644A Microcontroller Reference Manual Rev 6 1702 Freescale Semiconductor...