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.

MSP430F6638: USB BSL Issues

Part Number: MSP430F6638

The information as relayed to me:

We use a software package of our own design to connect to the MSP430F6638 BSL on newly built PCBs. When the hardware is connected to the PC, we detect the presence of the board in question and proceed to use the USB BSL to load our firmware. No problem for many years. If the board does not connect, it is usually caused by a hardware issue such as a shorted trace on the USB bus, unsoldered USB pin, etc.. We correct the physical problem and reconnect the board to the USB and everything is fine.

Recently we have been unable to connect to about 6% of the boards in question. An inspection of the board turns up no hardware issues. We will even unplug and replug the board into the USB to make sure it is not a communication or connection issue. In the end, we use the JTAG and reflash the USB BSL then reconnect the board to the PC and everything is fine.

We can connect to the BSL and download our firmware only after the USB BSL is reflashed.

Is there a hardware or software issue I should be looking for which can cause the BSL to not respond until it is re-flashed?

  • Hello Fusillade,

    When you perform the initial BSL programming, are the devices blank?
  • The devices are factory fresh with the default USB BSL preinstalled.

    Since being made aware of the situation, I have worked with the technicians to get them to try a number of things to get the device to enumerate to the original PC:

    - Connect the board to the PC. If device fails to enumerate, proceed to the next step.

    - Disconnect the board from the PC and reconnect. If device fails to enumerate, proceed to the next step.

    - Disconnect the board from the PC. Discharge the supercap on Vbat. Reconnect the board to the PC. If device fails to enumerate, proceed to the next step.

    - Disconnect the board from the PC. Allow the board to sit for several hours. Reconnect the board to the PC. If device fails to enumerate, proceed to the next step.

    - Disconnect the board from the PC. Plug the board into a different PC. If the board enumerates. disconnect the board from the second PC and reconnect to the original PC. If device fails to enumerate, proceed to the next step.

    - Reflash the USB BSL using the JTAG. Reconnect the board to the PC. If device fails to enumerate, a hardware problem likely exists. Troubleshoot as necessary.

    Following these random steps, we have yet to have to reach the final step in which the USB BSL is reflashed. The techs now know it is not an issue with the BSL not being loaded and needing to be reflashed.

    As a result, I believe we are just doing some random stuff and by pure luck, the MSP430 magically invokes the BSL on power-up. So after a closer look at our design, I notice that the PUR pullup resistor is 10k and not 1.4K as specified.

    I'm going to try to swap out the resistor and see if the problem goes away.
  • Hello Fusillade,

    Good catch. Thanks for the update.
  • We decided to test the resistor change this weekend.

    We tested approximately 70 boards still using the 10k resistor. About 30 failed to enumerate. We replaced the 10k resistor with a 1.4k resistor in the 30+ failed boards and retested. About 20 boards failed to enumerate after the resistor was replaced. We tested the remaining 20+ problem boards by connecting them to a different PC and they enumerated properly. We returned the problem boards to the original PC and they still failed to enumerate. While connected to the USB on the original PC, we forced a hardware reset and they enumerated.

    And still oddly, the problem boards will always enumerate properly on the original PC after our firmware is installed.

    While the PUR resistor value was clearly missed in the original design and will be corrected in the next board revision, the problem still remains; however, I feel that the problem is now leaning more to a power/reset issue causing the BSL issues than a USB BSL issue in itself. While I continue to research power and reset issues, I will simply call the USB BSL problem solved unless I find out otherwise.

    Thanks.

**Attention** This is a public forum