beautypg.com

Maxim Integrated MAXQ7666 User Manual

Page 379

background image

MAXQ7665/MAXQ7666 User’s Guide

16-2

SECTION 16: UTILITY ROM (SPECIFIC TO MAXQ7666 WITH TYPE F
FLASH)

The MAXQ7666 utility ROM includes routines that provide the following functions to application software:

• In-application programming routines for Type F flash memory (program, erase, mass erase)

• Single word/byte copy and buffer copy routines for use with lookup tables

• Temperature conversion routine to perform internal/remote diode-connected transistor based temperature measurement

The MAXQ7666 flash type is identified by bit 4 of the read-only OTP register (Module 5, Index 0Dh). For devices with Type F flash, OTP
register bit 4 (OTP.4) = 0. Only the MAXQ7666 supports Type F flash.

To provide backward 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 in Table 16-1 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 programFlashEraseAll function can be accessed and called by the following procedure.

get_urom_table_entry:

move dpc, #1Ch

//all data pointers in word mode

move dp[0], #0800Dh

//initialize dp[0]

move bp, @dp[0]

//load function address table location in bp

move offs, #2

//load function number in offs

call @bp[offs]

//call flashEraseAll

It is also possible to call utility ROM functions directly, using the entry points given in Table 16-1. Standard include files are provided
for this purpose with the MAXQ7666 development tool set. 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 16-1. Utility ROM User Functions (for Utility ROM Version 1.01)

FUNCTION NUMBER

FUNCTION NAME

ENTRY POINT

SUMMARY

0

programFlashWritePage

0882Ah

Writes an entire 32-word/64-byte program flash page.

1

programFlashErasePage

0883Fh

Erases (programs to FFFFh) two pages of program flash.

2 programFlashEraseAll

08866h

Erases (programs to FFFFh) the entire program flash
memory.

3

moveDP0

08874h

Reads a byte/word at DP[0]

4

moveDP0inc

08877h

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

5

moveDP0dec

0887Ah

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

6

moveDP1

0887Dh

Reads a byte/word at DP[1].

7

moveDP1inc

08880h

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

8

moveDP1dec

08883h

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

9

moveFP

08886h

Reads a byte/word at BP[OFFS].

10

moveFPinc

08889h

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

11

moveFPdec

0888Ch

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

12

copyBuffer

0888Fh

Copies LC[0] values from DP[0] to BP[OFFS].

13 tempConv

08895h

Performs

temperature

conversion.

14 — —

Reserved.

15 — —

Reserved.

Maxim Integrated

This manual is related to the following products: