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.

MSP430F5528: USB BSL issue

Expert 2780 points
Part Number: MSP430F5528
Other Parts Discussed in Thread: MSP430USBDEVPACK

Hi,

I have a question about USB BSL.

I rewrote the MSP430's Flash using MSP-TS430RGC64USB + MSP430F5528 + MSP430 USB Firmware Upgrade Example.
At this time, if I keep pressing S3, writing will not end.

Question
Can not write while pulling up PUR?

Regards, DA

  • Hi DA,

    The default USB BSL evaluates the logic level of the PUR pin after a BOR reset. If the PUR pin is pulled high externally, then the BSL is invoked. Therefore, unless the application is invoking the BSL, it is important to keep PUR pulled low after a BOR reset, even if BSL or USB is never used. TI recommends applying a 1-MΩ resistor to ground. PUR input functions are provided in Table 6-60 of the datasheet.

    As instructed by the GUI (MSP430USBDEVPACK & SLAA452), the BSL button S3 should only be held down while the FET board is being powered (plugged in to USB) and released before upgrading the firmware, otherwise the ensuing BOR will once again invoke the BSL.

    Regards,
    Ryan

  • Hi Ryan.

    Thank you for your reply.

    Refer slaa452c.pdf p10
    1. User removes the battery. This also exposes the switch.
    2. User keeps the button held down while attaching to USB. Note this might be difficult to do on a small
    handheld device using two hands.
    3. The device enumerates under BSL control; the user can now release the button.

    Q1
    Is this correct if the user has to release the button?

    Q2
    That is, in order to continue USB-BSL, the user should not leave PUR pulled up?

    Regards, DA

  • During normal (USB) operation, the MCU drives the PUR pin high (so that the USB host sees the 1.5 kΩ pullup). Whether the button also pulls this signal high or not does not make any difference. (See figure 3.)

    (The 1 MΩ pulldown is used only to get a low level on PUR when neither the button nor USB is currently active.)

    So it does not matter when exactly the user releases the button; the only important thing is that it's pressed immediately after the reset, when the BSL reads the PUR pin.

  • However, when I press S3, Upgrade does not end normally.
    If there is no difference, writing should end normally even if S3 is kept pressed.

    See the first image of the thread.
  • As shown in the screenshot, the task of writing to the RAM BSL is done successfully. Do you find that the information downloaded is corrupted? I did not design this GUI but I assume that after the writing is complete the USB attempts to take control of communication to perhaps reset the device and read back/verify the RAM BSL but fails because the user maintains control of the PUR line by keeping S3 pushed down. Since the GUI wishes to program the firmware and run it afterwards then S3 should be released after the device is connected. PUR invocation is typically used as a failsafe, generally the customer would seek to initiate the BSL through the software or with a blank reset vector.

    Regards,
    Ryan
  • Write firmware of CDC ehco,
    I checked the operation of that firmware.

    After that, I upgraded with S3 kept pressed, causing problems.

    After dumping Flash, Flash was all being erased.

    It seems that writing is not done.

    Regards,
    DA

  • This is expected since you are attempting to flash a program instead of just update the RAM BSL, it is noted in the GUI's log as the firmware programming phase is never even reached. You need to release S3 if continuing to use this GUI unmodified.

    Regards,
    Ryan

**Attention** This is a public forum