Boot Loader
Byte Description
0 Size of the header(Number of Languages * 2) + 2
1 USB_DTYPE_STRING
2 Language ID 0 bits[7:0]
3 Language ID 0 bits[15:8]
... ...
. Language ID n bits[7:0]
. Language ID n bits[15:8]
. Language 0 Manufacturer string size in bytes + 2
. USB_DTYPE_STRING
. Language 0 Manufacturer Unicode String
. Language 0 Product string size in bytes + 2
. USB_DTYPE_STRING
. Language 0 Product Unicode String
. Language 0 Serial Number size in bytes + 2
. USB_DTYPE_STRING
. Language 0 Serial Number Unicode String
... ...
. Language n Manufacturer string size in bytes + 2
. USB_DTYPE_STRING
. Language n Manufacturer Unicode String
. Language n Product string size in bytes + 2
. USB_DTYPE_STRING
. Language n Product Unicode String
. Language n Serial Number size in bytes + 2
. USB_DTYPE_STRING
. Language n Serial Number Unicode String
The next three examples show an example customization structure for a no string case, a single
language case and a multiple language case.
Example: No strings but custom descriptor.
uint8_t pui8USBBootROMInfo[] =
{
0xbe, 0x1c, // TI VID
0xff, 0x00, // Tiva DFU PID
0x00, 0x02, // USB version 2.0
0x00, // 0mA of Bus power
0xC0, // Self powered using no bus power
0 // Address of the string table
}
//
// Call to ROM USB boot loader.
//
ROM_UpdateUSB(pui8USBBootROMInfo);
Example: Single US English string set.
April 8, 2013 23