7.CODE DEVELOPMENT

7.1. HMON

7.1.1.MODE SUPPORT

The HMON library is built to support Normal Mode only.

7.1.2.BREAKPOINT SUPPORT

The monitor utilises the Address Break Controller for code located in ROM, allowing a single breakpoint to be set in the code. Code located in RAM may have multiple breakpoints limited only by the size of the On-Chip RAM.

Due to a limitation of the internal address break controller, a breakpoint set in ROM will execute the instruction at the breakpoint and stop on the subsequent op-code.

7.1.2.1.CODE LOCATED IN FLASH / ROM

Double clicking in the breakpoint column in the code sets the breakpoint. Adding a further breakpoint in the code removes the previous one. A warning message will be displayed in the message window when this occurs.

7.1.2.2.CODE LOCATED IN RAM

Double clicking in the breakpoint column in the code sets the breakpoint. Breakpoints will remain unless they are double clicked to remove them.

7.1.3.HMON CODE SIZE

HMON is built along with the debug code. Certain elements of the HMON code must remain at a fixed location in memory. The following table details the HMON components and their size and location in memory. For more information, refer to the map file when building code.

Section

Description

Start Location

Size

 

 

 

(H’bytes)

 

 

 

 

RESET_VECTOR

HMON Reset Vector (Vector 0)

H’ 0000

2

 

Required for Startup of HMON

 

 

TRAP_VECTORS

Trap Vectors (Vector 8, 9, 10, 11)

H’ 0010

8

 

Required by HMON to create Trap Breakpoints in RAM

 

 

HW_BREAK_VECTORS

HMON Break Controller (Vector 12)

H’ 0018

2

 

Required by HMON to create Breakpoints in ROM

 

 

SCI_VECTOR

HMON Serial Port Vectors (Vector 23)

H’ 002E

2

 

Used by HMON when EDK is configured to connect to the

 

 

 

default serial port.

 

 

PHMON

HMON Code

H’ 1000

2C3D

CHMON

HMON Constant Data

H’ 2C3E

2D10

BHMON

HMON Uninitialised data

H’ FC80

1FD

FDTInit

FDT User Mode Kernel.

H’ 0400

F7

 

This is at a fixed location and must not be moved. Should the

 

 

 

kernel need to be moved it must be re-compiled.

 

 

FDTUserModeMicroKernel

FDT User Mode Kernel.

H’ 0500

6CC

 

This is at a fixed location and must not be moved. Should the

 

 

 

kernel need to be moved it must be re-compiled.

 

 

CUser_Vectors

Pointer used by HMON to point to the start of user code.

H’ 0C00

4*

* CUserVectors is a long word location with the upper 16 bits set to zero.

14

Page 14
Image 14
Renesas EDK3687 user manual Code Located in Flash / ROM, Code Development