I have downloaded the SLAA450 zip file that contains the bootloader example for the MSP430F5438A. I setup the project settings in such a way that the code is able to download in a MSP430F541A. I am using a board that runs ok and is able to debug with the MSP-FET. After some struggle to find the correct compiler and settings to be able to reporgram the BSL area I succeeded in porgramming the standard BSL example code.
I changed the main() in such a way that an outputpin is toggled with a fixed delay. On this pin a LED is connected so that I can see that the code resides in the flash and when debugging the project the uP starts up correctly. At that moment the debugger stops in main() on the first instruction. When I press on the resume button (F8) the code runs fine. the LED toggles correctly. So far no porblems ...
But when I power up the board without the debugger, the uP does not seem to start up. The LED is not toggled. So probably the debugger performs a start to the first location of the software ..
Reading the pdf (slaa450c) I understand that the uP does a "Device Startup Sequence" and checks a number of flags in the segment BSLSIG
BSLSIG : origin = 0x17F0, length = 0x000C
When I look into the assembly file 'BSL430_Low_Level_Init.asm' that comes with the BSL bootloader, I noticed that at this segment the correct values are written to start the BSL:
.sect ".BSLSIG";
.word 0xFFFF ; 0x17F0 = 0xFFFF
BslProtectVecLoc .word BSL_Protect ; 0x17F2 = adress of function
PBSLSigLoc .word 03CA5h ; 0x17F4 = 1st BSL signature
SBSLSigLoc .word 0C35Ah ; 0x17F6 = 2nd BSL signature
.word 0xFFFF ; 0x17F8 = 0xFFFF
BslEntryLoc .word BSL_Entry_JMP ; 0x17FA = start address of the BSL ...
So I am a little stuck now... How can I power up my board to first start the BSL...?? I hope that somebody has had this problem or can help me with this...