|
****************************************************************** *该程序完成BOOTLOADER在线擦写FLASH的功能。 * *实验现象是带仿真器时,蓝色XF灯闪烁。当拔掉仿真器下载电缆线后,按* *复位键或重新上电,XF灯闪烁。 * ******************************************************************
.mmregs .global _main .text dm1: ssbx xf call delay rsbx xf call delay b dm1
delay: stm #1400h,ar6 loop1: stm #0f9h,ar7 loop2: banz loop2,*ar7- banz loop1,*ar6- ret nop nop .word 0000h ;代码结束标记0000H
_main: ;STM #0,CLKMD clkcon: stm #2000h,sp stm 5000h,ar5 STM #0x7FFF,SWWSR stm #00ffh,*ar5 nop ;;;;;flash clear chip Erase _FLASH STM #0XD555,AR0 STM #0XAAAA,AR1 nop nop ST #00aaH,*AR0 ST #0055H,*AR1 st #0080h,*ar0 ST #00aaH,*AR0 ST #0055H,*AR1 ST #0010H,*AR0 hhhh call delay yyyy nop stm #0ffffh,ar5;; ST #00aaH,*AR0 ST #0055H,*AR1 st #00a0h,*ar0 st #0000h,*ar5 call xys stm #0fffeh,ar5;; ST #00aaH,*AR0 ST #0055H,*AR1 st #00a0h,*ar0 st #0080h,*ar5 call xys nop nop stm #8000h,ar5 stm #dm,ar2;;xie nei rong stm #7,ar3;;;;xie zi shu call lpp;;;;xie stm #dm1,ar2;;;;xie nei rong stm #19,ar3;;;xie zi shu call lpp;;;;xie nop nop b dm1 lpp: ld *ar2+,0,a ld a,-8,b and #00ffh,b ;;;;;;;;;;;;;;;;;;;; ST #00aaH,*AR0 ST #0055H,*AR1 st #00a0h,*ar0 stl b,*ar5+ call xys ;;;;;;;;;;;;;;;;; and #00ffh,a ST #00aaH,*AR0 ST #0055H,*AR1 st #00a0h,*ar0 stl a,*ar5+ call xys banz lpp,*ar3- ret nop nop dm .word 08aah,7fffh,0f800h,0000h,0080h,0013h,0000h,0080h xys: stm 20h,ar6 lop1: stm 0f9h,ar7 lop2: banz lop2,*ar7- banz lop1,*ar6- ret .end
|