beautypg.com

Section 24: utility rom (specific to maxq2010), 1 overview, 1 overview -1 – Maxim Integrated MAXQ Family Users Guide: MAXQ2010 Supplement User Manual

Page 135: Maxq family user’s guide: maxq2010 supplement

background image

MAXQ Family User’s Guide:

MAXQ2010 Supplement

24-1

SECTION 24: UTILITY ROM (SPECIFIC TO MAXQ2010)

24.1 Overview

The MAXQ2010 utility ROM includes routines that provide the following functions to application software:
• In-application programming routines for flash memory (program, erase, mass erase)
• Single word/byte copy and buffer copy routines for use with lookup tables
• Entry into stop mode
To provide backwards compatibility among different versions of the utility ROM, a function address table is included
that contains the entry points for all user-callable functions. With this table, user code can determine the entry point
for a given function as follows:
1. Read the location of the function address table from address 0800Dh in the utility ROM.
2. The entry points for each function listed below are contained in the function address table, one word per function,

in the order given by their function numbers.

For example, the entry point for the UROM_flashEraseAll function can be determined by the following procedure.
1. functionTable = dataMemory[0800Dh]
2. flashWriteEntry = dataMemory[functionTable + 2]
It is also possible to call utility ROM functions directly, using the entry points given above. Standard include files are
provided for this purpose with the MAXQ development toolset; also see Appendix 1. This method calls functions more
quickly, but the application may need to be recompiled in order to run properly with a different version of the utility
ROM.

Table 24-1. Functions for MAXQ2010 Utility ROM Version 1.00

INDEX

FUNCTION NAME

ENTRY POINT

SUMMARY

0

UROM_flashWrite

83CEh

Programs a single word of flash memory.

1

UROM_flashErasePage

83F1h

Erases (programs to FFFFh) a 512-word sector of flash memory.

2

UROM_flashEraseAll

8407h

Erases (programs to FFFFh) all flash memory.

3

UROM_moveDP0

8416h

Reads a byte/word at DP[0].

4

UROM_moveDP0inc

8419h

Reads a byte/word at DP[0], then increments DP[0].

5

UROM_moveDP0dec

841Ch

Reads a byte/word at DP[0], then decrements DP[0].

6

UROM_moveDP1

841Fh

Reads a byte/word at DP[1].

7

UROM_moveDP1inc

8422h

Reads a byte/word at DP[1], then increments DP[0].

8

UROM_moveDP1dec

8425h

Reads a byte/word at DP[1], then decrements DP[0].

9

UROM_moveBP

8428h

Reads a byte/word at BP[OFFS].

10

UROM_moveBPinc

842Bh

Reads a byte/word at BP[OFFS], then increments OFFS.

11

UROM_moveBPdec

842Eh

Reads a byte/word at BP[OFFS], then decrements OFFS.

12

UROM_copyBuffer

8431h

Copies LC[0] values (up to 255) from DP[0] to BP[OFFS].

13

UROM_stopMode

8437h

Enters stop mode.