The following pertains to programming your BCM20732S based design outside of the BCM20732S Tag board environment, such as when using something like a FTDI TTL-232R-3V3 USB to Serial Cable (http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm) attached to a UART header designed onto your board.
First off, note that Serial Wire Debug (SWD) debug/trace messages can also be output through the HCI UART port that’s onboard. The SWD pins are muxed with HCI UART and are used in such a manner that the hardware and firmware can auto-detect the presence of SWD or the HCI host; this means that HCI based download (programming) and SWD (debugging) are mutually exclusive of one another.
In order to use the onboard UART header and a FTDI TF232R USB to Serial cable to program your custom board, you would need to do the following:
With the BCM20732S board powered down, connect the FTDI TTL-232R-3V3 USB to Serial Cable to your PC (USB) then to the UART header on your board: Yellow to RXD, Orange to RXD, Red to VBAT and Black to GND.
Power your board up while making sure that RXD is held high during power up. Note that by default this pin is pulled low through an internal 10k ohm resistor.
Program the board using the Broadcom IDE just as you would if a BCM20732S Tag board were connected.
".. Yellow to RXD, Orange to RXD, Red to VBAT and Black to GND.."
Is this correct? Yellow and orange to RXD?
The FTDI cable supplies 5V the BCM20732S says 3.63V max power supply. Do you know of a cable that supplies 3.3V?
Just to check, this board then expects a 5V input on VBAT from the FTDI cable correct?
Do you have any information on connecting to board through the BCM920732TAG_Q32 board over JP1?
I'm also trying to programme the BCM20732S on a custom board and its not working.
I made a breakout board to prototype interfacing with the module.
I connected RX to TX , TX to RX, GND & VCC to the same (3v3 FTDI USB interface)
Pin P1 pulled high with a 10k resistor (BCM20732S datasheet p11)
RST pulled high with a 10k resistor (similar to WICED smart tag user guide page 12)
RX pulled high during power up (as above)
WICED smart IDE 1.0.1 doesn't see the board, but maybe the BCM20732S is bad or badly soldered to the board.
Should I expect a brand new BCM20732S to have a valid firmware when it is first powered up, should i see it broadcasting?
Can you probe SCL and SDA during boot and see what activity you see on the bus?
SDA and SCL both come high during boot up. No sign of any data.
Does anyone know whether I should expect a brand new BCM20732S to have a valid firmware when it is first powered up, should i see it broadcasting?
There should be some test FW on the modules and if HCI RX is low when the module is powered on, it should advertise as soon as it boots up.
> SDA and SCL both come high during boot up. No sign of any data.
Even when the NV is empty, you should see some activity on SCL and SDA lines when the boot ROM tries to detect the NV storage connected to it. Can you probe the pins on the module and make sure that the reset line is pulled high and the TMC line is pulled low?
This is confusing, a broadcom engineer tells me that there is no test FW on BCM20732S modules. I guess there would have to be a FW to see activity on SDA and SCL?
I've probed as you suggest, RESET is indeed pulled high and TMC is low.
I still can't get the SDK to programme or recover the module, I'm going to presume that it is faulty or I fried it.
I'm wondering about this too, is the BCM20732S pre-programmed from the factory? If I just power up the BCM20732S, will I see the BLE advertisement?
I'd guess no because there will not be an image found on the EEPROM, so the module will come up in programming mode.
At a high level, the ROM includes (roughly 320 KB worth):
- Core firmware
- Embedded BLE stack (L2CAP, GAP, GATT [attribute profile and protocol], SMP, HCI and below)
- Some profiles (proximity, heart rate monitor, thermometer, blood pressure monitor and time in ROM , plus more in SDK 2.0.1)
- Drivers for I2C EEPROM, SPI EEPROM and SPI Serial flash
Based on my understanding, there is no pre-loaded application