Download DK900 User Manual
Transcript
LCALL PSDload_init LCALL PSDload LJMP STARTUP2 ; execute Cstartup of BOOT ; Set SWAP and EXECUTE main flash ; EXE_MAIN: MOV IE,#0 MOV MOV MOVX ; diable all interrupts DPTR,#PSD8XX_reg+0E2h A,#06h @DPTR,A ; VM register ; both MAIN and BOOT=CODE SPACE MOV DPTR,#PSD8XX_reg+0E0h ; PAGE register MOV A,#80h ; SWAP=1, UNLOCK=0, PAGE=0 MOVX @DPTR,A ;****** now works in main flash ******** MOV MOV MOVX DPTR,#PSD8xx_reg+0E2h A,#0Ch @DPTR,A ; VM register ; BOOT = DATA, MAIN = CODE space LJMP STARTUP2 ; execute Cstartup of MAIN ; ; This location will hold execution source ; EXECUTE_SOURCE: 0xFF, execute boot flash ; : 0x00, execute main flash ; CSEG AT 70h PUBLIC EXECUTE_SOURCE EXECUTE_SOURCE: DS 1 ; ;************************************************************************** ; EXTRN CODE(psd_init) RSEG ?C_C51STARTUP STARTUP1: ; ;************************************************************************** ; When port A is used to generate latched address out for external data memories, ; port A must be initialize before entering variable initialztion as followings. ; ; LCALL psd_init ; ;************************************************************************* ; STARTUP2: IF IDATALEN MOV CLR IDATALOOP: <> 0 R0,#IDATALEN - 1 A MOV @R0,A 45