Quantcast
Channel: MSP low-power microcontrollers
Viewing all articles
Browse latest Browse all 62309

Forum Post: RE: MSP-FET for MSP432 BSL

$
0
0
Hi David, You gave me advice on how to see the ACK (0xACE) from the sample program on using the Boot Override Mailbox. I still cannot get the Ack even with putting in the MAP_SysCtl_rebootDevice() routine as explained in the above post. I never get the ack and the code stops at __exit: in the Disassembly window. Any ideas as to why This is my code from main(): volatile bool forceReboot = false; int main(void) { volatile uint32_t i; WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer P1DIR |= BIT0; if(CheckAndEraseFlashMailbox(COMMAND_BSL_CONFIG) != BOOT_OVERRIDE_AND_MAILBOX_ERASE_OPERATIONS_SUCCESS) { while(1) { for(i = 0; i < 10000; i++); P1OUT ^= BIT0; if (!forceReboot) { forceReboot = 1; MAP_SysCtl_rebootDevice(); } } } else { P1OUT |= BIT0; } while(1) return(0); } Code never returns ACK: uint32_t CheckAndEraseFlashMailbox(uint32_t flashMailboxCommand) { uint32_t result = BOOT_OVERRIDE_AND_MAILBOX_ERASE_OPERATIONS_SUCCESS; uint32_t eraseCycles = 0, eraseSuccess; /* Only check for commands different from COMMAND_NONE */ if(flashMailboxCommand != COMMAND_NONE) { if(flashMailboxCommand & COMMAND_FACTORY_RESET) { if(*((uint32_t*)(ACK_FACTORY_RESET)) != 0xACE) { result = BOOT_OVERRIDE_OPERATION_FAIL; } } //NOTE: Code never returns ACK!!! if(flashMailboxCommand & COMMAND_BSL_CONFIG) { if(*((uint32_t*)(ACK_BSL_CONFIG)) != 0xACE) { result = BOOT_OVERRIDE_OPERATION_FAIL; } else { __NOP(); } }

Viewing all articles
Browse latest Browse all 62309

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>