Part Number: MSP432P401R
Hello all, I made a firmware capable to auto-reprogram itself on request, by using the 'software invocation' BSL feature (as described in SLAU622J, par.3.3.1). From the PC side, I run the BSL scripter v.3.4.0.1. For a while, all worked as expected.
Lately, I've found that this system does not work anymore (BSL seems not responding at all) if the MSP432 firmware has not previously been erased in some other manner (e.g. uniflash). Said that
1) I use UART (eUSCI-A0 connected to PC via a FT232 usb device), and tried to call BSL_ENTRY_FUNCTION with both auto (0xFC48 FFFF) and manual (0xFC48 DFFF) configuration parameters;
2) I have tried by reloading original firmware in which BSL first worked,
3) then tried by running a minimal firmware whose purpose is only to invoke BSL (to exclude that some peripheral - irq - etc used in the 'real' firmware could somewhat 'disturb');
4) I tried also to reprogram a factory BSL (BSL432_MSP432P401) just downloaded from TI site, in the case the native one would be corrupted (but how could it be, if I do not change linker sections, nor write anything to flash in the app?);
5) I proved with three different MCUs (two of them mounted on custom HW, and the third is the launchpad MSP-EXP432P401).
6) even proved on two different PCs (one runs Win10, other Win8.1).
7) in all cases, I do not let pass more than 3 seconds between tha call to BSL_ENTRY_FUNCTION and launch of BSL scripter (I'm aware of bsl timeout).
... have you any clue?
Thanks in advance
Osvaldo