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.

Updating USB BSL using MSP430 Flasher

Other Parts Discussed in Thread: MSP430F5529

We are having USB BSL issues at our contract manufacturer for MSP430F5529 chip rev I with blank MCUs. I have been able to confirm issue USB11 in the errata sheet (slaz314l) for this MCU by heating up the MCU using a heat gun. I am able to get the BSL to connect to my laptop after applying heat for 5 seconds or so. This of course is not an acceptable solution in the factory. The errata specifies that updating the BSL to the latest resolves this issue. I have downloaded the latest USB BSL form the provided link in the errata and am trying to update the BSL using MSP430 Flasher. This is the response I get form the following command line:

>>MSP430Flasher.exe -n MSP430F5529 -b -w BSL.00.07.88.38.txt -v

* -----/|-------------------------------------------------------------------- *
* / |__ *
* /_ / MSP430 Flasher v1.3.2 *
* | / *
* -----|/-------------------------------------------------------------------- *
* Evaluating triggers...done
* Checking for available FET debuggers:
* Found USB FET @ COM11. <- Selected
* Initializing interface @ COM11...done
* Checking firmware compatibility:
* FET firmware is up to date.
* Reading FW version...done
* Reading HW version...done
* Setting VCC to 3000 mV...done
* Accessing device...done
* Reading device information...done
* Unlocking BSL memory...done
* Loading file into device...done
* Verifying transfer...done
*
* ----------------------------------------------------------------------------
* Arguments : -n MSP430F5529 -b -w BSL.00.07.88.38.txt -v
* Warning: Some default options were used due to incomplete argument list.
* ----------------------------------------------------------------------------
* Driver : loaded
* Dll Version : 30402007
* FwVersion : 30402007
* Interface : TIUSB
* HwVersion : U 1.40
* JTAG Mode : AUTO
* Device : MSP430F5529
* EEM : Level 7, ClockCntrl 2
* Prog.File : BSL.00.07.88.38.txt (ERASE_ALL, verified = TRUE)
* BSL Unlock : TRUE
* InfoA Access: FALSE
* VCC OFF
* ----------------------------------------------------------------------------
* Powering down...done
* Disconnecting from device...done
*
* ----------------------------------------------------------------------------
* Driver : closed (No error)
* ----------------------------------------------------------------------------
*/
<<< Process finished. (Exit code 0)

