beautypg.com

2 external data memory, 3 internal data memory, 2 low-level api – Maxim Integrated 73S12xxF Software User Manual

Page 20: External data memory, Internal data memory, Low-level api, Table 1: upper 1 kb external data memory layout, Table 2: iram special function register map

background image

73S12xxF Software User Guide

UG_12xxF_016

20

Rev. 1.50

4.1.2 External Data Memory

The 2 KB of XRAM are available at address locations 0x0000 through 0x07FF. The upper 1K bytes of
the external data memory space (from 0xFC00 to 0xFFFF) is reserved for additional special function
registers for the 73S12xxF chip and is segmented as shown in

Table 1.

Table 1: Upper 1 KB External Data Memory layout

Function Space

# Bytes

Starting Address

Ending Address

Peripheral Control

128

0xFF80

0xFFFF

Smart Card Control

384

0xFE00

0xFF7F

USB Control

512

0xFC00

0xFDFF

4.1.3 Internal Data Memory

The 256 bytes of IRAM are available for use as scratch-pad RAM.

The IRAM Special Function Registers are mapped as shown in

Table 2

. All registers appearing in the

first column (000b) are bit-addressable:

Table 2: IRAM Special Function Register Map

HEX/BIN

000b

001b

010b

011b

100b

101b

110b

111b

0xF8 - 0xFF

0xF0 - 0xF7

b

0xE8 - 0xEF

0xE0 - 0xE7

acc

0xD8 - 0xDF

wdcon

0xD0 - 0xD7

psw

kcol

krow

kscan

kstat

ksize

korderl korderh

0xC8 - 0xCF

t2con

0xC0 - 0xC7

ircon

0xB8 - 0xBF

ien1

ip1

s0relh s1relh

0xB0 - 0xB7

p3

flshctl

pgadr

0xA8 - 0xAF

ien0

ip0

s0rell

0xA0 - 0xA7

usr15

8

udir15

8

0x98 - 0x9F

s0con

sobuf

ien2

s1con s1buf s1rell

0x90 - 0x97

usr70

udir70

dps

erase

0x88 - 0x8F

tcon

tmod

tl0

tl1

th0

th1

ckcon

mclkctl

0x80 - 0x87

sp

dp1

dph

dpl1

dph1

wdtrel

pcon

4.2 Low-level API

A low-level Application Programming Interface (API) is provided to control all hardware peripherals. An
application can link to the low-level API library to utilize the functions described in subsequent sections.

Before using the low-level API, an embedded application should call the API_Init() routine in the
beginning of the program as part of its initialization. As a general guideline, any feature to be included or
used in an application must first call its associated initialization routine. For example, to link the USB
module into an application, USB_Init() must first be called to initialize its associated registers for the USB
functions.

Each feature available with the 73S12xxF device has a sample application to demonstrate the library
function’s usage.