This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP432WARE: MSP432P4

Part Number: MSP432WARE
Other Parts Discussed in Thread: UNIFLASH

Hello,

I am trying to flash the program using BSL scripter on MSP432 launchpad. I have used BSL software invocation method as mentioned below. It gets stuck on the initialization.

MODE P4xx UART 115200 COM10 PARITY
[ERROR_MESSAGE]Initialization of P4xx BSL failed! Exit the scripter!

Program:-->

volatile bool jumpToBsl = false;

int main()
{
    int i=0;
    // Stop watchdog
    MAP_WDT_A_holdTimer();

    // Setup P2.0 with LED output to detect if the interrupt occurs
    MAP_GPIO_setAsOutputPin(GPIO_PORT_P2, GPIO_PIN0);

    // Configure P1.1 as an input and enabling the interrupt
    MAP_GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1, GPIO_PIN1);
    MAP_GPIO_interruptEdgeSelect(GPIO_PORT_P1, GPIO_PIN1, GPIO_HIGH_TO_LOW_TRANSITION);
    MAP_GPIO_clearInterruptFlag(GPIO_PORT_P1, GPIO_PIN1);
    MAP_GPIO_enableInterrupt(GPIO_PORT_P1, GPIO_PIN1);
    MAP_Interrupt_enableInterrupt(INT_PORT1);
    MAP_Interrupt_enableMaster();

    while(1)
    {
        MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P2, GPIO_PIN0);
        __delay_cycles(2000000);

        if (jumpToBsl)

        {

            jumpToBsl = false;
            MAP_Interrupt_disableMaster();


            // Setup interrupt priorities into 0x00 before entering bootloader
            for (i=0; i < 240; i++) NVIC->IP[i] = 0;

            NVIC->ICER[0] = 0xFFFF;
            NVIC->ICPR[0] = 0xFFFF;
            NVIC->ICER[1] = 0xFFFF;
            NVIC->ICPR[1] = 0xFFFF;
            // Call the BSL with given BSL parameters
            ((void (*)())BSL_ENTRY_FUNCTION)((uint32_t)BSL_PARAM);

        }

    }

}


void PORT1_IRQHandler(void)
{
    uint32_t status;

    status = MAP_GPIO_getEnabledInterruptStatus(GPIO_PORT_P1);
    MAP_GPIO_clearInterruptFlag(GPIO_PORT_P1, status);

    /* Toggling the output on the LED */
    if(status & GPIO_PIN1)
    {
        jumpToBsl = true;
    }

}

I have tried to flash new BSL program as mentioned below :
a. Project Properties > Debug > MSP432 Settings > Erase Method > Erase main and information memory
b. Allow BSL information memory erase

But still not working

Any help will be appreciated.

Thanks.