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.

MSP430F5438A-EP: Question : BSL and JTAG and .bin file!

Part Number: MSP430F5438A-EP
Other Parts Discussed in Thread: UNIFLASH, MSP430F5438A, MSP-FET

hello everyone!

I have a few question for BSL and .bin file.

In my situation, i made a custom board using MSP430F5438A-EP. The custom board should upload Fimrware via BSL.

So I'm using msp430-BSL(rocket .olimex) with Uniflash tool. In Uniflash tool, i select MSP430F5438A(BOOTLOADER) and default setting.

Firmware format : {name}.txt or {name}.hex.

1. After connecting the BSL rocket to the PC and custom board, when I power the custom board and upload the firmware, the error pops up.

     Why does it keep coming up?

     Message log  : Error! image loading failed: Flash Generic, loading images... Error: -9

                             [ERROR] MSP430: [ERROR_MEESAGE]Failed to receive expected data!

2. After connecting BSL rocket and PC and powering the custom board, connecting BSL and custom board and uploading firmware.

    the first one gets an error, but once you upload it, it's a success.

    Why can't I upload it at once?

    First error message log :   

3. In Uniflash tool, i set erase main and information memory. 

  Then after uploading in the way of the 2nd question, if i upload firmaware via JTAG using the MSP-FET emulator with CCS, i can't upload.

  Why can't i use JTAG?

  I didn't remeber the error meesage log.

4. At last,  How to convert a hex or txt file to .bin using CCS?

 Quote : https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_project-management.html

   => section : 6.1.3.4. Pre and Post Build Steps

  i' set up :"${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/armofd.exe" "${CG_TOOL_ROOT}/bin/armhex.exe" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe"

  but there didn't work. Disappointed

 Anyone Help me! 

If you need a circuit, leave it in the comments.

  • Hello Dahun,

     

    1.) What version of Uniflash are you using? The BSLScripter is integrated with Uniflash v4.6.0 and greater.

    2.) Having to program twice via BSL is expected if the password is wrong. Make sure to set the correct password, which is derived from the interrupt vector.

    3.) It sounds like the JTAG is most likely locked. For this 430 device, the JTAG security lock key resides in the BSL memory address range. You can find more information on this in the MSP430x5xx UG section 1.11.2.

    4.) I see based on the given reference material that you are using the armofd.exe and armhex.exe programs. These are for ARM devices and not 430 devices. Try to select the programs for the MSP430 device you have.

     

    Thanks,

    Greg

  • Hi, Greg Lanier

    1. My Uniflash Version is 8.3.0.4307

    2. I didn't configurate a password when I updated the firmware with BSL.
       Also i didn't check the check box for password.

    3. Okay, i will see the MSP430x5xx UG section 1.11.2.

    4.I don't know for MSP430 device. Which one should i choose to make up bin file? 

  • I would try the hex430.exe before any of the others on that list.

    To fix your issue 1, try flashing the .out from this project here. This is a blink example known to work for the device. Let me know if you are able to flash it.

    Greg

  • I used the project you taught me. And i uploaded '.out' file using uniflash.

    But it's a failure.  Because Uniflash doesn't support .out file. Just suuport txt, hex, bin.

    So I tried to upload hex file using uniflash. 

    The same symptoms.

  • Dahun,

    My apologies, as I misspoke about the file type for flashing. That is expected to use the hex file.

    I spoke to a colleague more familiar with the BSL rocket. The process you've been going through for BSL programming, having to do it twice, is actually an expected thing with the F5xxx family. The password for the F5xxx family is auto-generated by the MCU every time, and as a security measure, the program is wiped, requiring you to flash again. This is different in other MSP430 families.

    You can find a list of different BSL features across the 430 devices in the MSPBSL documentation found at this page

    Greg

  • Greg

    Am I right in understanding?

    Quote : password for the F5xxx family is auto-generated by the MCU every time, and as a security measure, the program is wiped,

    => At first, I don't check the password box and try to upload firmware using Uniflash.

                      Firmware doesn't upload. Because program is wiped as a security measure. 

                      Q1 : When the program is erased, is the password erased as well?

         On the Second attempt, I don't check the password box and try to upload firmware using Uniflash.

                                                Firmware upload. Because  the password for the F5xxx family is auto-generated by the MCU every time.

    Is this right? 

  • When the program is erased, is the password erased as well?

    Correct. Everything is erased.

    At first, I don't check the password box and try to upload firmware using Uniflash.
    On the Second attempt, I don't check the password box and try to upload firmware using Uniflash.

    The password checkbox should have no effect on the MSP430F5xxx devices, so you can leave it unchecked.

  • Thank you for your assistance!

**Attention** This is a public forum