📄 era24_x1.lst
字号:
fea1 fea7+
A 148 fea2 7980 B XOR_ERASE ;Check again.
fea3 fe7c+
A 149 fea4 XOR_ERFIN
A 150 fea4 7a80 CALL CLR_CMND ;Clear SEG_CTR and Return.
fea5 fee8+
A 151 fea6 ef00 RET
A 152
A 153 *************************************************
A 154 * INC_ERASE: This routine increments the erase *
A 155 * pulse count and checks against max. The count *
A 156 * is passed in AR1, and AR0 is used to check it.*
A 157 *************************************************
A 158 fea7 INC_ERASE
A 159 fea7 8ba0 MAR *+ ;Increment Erase count.
A 160 fea8 bf08 LAR AR0,#MAX_ER
fea9 03e8
A 161 feaa bf46 CMPR 2 ;If AR1>MAX_ER then
A 162 feab e100 BCND EXIT,TC ;fail, don't continue erasing.
feac fe75+
A 163 fead ef00 RET ;else return.
A 164
A 165 *************************************************
A 166 * SET_MODE: This routine sets the flash in the *
A 167 * mode specified by the contents of B2_0. This *
A 168 * cam be used for VER0,VER1,AND INVERASE. *
A 169 *************************************************
A 170 feae SET_MODE
A 171
A 172 ; OUT DUMMY, F24X_ACCS ;(DAF)
A 173 feae 7a80 CALL REGS ;ACCESS FLASH REGS
feaf fef7+
A 174
A 175 feb0 6921! LACL FL_ST ;ACC => SEG_CTR.
A 176 feb1 a70d! TBLW B2_0 ;Activate MODE.
A 177 feb2 0b17! RPT DLY10 ;(DAF)
A 178 feb3 8b00 NOP
A 179 ; LAR AR6,#D10 ;SET DELAY
A 180 ; CALL DELAY,*,AR6 ;WAIT *
A 181
A 182 ; IN DUMMY, F24X_ACCS ;(DAF)
A 183 feb4 7a80 CALL ARRAY ;ACCESS FLASH ARRAY *
feb5 fef4+
A 184
A 185 feb6 ef00 RET
A 186
A 187
A 188 ************************************************
A 189 * INV_ERASE: This routine is used to check for *
A 190 * depletion in the flash array. *
A 191 * AR2 - Used for main banz loop. *
TMS320C1x/C2x/C2xx/C5x COFF Assembler Beta Version 6.63 Tue Nov 30 13:52:44 1999
Copyright (c) 1987-1996 Texas Instruments Incorporated
ERA24_X1.ABS PAGE 5
A 192 * B2_0 - Parameter passed to Set_mode. *
A 193 * B2_1 - Used for flash address. *
A 194 * B2_2 - Used for flash data. *
A 195 ************************************************
A 196 feb7 INV_ERASE
A 197 feb7 ae0d! SPLK #INV_ER,B2_0
feb8 0018
A 198 feb9 7a80 CALL SET_MODE ;Set inverse-erase mode.
feba feae+
A 199 febb a80e! BLDD #FL_ST,B2_1 ;Array start address.
febc 0321!
A 200 febd b21f LAR AR2,#31 ;Loop count.
A 201 febe 8b8a MAR *,AR2
A 202 febf NEXT_IVERS
A 203 febf 690e! LACL B2_1 ;Get address.
A 204 fec0 a60f! TBLR B2_2 ;Dummy read.
A 205 fec1 a60f! TBLR B2_2 ;Read data.
A 206 fec2 b801 ADD #1 ;Increment address.
A 207 fec3 900e! SACL B2_1 ;Save address.
A 208 fec4 b900 ZAC
A 209 fec5 200f! ADD B2_2 ;Add data.
A 210 fec6 e308 BCND EXIT, NEQ ;If ACC<>0, then fail.
fec7 fe75+
A 211 *Else continue, until until done with row.
A 212 fec8 7b90 BANZ NEXT_IVERS ;Loop 32 times.
fec9 febf+
A 213 feca 7a80 CALL CLR_CMND ;Disable flash commands.
fecb fee8+
A 214 fecc ef00 RET ;If here then test passed.
TMS320C1x/C2x/C2xx/C5x COFF Assembler Beta Version 6.63 Tue Nov 30 13:52:44 1999
Copyright (c) 1987-1996 Texas Instruments Incorporated
ERA24_X1.ABS PAGE 6
A 216 ************RDP***************
A 217
A 218
A 219 fecd ERASE_A
A 220 * SETUP FLASH ERASE COMMANDS FOR PROTECT MASK DEFINED IN **
A 221 * LINK COMMAND FILE. **
A 222 fecd 691c! LACL PROTECT ;GET SEGMENT PROTECT MASK **
A 223 fece bfc0 OR #ER_CMND ;OR IN ERASE COMMAND **
fecf 0002
A 224 fed0 9012! SACL B2_5 ;B2_5 = ERASE COMMAND **
A 225 fed1 bfc0 OR #ER_EXE ;OR IN EXEBIN COMMAND **
fed2 0043
A 226 fed3 9013! SACL B2_6 ;B2_6 = ERASE EXE COMMAND **
A 227
A 228 * MUST LOAD WDATA WITH FFFF AS DESCRIBED IN STEP xx IN **
A 229 * TABLE 9. **
A 230 fed4 ae10! SPLK #0FFFFh,B2_3 ;WDATA VALUE FOR ERASE
fed5 ffff
A 231 fed6 1021! LACC FL_ST ;ACC => FLASH **
A 232 fed7 a710! TBLW B2_3 ;SET WDATA = FFFF *
A 233
A 234 * THIS SECTION ACTIVATES THE WRITE COMMAND AS DESCRIBED
A 235 * IN STEPS xx/xx IN TABLE 9.
A 236 fed8 7a80 CALL CLR_CMND ;CLEAR EXISTING CONDITION
fed9 fee8+
A 237
A 238 ; OUT DUMMY, F24X_ACCS ;(DAF)
A 239 feda 7a80 CALL REGS ;ACCESS FLASH REGS
fedb fef7+
A 240 fedc 1021! LACC FL_ST ;ACC => FLASH
A 241 fedd a712! TBLW B2_5 ;ACTIVATE ERASE
A 242 fede 0b17! RPT DLY10 ;(DAF)
A 243 fedf 8b00 NOP
A 244 ; LAR AR6,#D10 ;SET DELAY
A 245 ; CALL DELAY,*,AR6 ;WAIT
A 246
A 247 ; THIS SECTION ACTIVATES THE EXEBIN COMMAND AS DESCRIBED
A 248 ; IN STEPS xx/xx IN TABLE 9.
A 249 fee0 a713! TBLW B2_6 ;START ERASURE
A 250 fee1 0b19! RPT DLY3K3 ;(DAF) 3.3mS delay
A 251 fee2 8b00 NOP
A 252 fee3 0b19! RPT DLY3K3 ;(DAF) 3.3mS delay
A 253 fee4 8b00 NOP
A 254 ; LAR AR6,#D7K ;SET DELAY to 7ms
A 255 ; CALL DELAY,*,AR6 ;WAIT
A 256 fee5 7a80 CALL CLR_CMND ;DEACTIVATE COMMAND
fee6 fee8+
A 257 fee7 ef00 RET ;RETURN TO CALLING SEQUENCE
A 258
A 259 fee8 CLR_CMND
A 260 ; THIS SECTION DE-ACTIVATES ERASE OPERATION AS DESCRIBED **
A 261 ; IN STEPS xx/xx IN TABLE 9. **
A 262
A 263
TMS320C1x/C2x/C2xx/C5x COFF Assembler Beta Version 6.63 Tue Nov 30 13:52:44 1999
Copyright (c) 1987-1996 Texas Instruments Incorporated
ERA24_X1.ABS PAGE 7
A 264 ; OUT DUMMY, F24X_ACCS ;(DAF)
A 265 fee8 7a80 CALL REGS ;ACCESS FLASH REGISTERS **
fee9 fef7+
A 266 feea 1021! LACC FL_ST
A 267 feeb ae0d! SPLK #0,B2_0 ;STOP ERASE COMMAND **
feec 0000
A 268 feed a70d! TBLW B2_0 ;STOP ERASURE **
A 269 feee a70d! TBLW B2_0 ;STOP ERASURE AGAIN **
A 270 feef 0b17! RPT DLY10 ;(DAF)
A 271 fef0 8b00 NOP
A 272 ; LAR AR6,#D10 ;SET DELAY **
A 273 ; CALL DELAY,*,AR6 ;WAIT **
A 274
A 275
A 276 ; IN DUMMY, F24X_ACCS ;(DAF)
A 277 fef1 7a80 CALL ARRAY ;ACCESS FLASH ARRAY **
fef2 fef4+
A 278 fef3 ef00 RET ;RETURN TO CALLING SEQUENCE **
A 279
A 280 fef4 af16! ARRAY: IN DUMMY, F24X_ACCS
fef5 ff0f
A 281 ; LDP #0E0H
A 282 ; SPLK #0,7018H
A 283 ; LDP #6
A 284 fef6 ef00 RET
A 285
A 286 fef7 0c16! REGS: OUT DUMMY, F24X_ACCS
fef8 ff0f
A 287 ; LDP #0E0H
A 288 ; SPLK #0800H,7018H
A 289 ; LDP #6
A 290 fef9 ef00 RET
A 291
A 292 .end
No Errors, No Warnings
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -