This directory contains example platform drivers for the Texas Instruments CC2650.
The example platform drivers are intended to present the minimal code necessary to support OpenThread. As a result, the example platform drivers do not necessarily highlight the platform's full capabilities. The platform abstraction layer was build for the CC2650 LAUNCHXL, usage on other boards with a CC2650 will require changes to the peripheral drivers.
Due to flash size limitations, some features of OpenThread are not supported on the Texas Instruments CC2650. This platform is intended for exprimentation and exploration of OpenThread, not a production ready environment. Texas Instruments recommends future TI SoCs for production.
Building with gcc 5.4 is recommended due to generated code size concerns.
All three configurations were tested with arm-none-eabi-gcc 5.4.1 20160609 (release)
on this commit. The automatic integration builds have since been limited to only the cli-mtd
configuration to limit the impact on pull requests.
Building the examples for the cc2650 requires GNU AutoConf, GNU AutoMake, Python, and the ARM gcc toolchain.
With the exception of the arm toolchain, most of these tools are installed by default on modern Posix systems. Windows does not have these tools installed by default, and the bootstrap script requires a Posix or MSYS environment to run. It is possible to setup an MSYS environment inside of Windows using tools such as Cygwin or MinGW but it is recommended to setup a Linux VM for building on a Windows system. For help setting up VirtualBox with Ubuntu, consult this community help wiki article.
In a Bash terminal, follow these instructions to install the GNU toolchain and other dependencies.
$ cd <path-to-openthread> $ ./script/bootstrap
In a Bash terminal, follow these instructions to build the cc2650 examples.
$ cd <path-to-openthread> $ ./bootstrap $ make -f examples/Makefile-cc2650
If the build completed successfully, the elf
files may be found in <path-to-openthread>/output/cc2650/bin
.
To flash the images with Flash Programmer 2, the files must have the *.elf
extension.
$ cd <path-to-openthread>/output/cc2650/bin $ cp ot-cli ot-cli.elf
To load the images with the serial bootloader, the images must be converted to bin
. This is done using arm-none-eabi-objcopy
$ cd <path-to-openthread>/output/cc2650/bin $ arm-none-eabi-objcopy -O binary ot-cli ot-cli.bin
The cc2538-bsl.py script provides a convenient method for flashing a CC2650 via the UART. To enter the bootloader backdoor for flashing, hold down BTN-1 on CC2650 LauchPad or SELECT for CC2650DK (corresponds to logic ‘0’) while you press the Reset button.
help
for a list of commands> help help channel childtimeout contextreusedelay extaddr extpanid ipaddr keysequence leaderweight masterkey mode netdataregister networkidtimeout networkname panid ping prefix releaserouterid rloc16 route routerupgradethreshold scan start state stop whitelist
Refer to the documentation in the wpantund project for build instructions and usage information.