Hello All,
I am trying to understand the assembly language function from the BSL430_Low_Level_Init.asm. Here is the listing
BSL_ACTION0 CMP #0xDEAD, ARG2 JNE RETURN_ERROR CMP #0xBEEF, ARG3 JNE RETURN_ERROR ;CMP #0x01, ARG1 ; to do ... comment! ;JEQ BSL_Unprotect ; 1 == unlock BSL flash area ;JEQ JTAG_Lock ;JL BSL_SW_ID ; 0 == return SW ID ;JL RETURN_ERROR ; 0 == return SW ID JMP RETURN_TO_BSL ; 2 == return to BSL RETURN_ERROR CLR RET_low CLR RET_high RETA
So it looks like the function compares 0xDEAD to R13 and 0xBEEF to R14, otherwise it return an error. So why is it expecting the 0xDEAD and 0xBEEF in there, who put it there. Is it part of the uC core?