Datasheet

TUSB3410 Bootcode Flow
72
SLLS519H—January 2010TUSB3410, TUSB3410I
Table 11−7. Autoexec Binary Firmware
OFFSET TYPE SIZE VALUE DESCRIPTION
0x0000 Signature0
1
0x10 FUNCTION_PID_L
0x0001 Signature1 1 0x34 FUNCTION_PID_H
0x0002 Data Type 1 0x07 Autoexec binary firmware
0x0003 Data Size (low byte) 1 0x67 0x4567 bytes of application code
0x0004 Data Size (high byte) 1 0x45
0x0005 Check Sum 1 0xNN Checksum of the following firmware
0x0006 Program 0x4567 Binary application code
0x456d Data Type 1 0x00 End of header
11.7 USB Host Driver Downloading Header Format
If firmware downloading from the USB host driver is desired, then the USB host driver must follow the format
in Table 11−8. The Texas Instruments bootloader driver generates the proper format. Therefore, users only
need to provide the binary image of the application firmware for the Bootloader. If the checksum is wrong, then
the bootcode disconnects from the USB and waits before it reconnects to the USB.
Table 11−8. Host Driver Downloading Format
OFFSET TYPE SIZE VALUE DESCRIPTION
0x0000 Firmware size (low byte)
1
0xXX Application firmware size
0x0001 Firmware size (low byte) 1 0xYY
0x0002 Checksum 1 0xZZ Checksum of binary application code
0x0003 Program 0xYYXX Binary application code
11.8 Built-In Vendor Specific USB Requests
The bootcode supports several vendor specific USB requests. These requests are primarily for internal testing
only. These functions should not be used in normal operation.
11.8.1 Reboot
The reboot command forces the bootcode to execute.
bmRequestType USB_REQ_TYPE_DEVICE |
USB_REQ_TYPE_VENDOR |
USB_REQ_TYPE_OUT
01000000b
bRequest BTC_REBOOT 0x85
wValue None 0x0000
wIndex None 0x0000
wLength None 0x0000
Data None
11.8.2 Force Execute Firmware
The force execute firmware command requests the bootcode to execute the downloaded firmware
unconditionally.
bmRequestType USB_REQ_TYPE_DEVICE |
USB_REQ_TYPE_VENDOR |
USB_REQ_TYPE_OUT
01000000b
bRequest BTC_FORCE_EXECUTE_FIRMWARE 0x8F
wValue None 0x0000
wIndex None 0x0000
wLength None 0x0000
Data None