User's Manual
Table Of Contents
- 2035-UM1xx.book
- Table of Contents
- List of Figures
- List of Tables
- Section 1: Introduction
- Section 2: Hardware System Overview
- Section 3: BCM2035 Usage Models
- Section 4: Hardware Configuration
- Section 5: Software Configuration
- Introduction
- Hardware Power-Up Sequence
- Boot ROM Power-Up Sequence
- Firmware Power-Up Sequence
- BCM2035 Mini-Drivers
- Loading Mini-Drivers from USB
- Load Mini-Drivers From UART
- SCO Configuration
- Frequency Trimming
- UART Sleep Mode Operation
- Section 6: Configuration Data File System
- Section 7: Vendor-Specific HCI Command Reference
- Section 8: ASCII Hex File Download Protocol
- Section 9: ASCII HEX File Format
- Section 10: Configuration Data Download Protocol
- Section 11: Configuration Data Image Format
- Section 12: UART Start-up Sequence
- Section 13: USB Start-up Sequence
9/29/2004 OV4F2
C
O
N
F
I
D
E
N
T
I
A
L
F
O
R
W
I
S
T
R
O
N
C
O
R
P
O
R
A
T
I
O
N
BCM2035 User Manual
04/23/03
Broadcom Corporation
Page 40 Loading Mini-Drivers from USB Document 2035-UM100-R
LOADING MINI-DRIVERS FROM USB
Instructions for loading mini-drivers from the USB port are listed below:
1. Download mini-driver
a. The
BCM2035 will enumerate with a VID/PID of 0x0A5C/0x2035.
b. Transmit the mini-driver to the
BCM2035 in Intel Hex format using the Bulk Out Endpoint in Interface 0.
Line feeds and carriage returns can be eliminated if desired. The HEX records are sent one at a time. The
USB handshake packet that is used to terminate a USB transaction also acts as the
BCM2035
acknowledgement for receiving the HEX record. The BCM2035 does not have an acknowledgement
scheme to indicate if the HEX record was received correctly or not. The mini-driver HEX records should
have valid checksum and are assumed to be correct. If an incorrect checksum is found, the
BCM2035 will
reset itself. The maximum transfer size for the write operations to the Bulk Out Endpoint is 4096 bytes.
c. When the mini-driver download has completed, program execution is switched to it.
LOAD MINI-DRIVERS FROM UART
Instructions for loading mini-drivers from UART are listed below:
1. Initialize Serial Port
a. Set UART baud rate to the HCI system baud-rate. RTS/CTS flow control.
If optional micro-driver is used continue with Step 2, otherwise skip to step 3.
2. Download micro-driver
a. Transmit the micro-driver to the
BCM2035 in Intel Hex format. Line feeds and carriage returns can be
eliminated if desired.
b. After each complete hex record is received by the BCM2035, it will send a '.' (0x2E) character as an ACK.
c. When the micro-driver download has completed, program execution is switched to it.
3. Download mini-driver
a. Set the UART for 921.6 Kbps, keep RTS/CTS flow control.
b. Transmit the mini-driver to the
BCM2035 in Intel Hex format. Line feeds and carriage returns can be
eliminated if desired.
c. After each complete hex record is received by the BCM2035, it will send a '.' (0x2E) character as an ACK.
d. When the mini-driver download has completed, program execution is switched to it.
The micro-driver, if used, determines the UART baud rate that is going to be used for the subsequent mini-
driver download. Typically the baud rates set by the micro- and mini-drivers will be the same. The max baud
rate that the
BCM2035 can support is 1.5M. The downloading of actual firmware using 1.5M baud rate based
on ASCII hex format is around 4.5 seconds.