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.

MSP430F5659: BSL Via UART (Programming)

Part Number: MSP430F5659
Other Parts Discussed in Thread: MSPBSL, MSP430FR5969, MSP430F5438A

Hello everyone,

In our project we have a requirement that the MSP430F5659 will be flashed via UART (PIN P1_1,P1_2) also it can be flashed from USB .

For this requirement factory loaded bootloader is enough ? else what all are the changes needed in MCU side ?

or need a custom bootloader for this ?

Could anyone please explained on this, it will be very helpfull.

Kindly Help !

With Regards,

Renjith

  • Hello Renjith,
    the main point of information on BSL related topics would be http://www.ti.com/tool/MSPBSL
    this is the main BSL landing page.
    As mentioned in the datasheet, the MSP430F5659 comes with the USB BSL from factory. Thus without changing that, or using additional code, it would not be able to support the UART BSL, as according to the datasheet, only sub-derivatives without the USB peripheral are equipped with the UART BSL.
    Thus you also cannot program an empty device from factory, using a UART BSL.
    What are the reasons, why you would like to have both interfaces for the device programming?

    Best regards
    Peter
  • Hello ,

    Thank you for quick response.

    We need both interfaces that's our project requirement.

    Anyway could you please help me on what all are the changes to be done in MCU side for UART BSL?

    What all are the possible ways ?

    Regards,

    Renjith

  • Hello Renjith,
    well in the case of needing both, the only option I see, is to have and use the one from factory for USB, and on top, create an additional instance on your own for the UART, where you basically would copy the functionality.
    This of course requires additional memory space. The topic you need to think about is also the to be used invoke method. From my perspective the SW invoke of your UART BSL, means sending and receiving a certain command through the UART interface, would trigger the start of the UART BSL activities.
    The best document getting started with this is www.ti.com/.../slaa450f.pdf .

    Best regards
    Peter
  • Hi ,

    Thankyou for your response.

    Actually we changed our plan , now we only need UART BSL.I have got a brief idea about customizing the BSL by referring the links.

    I also found some examples  in "MSPBSL_CustomBSL432  1_01_00_00", But i couldn't find the  example for MSP430F5659.

    We want  P8.2 and P8.3 as BSL pins ,for that what all are changes to be done in the given examples ? How to generate a customized bootloader for MSP430F5659 BSL UART ?

    Could you help me on this ..!!

    Regards,

    Renjith

  • Hi Renjith,
    while the CustomBSL432 1_01_00_00 from top level point of view is describing the functionality you would like to implement, please keep in mind the MSP432 is a completely different MCU architecture and thus you need to be careful when trying to implement something on your MSP430F5659 derived from that.
    When looking into the application report, I pointed you to (slaa450f.pdf) you can find on the first page of the application report the link to a page for the MSP430 related code examples. software-dl.ti.com/.../index_FDS.html
    That is the package MSPBSL_CustomBSL430 1_01_00_01 There is a zip file, which you can download. After unzipping it, you can find in the CCS_BS_Source directory the folder "CCS_v7_MSP430F543xA_TA_UART"
    This is a working example for the F5xx MSP430 derivative MSP430F543xA. This is derivative from the same device family and thus has compatible features as MSP430F5659. So it should be pretty straight forward adopting the code to your device selection.

    Best regards
    Peter
  • Hi peter,

    Thank you very much for your help ..!!

    I have some other doubts :-

    1) If i flashed the generated image from the source "CCS_v7_MSP430F543xA_TA_UART" to MCU using JTAG , then MCU can be only programmed via UART  ?

    2) How it can be re-flashed with old boot loader ?

    3) How MCU can be programmed using a processor running on linux ? Is there any example for that ?

    Regards,

    Renjith

  • Hi Renjith,
    the JTAg and Spy-Bi-Wire remain always available, unless you protect the JTAG/Spy-Bi-Wire interface by burning the security fuse, disabling these debug and programming interfaces.
    Re-flashing the device with old BSL would be only possible, if you leave it untouched or do not disable BSL communication.
    In terms of LINUX and BSL, we have this application report www.ti.com/.../swra500.pdf . It is using I2C, but it should be still useful.

    Best regards
    Peter
  • Hi peter,

    Thankyou for your support,

    Regards,

    Renjith

  • BSL_UART.zipHi Peter Spevak (15592) ,

    I have customized an example from  CustomBSL430 1_01_00_01-> CCS_v7_MSP430F543xA_TA_UART for the MCU MSPF4305659 .

    The compilation was successful but while trying to flash using JTAG in CCS it shows some error :-

    "MSP430: File Loader: Verification failed: Values at address 0x00000 do not match Please verify target memory and memory map.

    MSP430: GEL: File: /home/workspace_v8/BSL_UART/Debug/BSL_UART.out: a data verification error occurred, file load failed"

    i tried to solve it but failed, Kindly help.

    One more doubt, Is it necessary to use the dedicated pin for UART BSL as mentioned in the datasheet ? or we can use other UART pins for the same?

    I am attaching my code also.

    Regards,

    Renjith

  • Hi Renjith,
    please in future, if you face a new issue, create a separate thread. The background for this is, if the problem does not match the original description, other users cannot find the resolution of it easily, and thus it's only of value for you.

    For now I'll help you on this. There seems to be something wrong with your project setup, as the address 0x00000 is in the peripheral area, where the compiler should not try to place code and on the other hand not check the content.
    So something must have gone wrong with the setup of the project. Probably you tried switching the project from MSP430F5438A to MSP430FR5969.
    I would recommend you using a new project from scratch for the targeted device. You could also use one of the basic code examples, and then after successful compilation and download test, remove the content of the source and paste in yours.

    Best regards
    Peter

**Attention** This is a public forum