URL
https://opencores.org/ocsvn/neorv32/neorv32/trunk
Go to most recent revision |
Details |
Compare with Previous |
View Log
Line No. |
Rev |
Author |
Line |
1 |
59 |
zero_gravi |
# NEORV32 On-Chip Debugger (OCD) - "Park Loop" Code
|
2 |
|
|
|
3 |
|
|
This folder contains the ASM sources for the *execution-based* debugger code ROM.
|
4 |
|
|
`park_loop.S` contains the "park loop" that is executed when the CPU is in debug mode. This code is used to communicate
|
5 |
|
|
with the *debug module (DM)* and is responsible for:
|
6 |
|
|
|
7 |
|
|
* acknowledging halt requests
|
8 |
|
|
* processing and acknowledging resume requests
|
9 |
|
|
* processing and acknowledging "execute program buffer" requests
|
10 |
|
|
* executing the program buffer (provided by the DM)
|
11 |
|
|
* catching exceptions while in debug mode
|
12 |
|
|
|
13 |
|
|
The park loop code is implemented as endless loop that polls the status register of the *debug memory (DBMEM)* module
|
14 |
|
|
to check for requests from the DM and sets according flags in the status register to acknowledge these requests.
|
15 |
|
|
|
16 |
|
|
:warning: Executing `make clean_all all` will **NOT** update the actual debugger code ROM that will be synthesized.
|
17 |
|
|
The interface with the DM will break if there are any bugs in this code. However, if you wish to update the code ROM,
|
18 |
|
|
copy the array content from `neorv32_debug_mem.code.vhd` to the `code_rom_file` constant in `rtl/core/neorv32_debug_dbmem.vhd`.
|
© copyright 1999-2025
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.