Description

C.1 Description

The MSC1210 has a 2K ROM. This code provides the interaction for serial and parallel programming. There are also several routines that are useful and nec- essary for use with user applications. For example, when writing to flash memory, the code cannot execute out of flash memory. By calling the flash write routine in ROM, this condition is satisfied. Convenient access to those routines is supplied through a jump table summarized in Table C−1.

Table C−1. Boot ROM Routines

Address

Routine

C Declarations

Description

 

 

 

 

 

 

 

Output string (see Section

FFD5

put_string

void put_string(char code *string);

C.1.1)

 

 

 

 

FFD7

page_erase

char page_erase (int fadd, char fdat, char fdm);

Erase flash page

 

 

 

 

FFD9

write_flash

Assembly only; DPTR = address, R5 = data

Fast flash write

 

 

 

 

FFDB

write_flash_chk

char write_flash_chk (int fadd, char fdat, char fdm);

Write flash byte, verify

 

 

 

 

FFDD

write_flash_byte

char write_flash_byte (int fadd, char fdat, char fdm);

Write flash byte

 

 

 

 

 

 

 

Read HW config byte from

FFDF

faddr_data_read

char faddr_data_read(char faddr);

address

 

 

 

 

FFE1

data_x_c_read

char data_x_c_read(int faddr, char fdm);

Read xdata or code byte

 

 

 

 

FFE3

tx_byte

void tx_byte(char);

Send byte to UART0

 

 

 

 

FFE5

tx_hex

void tx_hex(char);

Send hex value to UART0

 

 

 

 

FFE7

putok

void putok(void);

Send OK to UART0

 

 

 

 

FFE9

rx_byte

char rx_byte(void);

Read byte from UART0

 

 

 

 

 

 

 

Read and echo byte on

FFEB

rx_byte_echo

char rx_byte_echo(void);

UART0

 

 

 

 

 

 

 

Read and echo hex on

FFED

rx_hex_echo

char rx_hex_echo(void);

UART0

 

 

 

 

 

 

 

Read int as hex and echo:

FFEF

rx_hex_int_echo

Int rx_hex_int_echo(void);

UART0

 

 

 

 

 

 

 

Read int reversed as hex and

FFF1

rx_hex_rev_echo

Int rx_hex_rev_echo(void);

echo: UART0

 

 

 

 

FFF3

autobaud

void autobaud(void);

Set baud with received CR

 

 

 

 

FFF5

putspace4

void putspace4(void);

Output 4 spaces to UART0

 

 

 

 

FFF7

putspace3

void putspace3(void);

Output 3 spaces to UART0

 

 

 

 

FFF9

putspace2

void putspace2(void);

Output 2 spaces to UART0

 

 

 

 

FFFB

putspace1

void putspace1(void);

Output 1 space to UART0

 

 

 

 

FFFD

putcr

void putcr(void);

Output CR, LF to UART0

 

 

 

 

F97D(1)

cmd_parse

void cmd_parser(void)

See SBAA076B.pdf

FD3B(1)

 

 

Push registers and call

monitor_isr

void monitor_isr() interrupt 6

cmd_parser

Note: 1) These addresses only relate to version 1.0 of the MSC1210 Boot ROM.

C-2

Page 280
Image 280
Texas Instruments MSC1210 manual Table C−1. Boot ROM Routines, Address Routine Declarations Description