Memory
Contents
The following content has been imported from Legacy Help systems and is in the process of being checked for accuracy.
Function
The various memory panels available for a processor enable you to interrogate the different memory spaces associated to that processor, concurrently.
Content and Use
The behavior of each of the available memory panels is identical, regardless of the memory space represented:
- address space typically starts at 00000000h when displayed in the panel, regardless of where the memory physically resides in the processor's memory map
- memory space is divided into rows of 16 cells, with each cell representing an address in memory space and the value contained therein, in hex format. The Data column reflects the value at each address (in the associated row) in ASCII format
- a field is included at the top of each panel for filtering, allowing you to jump to row containing the specific address of interest within the represented memory space.
- a refresh button at the top left of the panel enables you to manually refresh/update the contents of the memory space.
Changing the Contents of Memory
To change the contents of an address in memory, click on the desired cell and type the new hexadecimal value as required. If the memory is writable, it will automatically be refreshed with the entered value. If it is read-only, the new value will be discarded and the memory location will remain unchanged.
Defining Breakpoints in Memory
Memory address breakpoints can be added directly to addresses from within the relevant panel for the required memory space. To add a breakpoint at a single address, right-click over that address in memory and choose when the breakpoint is to be applied (on read, on write, on read or write).
The breakpoint will be added to the Breakpoints panel and is initially enabled.
The entry in the Breakpoints panel displays the specific memory space (e.g. data) and address in that space (e.g. 0x38) at which the breakpoint has been specified. Additional information is displayed to indicate when the breakpoint is applied - r (when the address is read), w (when the address is written), or rw (when the address is read or written).
You can apply a breakpoint to a consecutive range of addresses in a memory space. To do this, click-drag-and highlight the address range required, right-click within the range and choose the required breakpoint type.
In the Breakpoints panel, the entry for the breakpoint includes the address range.
Should you wish to apply a breakpoint to a block of memory where the addresses are not consecutive, hold down the ALT key whilst dragging to highlight the addresses required and then right-click to set the breakpoint.
Although a block of addresses has been specified, breakpoints themselves can only be applied to consecutive address ranges. Therefore, for an address block, separate breakpoints are created for each distinct row of the block. For the example in the previous image, three separate breakpoints would be created and displayed in the Breakpoints panel, as shown below.
Available Memory Panels
The number of memory panels available depends on the type of processor currently being debugged. Click on the following drop-down sections to see a listing of panels available for each processor type.
TSK165A_D, TSK165B_D, TSK165C_D
- Data Memory
- Program Memory
- Stack
TSK3000A, PPC405A
- Main
TSK51A_D, TSK52A_D, TSK52B_WD
- BDATA
- Bit
- BSFR
- Data Memory
- External Data
- Lower 128/Upper 128
- PDATA
- Program Memory
- SFR
- SFR Bit
TSK80A_D
- Program Memory
- SFR
Notes
- The filter field will jump you to the row in which the specified address resides, and not to the actual address cell itself. The address you specify must be entered as an integer. For example, entering 17 will focus the second row of addresses, as this corresponds to address 00000011h in hexadecimal format.
- If you try to add a memory address breakpoint to an address and the type of breakpoint is not valid - for example the type of breakpoint is Break on Write, but the memory space is Read-only - the request will be ignored and the breakpoint will not be added.
- Memory address breakpoints can be disabled or deleted ONLY from within the Breakpoints panel. For more detailed information with respect to modifying memory address breakpoints, including setting counts and making a breakpoint conditional, refer to the Breakpoints panel topic, in the Embedded Panels section of this technical reference.