The response seems to indicate to me that the BSL update worked but I still can not get the BSL to connect on a blank MCU. I know the tool works since I am able to upload firmware using this same tool but it doesn't seem to be updating the BSL. Can someone provide any assistance? Any help would be greatly appreciated.

  • Hello,

    Try reading back the info in BSL by running the following command:

    >>MSP430Flasher.exe -n MSP430F5529 -r [output.txt, BSL]

    Where output.txt is the file that BSL data will be output to.  Once the the flasher finishes reading, look in the file for the following information:

    00 07 88 38

    The above listed version number should be in the first 16 bytes of the file and it should match the name of the BSL file you used to update BSL with.

    Regards,

    Arthi Bhat

  • Hi Arthi,

    Yes I do see these bytes in the first 16 bytes.

    @1000
    05 3C 41 3C FF 3F FF 3F 00 07 88 38 B2 40 80 5A

    Do I need to update the RAM BSL as well? If so, what is the purpose of the RAM BSL and what's the commandline to update it?

  • Update:

    I have had some communications with the application team. It seems the tool is working properly but the issue is with the BSL not working. I have tried building the custom BSL from the source included in SLAA450 but this BSL didn't work either.As a bit of background, this BSL issue seems to be only for rev I MCUs. I have been able to get the factory supplied BSL to work by heating up the MCU with a heat gun, which seems to indicate USB11 issue in the errata.

  • Yes, it is usually a good idea to update the RAM BSL also.   I always use either the MSP430_USB_firmware_Updrade_Example tool or the Python_Frimware_Upgrader tool.  Both the tools have the latest version of RAM_BSL - 00.07.88.38.

    The tools can be found here after clicking on the 'Get Software' button:

    http://www.ti.com/tool/msp430usbdevpack

    Regards,

    Arthi

     

  • Hello Jules,

    In regards to what you have tried so far to get the USB11 issue resolved, would it be possible to try the additional following items:

    1) Upate the flash BSL to BSL.00.07.88.38.txt using MSP430 flasher.  Since you have already done this would it be possible to send us the text file read out of the device just so that a comparison can be made to verify that the device was upgraded?  Especially need to compare the values from 0x1000 - 0x17FF.

    2) Update the RAM_BSL file also.  Here is how it is done.  Unplug the USB cable then while holding down the 'BSL' button, plug the USB cable back in.  Bring up the MSP430 USB Firmware Update Example tool and you should see that the tool found the device.

    3) Select the 'Blink LED Example' (this is the application example) and select Update.  Both the application and RAM BSL will be downloaded to the device.

    4) Test to see if the USB11 is fixed.

    5) If it is not then through your FAE contact can you please send me the code snippet (function) that calls the BSL from your application?  Also can you send me the crystal information being used for USB communication (datasheet, schematic, layout).

    6) Finally verify that the crystal starts up (check with a probe on XT2IN if it osciallates).

    Regards,

    Arthi Bhat

  • Hi Arthi,

    I can load application code onto the MCU board (NOTE: this is not an eval board, it is a production board) using MSP430 Flasher without any problem and the it works as expected. We have a command in our application that clear (sets to 0xFF) flash memory where all of the interrupt vectors are located, including the reset vector. When this command is issued, the MCU should go into BSL automatically after the MCU power is reset. This worked perfectly up until our CM started using rev I chips. So to answer your questions:

    1.) I have verified several times that the BSL upload did work by performing a readback.

    2) - 4) To do this, I need to start BSL, but this is my exact problem. I can not go into BSL.

    5) Again, right now I just want to be able to start BSL from automatically when there is no application code.

    6) I know the crystal works with application code. I suspect that it is not for the BSL but I can check to make sure. However I'm not sure what this would tell you.

    Thanks.

  • Jules, Are you re-cycling the power by disconnecting and re-connecting the JTAG connection or the peripheral side USB?  Or is the JTAG and peripheral USB cable one and the same on your production board?   If the peripheral side USB connection is connected to the host, it should show up in Device Manager as a HID BSL device based on your jumper settings.

    Is it possible to do this so we can narrow the problem down and if you have done it, please let me know.

    1)  Get hold of a new production board and verify that the device shows up as HID BSL device in Device Manager 

    2) Disconnect JTAG connection (if it is seperate than the peripheral side USB cable) and verify that the device still shows up as HID BSL in Device Manager. 

    3) If it does show up as HID then re-connect the JTAG cable and disconnect the Peripheral USB cable and update the BSL.

    4) Power cycle the device and re-connect only the Peripheral USB cable. 

    Let me know what happens.

    Regards

  • Hi Arthi,

    Our MCU board is powered by an external supply, not by JTAG or USB. So the JTAG, USB and power cables are separate. When I have our application code loaded onto the MCU I do see the device in Device Manager (COM port 22):

    However I get nothing when there is no application code.

    I have tried with and without the JTAG cable and with and without the USB cable, still no connection. I have attached a readback of the USB BSL to verify that the BSL is correct.

    0511.output.txt
    @1000
    05 3C 41 3C FF 3F FF 3F 00 07 88 38 B2 40 80 5A
    5C 01 32 C2 31 40 00 34 B0 13 56 17 FF 3F 06 00
    FF 09 01 A1 01 85 3F 95 3F 75 08 25 01 15 01 09
    01 81 02 85 3F 95 3F 75 08 25 01 15 01 09 01 91
    02 C0 09 02 29 00 01 01 00 80 32 09 04 00 00 02
    03 00 00 00 09 21 01 01 00 01 22 24 00 07 05 81
    03 40 00 01 07 05 01 03 40 00 01 FF 0F 05 0F 03
    11 02 17 01 12 01 00 02 00 00 00 08 47 20 00 02
    09 01 00 00 00 01 3D 90 AD DE 04 20 3E 90 EF BE
    01 20 03 3C 0C 43 0D 43 10 01 3C 41 3D 41 10 01
    0C 43 B2 D0 03 80 82 01 B2 40 28 96 00 09 B2 D0
    00 01 04 09 A2 B2 02 09 0A 20 B2 93 FE FF 08 20
    3B 40 2C 01 1B 83 FE 23 B2 B2 08 09 01 24 2C D3
    B2 C0 00 01 04 09 C2 43 28 96 10 01 F2 B0 0F 00
    84 23 09 20 C2 93 84 23 03 34 5E 42 20 09 0B 3C
    5E 42 22 09 08 3C C2 93 84 23 03 34 5E 42 C8 23
    02 3C 5E 42 88 23 7E F2 C2 4E 60 24 5E 42 60 24
    42 19 4E 10 C2 4E 60 24 B0 13 E2 17 3C 40 60 24
    80 00 A6 17 F2 43 02 24 C2 43 10 24 C2 43 21 09
    10 01 C2 93 82 23 11 20 5E 42 84 23 7E F0 0F 00
    0A 24 5E 93 0E 20 C2 93 84 23 03 34 F2 D2 C8 23
    02 3C F2 D2 88 23 80 00 24 11 F2 D2 20 09 F2 D2
    22 09 10 01 C2 93 80 23 04 34 1F 43 D2 D3 3C 09
    03 3C 0F 43 D2 C3 3C 09 5E 42 80 23 7E B0 60 00
    8F 20 5D 42 81 23 4D 83 80 24 5D 83 6B 24 6D 83
    67 24 6D 83 45 24 5D 83 09 24 6D 83 52 24 5D 83
    46 24 5D 83 33 24 5D 83 54 24 7A 3C 1F B3 78 28
    5E 42 83 23 5E 83 08 24 5E 83 0F 24 7E 80 1F 00
    1C 24 5E 83 13 24 6C 3C C2 43 23 09 F2 40 12 00
    02 24 3C 40 74 10 80 00 A6 17 C2 43 23 09 F2 40
    29 00 02 24 3C 40 42 10 80 00 A6 17 F2 40 24 00
    02 24 3C 40 1E 10 80 00 A6 17 C2 43 23 09 F2 40
    09 00 02 24 3C 40 54 10 80 00 A6 17 1F B3 48 28
    B0 13 E2 17 C2 43 60 24 D2 42 01 24 61 24 3A 3C
    F2 D2 22 09 D2 42 82 23 3F 09 80 00 24 11 F2 D2
    22 09 D2 42 82 23 00 24 B0 13 24 11 D2 43 12 24
    10 01 C2 43 23 09 D2 43 02 24 3C 40 00 24 80 00
    A6 17 F2 D2 22 09 D2 42 84 23 01 24 80 00 24 11
    80 00 32 11 5E 42 84 23 7E F0 0F 00 0C 24 5E 93
    1B 20 C2 93 84 23 04 34 F2 F0 D7 00 C8 23 03 3C
    F2 F0 D7 00 88 23 80 00 24 11 7E 90 80 00 03 20
    B0 13 E2 17 43 3F 7E 90 82 00 02 20 80 00 DC 10
    F2 D2 20 09 F2 D2 22 09 10 01 21 83 32 C2 03 43
    B2 40 02 1C 5A 24 B2 40 17 24 5C 24 F2 40 A5 00
    21 01 5E 42 20 01 3E F0 03 00 0F 4E 3F D0 00 44
    82 4F 24 01 B0 13 C8 17 4F 4E 8F 10 82 DF 24 01
    B0 13 C8 17 C2 4E 20 01 0F DE 3F D0 00 44 82 4F
    26 01 92 B3 2C 01 FD 2B 92 C3 2C 01 1E 53 2E 92
    E4 2B C2 43 21 01 F2 D0 0C 00 4A 02 B2 C0 00 01
    6C 01 05 3C B2 F0 F4 FF 6E 01 A2 C3 02 01 1E 42
    6E 01 7E B0 09 00 F6 23 B2 40 20 00 66 01 B2 40
    53 02 68 01 B2 40 00 02 6A 01 B2 40 20 02 C0 03
    B1 40 2C 01 00 00 0C 3C B2 40 00 51 CE 03 92 B3
    CE 03 FD 2B A2 D2 C0 03 2F 41 3F 53 81 4F 00 00
    81 93 00 00 F1 23 B2 C0 00 40 CE 03 1F 42 DE 03
    3F 90 96 08 03 28 3F 40 0F 05 0E 3C 3F 90 C5 04
    03 28 3F 40 0F 03 08 3C 3F 90 DD 02 03 2C 3F 40
    17 01 02 3C 3F 40 11 02 82 4F 14 24 82 43 60 01
    B2 40 F3 10 64 01 B2 40 40 00 62 01 B2 40 44 02
    68 01 C2 43 0E 24 C2 43 11 24 B2 40 28 96 00 09
    82 43 08 09 03 43 B2 40 40 18 08 09 B2 40 80 00
    04 09 B0 13 D8 17 C2 43 12 24 B2 B2 08 09 06 28
    B0 13 78 16 B0 13 8C 14 A2 D3 02 09 21 53 10 01
    5E 42 3E 09 2E B2 02 28 80 00 BA 16 A2 B3 08 09
    0C 28 B0 13 D8 17 B0 13 78 16 B0 13 8C 14 B2 F0
    F9 FF 08 09 A2 D3 02 09 10 01 A2 B2 08 09 06 28
    B0 13 D8 17 B2 40 04 A5 20 01 10 01 D2 B3 30 09
    10 28 F2 D0 10 00 3C 09 C2 43 23 09 D2 93 10 24
    03 20 B0 13 76 15 02 3C F2 D2 20 09 D2 C3 30 09
    10 01 4E 93 02 34 80 00 8C 14 3E B0 40 00 0B 28
    D2 43 11 24 F2 D0 10 00 3C 09 F2 C0 40 00 3E 09
    82 43 10 09 10 01 3E B0 20 00 07 28 B0 13 78 16
    F2 F0 9F 00 3E 09 C2 43 11 24 10 01 C2 43 12 24
    C2 43 11 24 C2 43 00 24 C2 43 01 24 C2 43 3C 09
    F2 43 02 24 F2 43 04 24 C2 43 10 24 7E 40 80 00
    C2 4E 21 09 C2 4E 23 09 F2 40 8C 00 20 09 F2 40
    8C 00 22 09 F2 40 03 00 2F 09 F2 40 03 00 2E 09
    C2 4E C8 23 F2 40 10 00 C9 23 C2 4E CA 23 C2 4E
    CE 23 F2 40 40 00 CF 23 C2 4E 88 23 C2 43 89 23
    C2 43 8A 23 F2 40 40 00 8F 23 F2 40 40 00 3C 09
    C2 43 3E 09 C2 CE 3E 09 10 01 1B 15 1F 42 5A 24
    5B 4F 03 00 0A 43 5E 4F 01 00 5C 4F 02 00 8C 10
    0C DE 0D 4B 6E 4F 7E 80 11 00 0C 24 7E 80 06 00
    12 24 6E 82 1A 20 2F 52 1E 42 5E 24 2E 82 B0 13
    D4 15 17 3C 1F 53 0C 4F B0 13 26 16 4C 93 09 24
    7C 40 05 00 0C 3C B2 90 A5 A5 56 24 04 20 B0 13
    EC 17 4C 43 04 3C 6C 42 02 3C 7C 40 07 00 B0 13
    82 17 1A 17 10 01 5E 42 02 24 7E 93 28 24 7E 90
    09 00 03 28 7F 42 7E 82 09 3C 7E 92 02 2C 4F 4E
    07 3C 7F 42 D2 93 0E 24 03 20 4E 43 5D 43 02 3C
    7E 43 4D 43 C2 4D 10 24 C2 4E 02 24 4F 93 0C 24
    3E 40 78 23 4D 4F 1C 42 06 24 EE 4C 00 00 92 53
    06 24 1E 53 7D 53 F7 23 C2 4F 21 09 10 01 C2 43
    10 24 10 01 5B 15 0A 4F 4B 43 08 4C 09 4D 08 5E
    09 63 0D 99 03 28 1C 20 0C 98 1A 2C 6E 4A B2 90
    A5 A5 56 24 0C 20 4B 43 1D 15 0F 16 CF 4E 00 00
    1D 15 0F 16 66 4F 4E 96 03 24 5B 43 01 3C 6B 42
    1A 53 1C 53 0D 63 0D 99 E9 2B 02 20 0C 98 E6 2B
    4C 4B 56 17 10 01 1B 15 0D 43 3A 40 E0 FF 0B 4C
    3B 50 20 00 7E 4A 7F 4C 0E EF 0D DE 0C 9B FA 23
    0D 93 05 20 B2 40 A5 A5 56 24 4C 43 13 3C 92 42
    58 24 44 01 1F 42 58 24 3F 50 06 00 82 4F 40 01
    C2 43 E0 FF 1F 42 58 24 3F 50 10 00 82 4F 44 01
    7C 40 05 00 1A 17 10 01 21 83 81 43 00 00 B2 40
    28 96 00 09 92 42 14 24 12 09 B2 40 00 03 10 09
    82 43 14 09 3F 40 4C 01 3F 53 FE 2F 2F 41 0E 4F
    1E 53 81 4E 00 00 3F 90 E9 03 05 2C 82 93 14 09
    EF 23 92 D3 02 09 21 53 10 01 F2 D0 10 00 3C 09
    F2 40 80 00 23 09 03 3C F2 F0 FA 00 3E 09 C2 43
    10 24 82 43 60 24 B0 13 64 11 34 40 80 00 82 C4
    20 09 82 C4 22 09 E2 C2 3E 09 82 D4 20 09 82 D4
    22 09 D2 B3 3E 09 E8 2F 10 01 C2 43 8A 23 B0 13
    F0 13 D2 93 12 24 FB 23 C2 93 11 24 F8 23 C2 93
    8A 23 F5 37 F2 B0 7F 00 8A 23 F1 27 5F 42 01 1C
    82 4F 5E 24 5C 43 10 01 7E 40 3F 00 C2 93 CA 23
    0F 34 C2 4E 80 1C 3F 40 81 1C 0D 4C 0D 5E FF 4C
    00 00 1F 53 0C 9D FB 23 F2 40 40 00 CA 23 01 3C
    4E 43 4C 4E 10 01 0F 41 3F 50 00 DC 8F 43 FE 23
    2F 83 FC 23 82 43 56 24 B2 40 00 A5 58 24 B0 13
    AA 12 B0 13 FA 16 5C B3 FC 2B B0 13 0A 15 F9 3F
    03 43 1F 42 5C 24 FF 40 3B 00 00 00 1F 42 5C 24
    CF 4C 01 00 E2 43 16 24 3C 40 16 24 B0 13 28 17
    4C 93 FA 27 10 01 82 4C 06 24 1E 42 86 23 5F 42
    02 24 0F 9E 04 28 C2 4E 02 24 4E 43 01 3C 5E 43
    C2 4E 0E 24 80 00 76 15 B2 B0 10 00 2C 01 FC 2B
    B2 C0 10 00 2C 01 10 01 3F 40 DF 2E 3F 53 FE 2F
    10 01 C2 43 23 09 E2 43 02 24 10 01 1D 15 10 01
    FF FF A0 10 A5 3C 5A C3 FF FF 00 10 FF FF FF FF
    q
    

  • Hi Jules,

    I compared the BSL read back file you sent me with the BSL.00.07.88.38.txt file and there is a difference between the BSL.00.07.88.38.txt file and what was read back by the MSP430Flasher

    Is it possible to download the lastest BSL_00.07.88.38.txt file from the following website:

    http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/CustomBSL/latest/index_FDS.html

    Let me know if this solves the USB11 issue.

    Regards,

    Arthi

     

  • Oops sorry, my mistake.  Did not really read the data content only looked at the addresses.  The data are the same.

    Regards,

    Arthi

     

**Attention** This is a public forum