C-Callable Interface to Flash Algorithms

PRELIMINARY

;**Variables included from flash algorithms.

.include ºsvar20.hº

;Variable declarations

.ref

GCLR

;References clear algo.

.ref

GPGMJ

;References program algo.

.ref

GERS

;References erase algo.

.ref

FLWS

;References flash±write algo.

;**Parameters used by flash algorithms.

.def

PRG_bufaddr, PRG_paddr

.def

PRG_length, PARMS

.def

SEG_ST,SEG_END,PROTECT

*************************************************************

VARS: .usect ºPRG_dataº,16 ;This is an uninitialized data

*

;section required by the standard *

;flash algos for temporary

*

;variables. Pointers to this

*

;space are hardcoded in SVAR20.H, *

;and variables are init'd at

*

;run time.

*

*************************************************************

PARMS: .usect ºPRG_parmº,10 ;This is an uninitialized data

*

;section used for temporary

*

;variables and for passing

*

;parameters to the flash

*

;algorithms.

*

*************************************************************

PROTECT .set PARMS ;Segment enable bits.*

*************************************************************

*****Parameters needed for Programming algorithm. ********

*************************************************************

PRG_bufaddr

.set

PARMS+1

;Addr of buffer for pgm data

*

PRG_paddr

.set

PARMS+2

;First flash addr to program

*

PRG_length

.set

PARMS+3

;Length of block to program

*

*************************************************************

**Parameters needed for CLEAR, ERASE, and FLW algorithms. *

*************************************************************

SEG_ST

.set

PARMS+4

;Segment

start address.

*

SEG_END

.set

PARMS+5

;Segment

end address.

*

*************************************************************

****Other misc variables.****

*************************************************************

ERS_COUNT .set

PARMS+6

;Used

for erase fail count.

*

SV_AR1

.set

PARMS+7

;Used

to save AR1.

*

**************************************************************

.sect ºPRG_textº

**********************************************************

*

function erase(PROTECT,SEG_ST,SEG_END)

*

* Status is returned in the accumulator.

*

*

0 = Fail,1 = Pass

*

**********************************************************

*

This function performs the clear and erase operation

*

*

on the 'F2XX flash. If the erase operation fails, the *

*

flash±write operation is used to try to recover from

*

*

depletion. If the array recovers, the entire process

*

*

(clr+ers+flw) is repeated a maximum of 10 times. The

*

*

return value indicates the status. If this function

*

A-28

PRELIMINARY

Page 80
Image 80
Texas Instruments TMS320F20x/F24x DSP Gclr, Segst,Segend,Protect, PARMS+1, PARMS+2, PARMS+3, PARMS+4, PARMS+5, PARMS+6