Section 22 – in-system programming, 1 – detailed description, Ds4830a user’s guide – Maxim Integrated DS4830A Optical Microcontroller User Manual

Page 179

Advertising
background image

DS4830A User’s Guide

179

SECTION 22 – IN-SYSTEM PROGRAMMING

The DS4830A contains an internal bootstrap loader utilizing the JTAG or I

2

C interfaces. As a result, system software

can be upgraded in-system, eliminating the need for a costly hardware retrofit when software updates are required.
After each device reset, DS4830A ROM code is executed which determines if bootloader operation is desired.
Figure 22-1 provides information on how the DS4830A enters into bootloader operation.

Any Device Reset Occurs

Reset Device.

Begin Boot ROM code

execution at

8000h.

ROM Code enable the

Slave I

2

C Interface

Is JTAG_SPE

bit set?

Is I2C_SPE

bit set?

Jump to user

code

(flash) at 0000h,

Set PSS{1:0] = 01

Bootloader

Exit Bootloader

Delay 320 Clock Cycles
Set PWL and ROD bits.

Yes

No

Yes

No

Is PSS[1:0]

!= 1X

Exit Loader
Command

Yes

No

Figure 22-1: Entering Bootloader Operation

22.1 – Detailed Description

Following every reset, device ROM code is executed which determines if the DS4830A should enter into a
bootloader mode. First, the ICDF register, which is not cleared by a reset, is read to see if the System Programming
Enable (SPE) bit is set. See the Entering JTAG Bootloader section for more details on setting the SPE bit. If SPE is
set, the DS4830A will enter into bootloader operation.

If SPE is not set, the DS4830A then enables the slave I

2

C interface. The I2C_SPE bit in the I2C_SPB register is

read to determine if I

2

C bootloader operation is desired. The I2C_SPB register is not cleared by a reset. See the

Entering I

2

C Bootloader section for more details on setting the I2C_SPE bit. If I2C_SPE is set, the DS4830A will set

the PSS[1:0] bits to 01, which designates I

2

C bootloader, and enter bootloader operation.


If none of the preceding conditions have been met, the DS4830A ROM code will be complete. The DS4830A will
then jump to program memory location 0000h and begin normal program execution.

Advertising