14.17.1 Execution Memory Window
The Execution Memory window displays locations in the range of program and/or data memory for the currently selected 32-bit device.
For the MPLAB X Simulator, when an execution memory value changes or the processor is halted, the data in the Execution Memory window is updated.
For any Microchip hardware debug tool (e.g., MPLAB ICD 5 in-circuit emulator), when an execution memory value changes or the processor is halted, the data in the Execution Memory window is NOT updated; you must do a Read of device memory.
Execution Memory Window Display
You may specify how memory is displayed in the window by selecting from the Format drop-down box on the bottom of the window.
When using a hardware tool for debug, some registers may show an R for each nibble of data to represent a reserved resource.
Code Format
This format displays execution memory information as hex code. The window will have the following columns:
- Line – Reference line number corresponding to memory address.
- Address – Physical hexadecimal address of the opcode.
- Opcode – Hexadecimal opcode, shown in 4-byte blocks. The opcode that is highlighted represents the current location of the program counter.
- Label – Opcode label in symbolic format.
- Disassembly – A disassembled version of the opcode mnemonic.
Data Format
This window will have the following columns:
- Address – Hexadecimal address of the data in the next column.
- Data Blocks – Hexadecimal data, shown in 4-byte blocks.
- ASCII – ASCII representation of the corresponding line of data.
Execution Memory Window Icons
Icons are located on the left side of the window.
Icon | Icon Text | Function |
---|---|---|
Refresh by Read Device Memory | Same function as the Debug toolbar Read Device Memory icon - uploads device memory to the MPLAB X IDE. | |
Find | Specify a string to find in the window. Select to match whole word or case. | |
Find Next | Find next instance of string from Find. | |
Find Previous | Find previous instance of string from Find. | |
Go To | Go to specified line number or address. |
Execution Memory Window Menu
Right click in the memory window data area set to CODE FORMAT to pop up this menu. Not all items may be visible for all 32-bit MCUs.
Item | Description |
---|---|
Virtual
Address (KSEG[0:1]) |
Select virtual addresses for display. See your device data sheet for details. |
Physical Address | Select physical addresses for display. |
Run to Cursor | Run the program to the current cursor location. |
Step Instruction | Perform a step instruction. |
Set PC at Cursor | Set the Program Counter (PC) to the cursor location. |
Focus Cursor at PC | Move the cursor to the current PC address and centers this address in the window. |
Toggle Breakpoint | Toggle (on/off) existing breakpoint. |
Symbolic Mode | Display disassembled hex code with symbols. |
Auto Decode 16 bit | Use MIP16 / microMIPS instruction decoding. See your device data sheet for details. |
Fill Memory | Fill
memory from Start Address to End
Address with the value in
Data. Specify other options in the Fill Memory dialog. |
Go To | Go to the address/function specified using the Go To dialog. |
Go To Source Line | Go to the corresponding line in source code in the editor. |
Find | Find text specified using the Find dialog. |
Output To File | Write the displayed window contents to a text file using the Output to File dialog. |
Print the
contents of this window using the Print
dialog. Note: If
you have a large memory device, the number of pages printed can
become very large. A suggestion is to print the window contents
to a file (Print dialog,
General tab, Print to
File check box) and then select which pages from
the file you need to print. |
|
Adjust Table Columns | Adjust the columns automatically. |
Right click in the memory window data area set to DATA FORMAT to pop up the menu. Not all items may be visible for all 32-bit MCUs.
Item | Description |
---|---|
Virtual
Address (KSEG[0:1]) |
Select virtual addresses for display. See your device data sheet for details. |
Physical Address | Select physical addresses for display. |
Hex Width Display | Set the
hexadecimal display width. (Options depend on the device selected). Example: One byte, e.g., 00 01 02 ... 0E 0F Two bytes, e.g., 00 02 04 ... 0C 0E Four bytes, e.g., 00 04 08 0C |
Fill Memory | Fill memory from
Start Address to End
Address with the value in
Data. Specify other options in the Fill Memory dialog. |
Go To | Go to the address/function specified using the Go To dialog. |
Find | Find text specified using the Find dialog. |
Output To File | Write the displayed window contents to a text file using the Output to File dialog. |
Import Table | Import tabular data from a file into a Memory window using the Import Table dialog. |
Export Table | Export tabular data from a Memory window into a file using the Export Table dialog. |
Print the contents of this
window using the Print dialog. Note: If you have a
large memory device, the number of pages printed can become very
large. A suggestion is to print the window contents to a file
(Print dialog,
General tab, Print to
File check box) and then select which pages from
the file you need to print. |
|
Adjust Table Columns | Adjust the columns automatically. |