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.
· I’m working on a project with the MSP430F66xx device.
· In this project I need to modify the USB BSL VID and PID to our own.
· Also I need to invoke the USB BSL by our user software, not by a blank reset vector or by PUR pin held high.
·
· How do I modify the USB BSL VID and PID?
· What code commands are necessary to invoke USB BSL?
Any hint or link to demo application source code are highly appreciated?
Thanks in advance for the help,
Thanks for the fast reply.
Regarding my first question:
Using the "MSP430 USB Descriptor Tool", can set the VID/PID for CDC and HID user devices, but I don’t believe that it can set the USB BSL VID and PID.
This is default VID: 0x2047 and PID: 0x0200 but I’m not sure we may use this in production.
Can TI comment on this?
Regarding my second question:
I got the answer:
Setting the program counter to the memory location 0x1000 invokes the BSL
((void (*)())0x1000)();
Regards
Steffen Kristensen
As for TI commenting on the use of VIDs and PIDs in your own production, they mention a bit about this in the Device Firmware Update document, found here:
http://www.ti.com/litv/zip/slac299
They also mention it in the Getting Started with USB Design guide, which can be found here:
http://www.ti.com/litv/zip/slac293b
I hope those links work for you, if not they are under the MSP430F5529 page. From what I understand they do not recommend using the defaults for your own production because there can be conflicts in the field, which could cause problems.
I would assume that it would be the same for the 6xx devices as the 5xx devices. Just be forewarned, this documentation is listed as Preliminary; this means things can change as new releases of documentation come out.
Best of luck with the USB devices, I've only recently started playing around with the F5528 and its BSL/USB peripheral.
-NJC
______________________________
Hi,
I was unable to post the answers earlier, glad to see you got some already.
For some clarification: The current recommended method for changing the VID/PID of the BSL is to recompile the source. Currently, for the 6638, this is not available. You could always read out the BSL image, change the constants, and then reprogram this, however I'm not sure this is really required for your goals...
You mention using the BSL for production. If you mean production programming of devices, the default VID/PID should be fine, as long as your system is simply designed to mass pogram this one device/image.
For field firmware upgrades, it is still ok, but there is a (albeit very small) chance that another unrelated product could be in "BSL mode" and connected at the same time, leading to confusion on the part of your upgrade software.
Hi
Thanks for all the valuable answers to my questions.
I highly appreciate it
· Setting the program counter to the memory location 0x1000 invokes the BSL
((void (*)())0x1000)();
For field firmware upgrades I will use USB BSL default VID: 0x2047 and PID: 0x0200 and from the BSL read some memory locations to make sure it’s our device before upgrading.
This way I’m sure it’s our device and not any other unrelated product with the same VID/PID
Regards
Steffen kristensen
>read some memory locations
This sounds like a good plan. My only further suggestion would be to look into the CRC command in the BSL, as it was put in for memory verification purposes like you describe.
Hello,
I'm searching about an example of USB BSL code with memory verification with CRC.
Are there it on your website or where can I find it ?
Thanks.
**Attention** This is a public forum