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.

Default BSL invoking?

Other Parts Discussed in Thread: MSP430F5151, MSP430F5340

I'm working on MSP430F5151.

I've known that after invoking BSL by sequences entry on RST/TEST pins, PC register is set to starting address of BSL Application at 0x1000 address.

In some discussions on forum, It seem It is possible to verify BSL application by directly jump to address 0x1000.

I my code

I used

 //Stop watchdog timer
    WDT_A_hold(WDT_A_BASE);

    //Set P1.x to output direction
    GPIO_setAsOutputPin(
        GPIO_PORT_P1,
        GPIO_PIN0
        );

    //Set all P1 pins HI
    GPIO_setOutputHighOnPin(
        GPIO_PORT_P1,
        GPIO_PIN0
        );

    __delay_cycles(1000000);
    //Set all P1 pins HI
     GPIO_setOutputLowOnPin(
         GPIO_PORT_P1,
         GPIO_PIN0
         );

     __delay_cycles(500000);


    __bic_SR_register(GIE);

    ((void (*)())0x1000)();

I thinks that BSL Application must have at least a loop to wait commands from host.

But I can't it in my case. It seem BSL reset shortly after.

Pls, show me how to verify it.

  • One important thing to notice is that the BSL expects all modules to be in power-on default state. This includes the port pins it later uses for the transfer, as well as the timers. Maybe even the WDT.

    Besides this, it should work (and has been done by others). Didn't any of the other threads about this topic give you a clue?

  • Hello,

    I'm also trying to enter the BSL-mode at a MSP430F5340. The sequence is the same as in SLAU319C. With BSLDEMO2.exe I always get "Synchronisation failed". Does anybody know whats the problem?

     

    P.S. At P1.2 (BSL-Rx) and at P1.1(BSL-Tx) only few logic 1, guess its for synchronization. And I use the speed 9600

**Attention** This is a public forum