English
Language : 

S912XEG128J2MAA Datasheet, PDF (380/1324 Pages) Freescale Semiconductor, Inc – Microcontrollers
Chapter 10 XGATE (S12XGATEV3)
• Single Stepping
Writing a "1" to the XGSS bit will call the RISC core to execute a single instruction. All RISC core
registers will be updated accordingly.
• Write accesses to the XGCHID register and the XGCHPL register
XGATE threads can be initiated and terminated through a 16 write access to the XGCHID and the
XGCHPL register or through a 8 bit write access to the XGCHID register. Detailed operation is
shown in Table 10-22. Once a thread has been initiated it’s code can be either single stepped or it
can be executed by leaving debug mode.
Table 10-22. Initiating and Terminating Threads in Debug Mode
Register Content
XGCHID XGCHPL
0
0
Single Cycle Write
Access to...
XGCHID XGCHPL
1..127
-(1)
0
0
1..127
0..7
1..127
0..3
1..127
4..7
0..7
1..127
0..7
0
-1
All other combinations
1. 8 bit write access to XGCHID
Action
Set new XGCHID
Set XGCHPL to 0x01
Initiate new thread
Set new XGCHID
Set new XGCHPL
Initiate new thread
Interrupt current thread
Set new XGCHID
Set new XGCHPL
Initiate new thread
Terminate current thread.
Resume interrupted thread or become idle if
no interrupted thread is pending
No action
NOTE
Even though zero is not a valid interrupt priority level of the S12X_INT
module, a thread of priority level 0 can be initiated in debug mode. The
XGATE handles requests of priority level 0 in the same way as it handles
requests of priority levels 1 to 3.
NOTE
All channels 1 to 127 can be initiated by writing to the XGCHID register,
even if they are not assigned to any peripheral module.
NOTE
In Debug Mode the XGATE will ignore all requests from peripheral
modules.
10.6.1.0.1 Entering Debug Mode
Debug mode can be entered in four ways:
1. Setting XGDBG to "1"
MC9S12XE-Family Reference Manual Rev. 1.25
380
Freescale Semiconductor