[an error occurred while processing this directive]
|
AREA arm_code, CODE
CODE32
EXPORT IAP_Processe
EXTERN iap_command
EXTERN iap_result;----------------------------------------------------------
; Symbol definitions
;----------------------------------------------------------
IAP_ENTRY EQU 0x7ffffff1 ; IAP entry point
IAP_Processe
STMFD SP!,{R0-R2,R14} ;//Push the register set
;// and link register into stack
LDR R0,=iap_command ;// Set the pointers for
LDR R1,=iap_result ;// command and result tables
;//----------------------------------------------------------
;// Please look below (after END) for description for how the
;// IAP routine is called
;//----------------------------------------------------------
BL jump_to_IAP
;//----------------------------------------------------------
;// At this point user has to analyze the result table and
;// take action depending upon the status code returned by
;// the IAP routine.(Code not shown)
;//----------------------------------------------------------
LDMFD SP!,{R0-R2,R14} ;// Pop link register
MOV PC ,LR ;// and register workspace
;//----------------------------------------------------------
;// Call IAP routine
;//----------------------------------------------------------
jump_to_IAP
LDR R12,=IAP_ENTRY ;// Branch to 0x7FFFFFF1
BX R12 ;// and Change to thumb instruction set
END