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.

MSP430FR5848: MSP430 Code downloaded via BSL not working properly

Part Number: MSP430FR5848
Other Parts Discussed in Thread: TEST

Hi, 

   For our project we are using MSP430FR5848 micro-controller. The firmware for the project works well when downloaded via a JTAG. But when we download the code using the BSL the device resets while working at a specific point every time. 

To access the BSL we use a custom designed circuit using FTDI and an application software in VC++. The application programs reads the firmware as TI-TXT . 

We are able to access the BSL of the MSP430 and could download the software into it. Its just the firmware is not working properly. We used the mass erase command to erase the MSP430 memory.  We used 20 mass erase cycles. We have also verified the code written to the MSP430 using the CRC check command. 

One observation we made is that if the firmware size is low the firmware seems to be working. We have downloaded a test firmware (blinking an LED etc) whose size is less than 8kB it seems to be working. But our required firmware is about  18kB size. 

 Can any one please help us.

Thank you..

  • unlike jtag, BSL trashes RAM.
    Any chance you load the code, let it boot and wait a few seconds and then go back in to read a serial number etc?

    Do a flash memory dump of jtag written vs bsl written and compare.
    application that reads at TI-TXT may not doing it right?, I ended just making a memory dump from d000 to fffff as the firmware.
    and then bsl upload 128bytes a time and only skip a block of 0xff, a general TI-TXT file have many @address and did not want to deal with that.

    Are you erasing infoA by mistake?

    BSL versions V2.01 and higher support automatic clearing of the LOCKA bit protecting information flash memory.
    When the BSL is entered from a reset condition, LOCKA is cleared by the BSL to mass erase the flash, including information memory

  • Tony Philipsson said:
    Are you erasing infoA by mistake?

    The MSP430FR5848 stores calibration data in Device Descriptor Info (TLV) memory rather than infoA.

    The MSP430FR5848 datasheet says the Device Descriptor Info (TLV) memory is FRAM, but not sure if the Device Descriptor Info (TLV) FRAM is protected from user modification.

**Attention** This is a public forum