User Manual

Fluke Corporation Telephone Facsimile Email
PO Box 9090 Everett WA 98206.9090 USA 425.347.6100 425.356.5108 http//www.fluke.com
Multiple blocks can be written at once using the BLE "Write, No
Response" command. For TI's BLE Stack (V1.3.x), we can write up to 4
blocks at one time.
4. Continue this process until all blocks are written. If a block isn't delivered (due to
being sent with write, no response), the Radio will re-request it when the next
block is written.
5. Loop though this process until all the blocks are written.
5. Wait for the disconnect.
1. After the last block is written, wait for the BLE Slave device to disconnect, the
radio is settings up to use the new firmware image.
6. Re-connect, and verify that the new image loaded by writing a 0x00 or 0x01 to <<TI -
OAD Img Id>> (Don't forget to enable Notifications before doing the write).
Reference material
Implementation notes at
wiki:Self:TechnicalInvestigation/BleServicesMapping/service_fwDownload
TI OAD Documentation, located at http://processors.wiki.ti.com/index.php/OAD
pyFwUpdate.py script in tools/pyBleDongle/pyFwUpdate.py of the Elektra cc2540
GIT repository. (Uses TI CC2540 Development USB Dongle to do a FW upgrade).
External processor upgrade over BLE
This page outlines the process for doing a Firmware update to a CNX style MSP430 based
device over the air, using BLE.
Note that this process is heavily based on the CNX Firmware update process.
Note: For a example implementation, see the pyFwUpdate.py script in
tools/pyBleDongle/pyFwUpdate.py of the Elektra cc2540 GIT repository.
Overview
The basic sequence of events is a duplicate of the CNX Firmware Update process.
However, due to differences between FWCS and BLE, I had to make some minor
changes. In the BLE style upgrade, the packet size is much smaller (18 bytes instead of
89 bytes). In order to get around this, the BLE radio provides a 'register', which can be
filled with data. This allows us to use the 'write no response' BLE command to send
multiple packets in a single connection event. The Radio then caches these items up, until
they are the same size as the FWCS packet size. This is only needed for the command
uses to write data. The commands to erase the flash, verify the flash, and do the swap
remain as a single action.