beautypg.com

3 data transfer functions, 3 data transfer functions -3, Maxq family user’s guide: maxq2010 supplement – Maxim Integrated MAXQ Family Users Guide: MAXQ2010 Supplement User Manual

Page 137

background image

MAXQ Family User’s Guide:

MAXQ2010 Supplement

24-3

24.3 Data Transfer Functions

The following utility ROM functions are used to transfer data from one memory segment to another. They fall into two
categories:
• The UROM_moveDP0, UROM_moveDP1, and UROM_moveBP functions are used

to read data that exists in the currently executing segment of program memory. For example, code running from
the program flash can use these functions to read data (such as constant string or array data or lookup tables) that
is also stored in the program flash. These functions can also be used by code running from the RAM to read data
stored in the RAM.

• The UROM_copyBuffer function is used to copy a block of data from the program flash or data RAM to a specified

location in the data RAM. This is often used to copy code into the data RAM before executing it.

Since these functions are executed from the utility ROM, addresses must be specified correctly to point to memory
spaces as seen when executing from the Utility ROM. This is illustrated in Figure 24-1.
For example, data located at word address 0100h in the program flash must be accessed at word address 8100h (or
byte address 8200h) when using any of the functions listed in the following sections.

Figure 24-1. Memory Map When Executing from Utility ROM

2K x 16

UTILITY ROM

32K x 8

LOWER HALF

(PAGE 0) OF

PROGRAM FLASH

MEMORY

32K x 8

UPPER HALF

(PAGE 1) OF

PROGRAM FLASH

MEMORY

32K x 16

PROGRAM FLASH

16K x 16

PROGRAM FLASH

(PAGE 0)

16K x 16

PROGRAM FLASH

(PAGE 1)

2K x 8

DATA SRAM

FFFFh

FFFFh

8000h

A3FFh

A000h

87FFh

8000h
7FFFh

4000h
3FFFh

0000h

07FFh

0000h

FFFFh

8000h

07FFh

0000h

FFFFh

8000h

03FFh

0000h

2K x 8

DATA SRAM

1K x 16

DATA SRAM

1K x 16

DATA SRAM

PROGRAM

SPACE

DATA SPACE

(BYTE MODE, CDA0 = 0)

DATA SPACE

(BYTE MODE, CDA0 = 1)

DATA SPACE

(WORD MODE)

EXECUTING FROM