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: Creating a Custom USB BSL

Part Number: MSP430F6638


Hi,

I'd like to create a custom USB BSL for the MSP430F6638. I downloaded source for some BSLs at http://www.ti.com/tool/MSPBSL#step3. I noticed that the zip file does not include source for USB BSLs. Is there any source code out there to start with customizing the USB bootloader?

If there is not available source for any USB bootloaders, I will likely customize a UART bootloader instead. I currently use CCS as my IDE. In this post, Katie suggested starting with the F5438A BSL source code. I'm guessing this is synonymous with the source for F543xA (CCS_BSL_Source/CCS_v5_MSP430F543xA_TA_UART), as available in the latest zip file. Is this a good starting point to develop a custom bootloader for the F6638? Or should I start somewhere else?

Thank you!

Jesse Bahr

  • Hi Jesse,

    Did you see this section under Step 2 on the BSL page? The MSP430 USB Developers Package includes additional USB BSL sample applications.

    Regards,

    James

  • James,

    Thank you for pointing me towards those resources. I see firmware application side examples but not bootloader examples in USB Developers Package. Perhaps I missed the BSL example - I'll keep looking. I also see other links to PC-side application examples available at the link you shared (MSP430 USB Developers Package), which help with using the current BSL binaries to perform updates.

    Many thanks!

    Jesse

  • USB BSL (device factory loaded version) source and last builds was distributed by slau319 (pdf & zip file) for years. Don't know about today. I used slau319 for writing my own in assembler from zero, based on my lite USB stack. At the end, all together with AES protection fit to 2 KByte BSL flash area. What is the target of your customization?

  • The target is MSP430F6638, which has a 2 KByte BSL flash area as well.

    I don't mind having to load the RAM BSL. I'd like to be able to customize both the USB FLASH BSL, and the USB RAM BSL.

  • Jesse Bahr said:

    I don't mind having to load the RAM BSL. I'd like to be able to customize both the USB FLASH BSL, and the USB RAM BSL.

    What for you is missing in original version? Don't see any point in customizing both, flash and ram. All factory calibration related values for F5xx devices are stored in TLV, and not in Info memory like in F2xx family. Info memory is free and can be used as extra BSL space (when original 2 KByte are not enough).

  • I'd like to be able to respond to an additional command in the flash BSL that reports some device information before an update is started, this helps to keep our update flow the same as other devices in our system. It's not the only route but would be preferable.

    I will likely not need to customize the RAM BSL.

  • I guess that this device information are stored in RAM / Flash. In this case they can be readout  by default USB BSL (as it is), and only customization on PC side is needed.

  • Yes, the device id and version numbers are stored in Flash, and I can read them from the PC using commands to the USB RAM BSL, after it is loaded. I already have an implemention, using the original USB Flash and USB RAM BSLs.

    I'd prefer to read these from the USB Flash BSL, without first loading the USB Ram BSL. As stated above, I don't have to do this to complete the update, but it is preferred to maintain the same flow as other device updates in PC software.

    Sorry for not being completely clear in other comments. I'll just use my current implementation, without the desired flow, since it seems there is no source available for the USB Flash BSL.

**Attention** This is a public forum