📄 c2xx_bpx.lst
字号:
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 6.60 Thu Sep 18 16:53:22 1997
Copyright (c) 1987-1995 Texas Instruments Incorporated
C2XX_BPX.ASM PAGE 4
163 .if (PLL_MF_40 )
164 SPLK #00E3h,PLL_CNTL2 ;PLL_MF = 4.0 =20MHz
165 .endif
166
167 .if (PLL_MF_45 )
168 SPLK #00EDh,PLL_CNTL2 ;PLL_MF = 4.5 =20MHz
169 .endif
170
171 .if (PLL_MF_50 )
172 SPLK #00E4h,PLL_CNTL2 ;PLL_MF = 5.0 =20MHz
173 .endif
174
175 .if (PLL_MF_90 )
176 SPLK #00F5h,PLL_CNTL2 ;PLL_MF = 9.0 =20MHz
177 .endif
178
179 .if (PLL_ENABLE = YES)
180 0007 ae2b SPLK #0081h,PLL_CNTL1 ;Enable PLL, SYSCLK=CLKIN/2 =CPUCLK/2,
0008 0081
181 .else
182 SPLK #0041h,PLL_CNTL1 ;Disable PLL, SYSCLK=CLKIN/2 =CPUCLK/2,
183 .endif
184
185 0009 ae29 SPLK #006Fh, WD_CNTL
000a 006f
186 000b ae25 SPLK #05555h, WD_KEY
000c 5555
187 000d ae25 SPLK #0AAAAh, WD_KEY
000e aaaa
188
189 000f bc00+ ldp #PARMS ; Defines data page
190 0010 ae06+ splk #0,PRG_status
0011 0000
191 0012 ae0f splk #0,ERROR
0013 0000
192 0014 7980 b PRG_stop
0015 002f+
193 ;
194 ; F**************************************************************************
195 ; Name: PRG_program
196 ;
197 ; Description
198 ; Transfers a block of data from RAM to Flash/programmable memory
199 ; PRG2xxw will execute this after PRG_init by default. If the command
200 ; line does not have any options -e or -v.
201 ; If the option specified is -e then the execution sequence will be:
202 ; PRG_init > PRG_erase > PRG_program and then PRG_stop
203 ; If the option specified is -v, then the execution sequence will be:
204 ; PRG_init > PRG_program, PRG_verify and then PRG_stop
205 ; Inputs
206 ; unsigned *PRG_paddr Pointer to first address to program
207 ; unsigned PRG_page Page to program, Program == 0, Data == 1
208 ; unsigned PRG_length Number of words to program
209 ; unsigned *PRG_bufaddr Pointer to program data buffer
210 ;
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 6.60 Thu Sep 18 16:53:22 1997
Copyright (c) 1987-1995 Texas Instruments Incorporated
C2XX_BPX.ASM PAGE 5
211 ; Outputs
212 ; int PRG_status Pass =0; Fail = 1;
213 ;
214 ; Notes:
215 ; The PRG_page value is setup by the host but not used in this case.
216 ; The assumption is that the programmable device is in program space.
217 ; F**************************************************************************
218
219 0016 bc00+ PRG_program: ldp #PARMS ;Point to data page
220 ;no calls for Flash algorithms
221 0017 690f lacl ERROR
222 0018 ba01 sub #1
223 0019 e388 bcnd err2,eq
001a 0021+
224 001b 7a80 call GPGMJ
001c 0000!
225 001d ae06+ splk #0,PRG_status ;update algorithm status
001e 0000
226 001f 7980 b PRG_stop ;Branch to stop
0020 002f+
227
228 0021 ae06+ err2: splk #1,PRG_status ;Error in Program stage
0022 0001
229 0023 7980 b PRG_stop
0024 002f+
230 ;
231 ; F**************************************************************************
232 ; Name: PRG_erase
233 ;
234 ; Description
235 ; Erase a programmed device. This module will be executed if the PRG2xxw
236 ; command line option specified is -e.
237 ; Inputs
238 ; None:
239 ;
240 ; Outputs
241 ; int PRG_status Pass =0; Fail = 1;
242 ;
243 ; Notes:
244 ; The erase is device specific.
245 ; F**************************************************************************
246
247 0025 PRG_erase:
248 0025 bc00+ ldp #PARMS
249 0026 ae06+ err1: splk #1,PRG_status; Error in CLEAR or Erase
0027 0001
250 0028 7980 b PRG_stop
0029 002f+
251
252 ;
253 ; F**************************************************************************
254 ; Name: PRG_verify
255 ;
256 ; Description
257 ; Verify a block of programmed data. This module will be excuted if the
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 6.60 Thu Sep 18 16:53:22 1997
Copyright (c) 1987-1995 Texas Instruments Incorporated
C2XX_BPX.ASM PAGE 6
258 ; command line option in PRG2xxw is -v.
259 ;
260 ; Inputs Defined by host
261 ; unsigned *PRG_paddr Pointer to first address to verify
262 ; unsigned PRG_page Page to verify, Program == 0, Data == 1
263 ; unsigned PRG_length Number of words to verify
264 ; unsigned *PRG_bufaddr Pointer to verify data buffer
265 ;
266 ; Outputs
267 ; int PRG_status Pass =0; Fail = 1;
268 ;
269 ; Notes:
270 ; The PRG_page value is setup by the host but not used in this case.
271 ; The assumption is that the programmable device is in program space.
272 ; F**************************************************************************
273
274 002a PRG_verify:
275 002a bc00+ ldp #PARMS
276 002b ae06+ error: splk #1,PRG_status ;
002c 0001
277 002d 7980 b PRG_stop ;Generate a breakpoint
002e 002f+
278
279 ;
280 ; F**************************************************************************
281 ; Name: PRG_stop
282 ;
283 ; Description
284 ; Exit routine for all programming functions.
285 ;
286 ; Inputs
287 ; None
288 ;
289 ;
290 ; Outputs
291 ; None
292 ;
293 ; Notes:
294 ; Exit point for all programming functions
295 ; The ESTOP opcode gets executed as a NOP when not in emulation
296 ; mode. The "b $" will keep the program from running off if
297 ; not in emulation mode.
298 ;
299 ; F**************************************************************************
300 002f PRG_stop:
301
302 002f 8b00 nop
303 0030 be90 .word 0BE90h ;SWI instruction
304 0031 8b00 nop
305 0032 7980 b $
0033 0032+
306 .end
No Errors, No Warnings
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -