Code patching allows software to replace sections of existing code with
new code. The watchpoint registers are used to trigger an exception at the
start addresses of the earlier code. The exception routine then vectors to
the location in memory that contains the new code.
On the processor, code patching can be achieved by writing the start
address of the earlier code to one of the
responding
EMUSWx
routine, the
WPSTAT
gered the exception. Next, the code writes the start address of the new
code in the
RETX
code. Because the exception mechanism is used for code patching, event
service routines of the same or higher priority (exception, NMI, and reset
routines) cannot be patched.
A write to the
WPSTAT
written is ignored.
WPIAn Registers
When the Watchpoint Unit is enabled, the values in the Instruction
Watchpoint Address registers (
instruction bus. Corresponding count values in the Instruction Watch-
point Address Count registers (
Figure 21-1
shows the Instruction Watchpoint Address registers,
.
WPIA[5:0]
ADSP-BF53x/BF56x Blackfin Processor Programming Reference
bit to trigger an exception. In the exception service
register is read to determine which watchpoint trig-
register, and then returns from the exception to the new
MMR clears all the sticky status bits. The data value
WPIAn
WPIACNTn
registers and setting the cor-
WPIAn
) are compared to the address on the
) are decremented on each match.
Debug
21-5