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

MAXQ Family User’s Guide:
MAXQ8913 Supplement
25-3
25.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
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 25-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 25-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)
4K x 8
DATA SRAM
FFFFh
FFFFh
8000h
A7FFh
A000h
87FFh
8000h
7FFFh
4000h
3FFFh
0000h
0FFFh
0000h
FFFFh
8000h
0FFFh
0000h
FFFFh
8000h
07FFh
0000h
4K x 8
DATA SRAM
2K x 16
DATA SRAM
2K x 16
DATA SRAM
PROGRAM
SPACE
DATA SPACE
(BYTE MODE, CDA0 = 0)
DATA SPACE
(BYTE MODE, CDA0 = 1)
DATA SPACE
(WORD MODE)
EXECUTING FROM
Maxim Integrated