Edge Impulse enables developers to create the next generation of intelligent device solutions with embedded machine learning. This repository contains the Edge Impulse firmware for TI LAUNCHXL-CC1352P development board. This device supports all of Edge Impulse's device features, including ingestion, remote management and inferencing.
Note: Do you just want to use this development board to collect data with Edge Impulse? No need to build this firmware. View the getting started guide for a pre-built firmware image and flashing instructions. Or, you can use the data forwarder to capture data from any sensor.
- TI LAUNCHXL-CC1352P.
- BOOSTXL-SENSORS - contains additional sensors and allows to connect (more) external sensors.
- CC3200AUDBOOST - adds audio to your project.
The add-on boards can be stacked on each other with the CC3200AUDBOOST stacked on the BOOSTXL-SENSOR add-on. However hardware modifications are required to get the CC3200AUDBOOST to work for CC1352P.
See Hardware Setup > Codec Setup - CC3200AUDBOOST in Quick Start Guide and follow steps for CC13x2.
- Edge Impulse CLI.
- Install the following tools separately or install TI CCSTUDIO which comes bundled with:
- Install UniFlash.
- Download TI Simplelink SDK.
- Download FreeRTOS 202107.00.
- Uses the TI Simplelink SDK
simplelink_cc13x2_26x2_sdk_5.20.00.52
. - Set
SIMPLELINK_CC13X2_26X2_SDK_INSTALL_DIR
ingcc/makefile
to the path to TI SimpleLink SDK, referred to as<TI SDK FOLDER>
. - Set the following variables in
<TI SDK FOLDER>/imports.mak
:SYSCONFIG_TOOL
e.g./home/user/ti/sysconfig_1.8.2/sysconfig_cli.sh
GCC_ARMCOMPILER
e.g./home/user/ti/ccs1040/ccs/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major
:FREERTOS_INSTALL_DIR
e.g./home/user/FreeRTOS/
The FreeRTOS kernel must be built before the applicaiton can be built. To do so,
- Replace the
FreeRTOSConfig.h
in<TI SDK FOLDER>/kernel/freertos/builds/cc13x2_cc26x2/release
withgcc/FreeRTOSConfig.h
and then in a terminal:$ cd <TI SDK FOLDER>/kernel/freertos $ make
Or do all steps by:
$ cd gcc $ make build-kernel
-
Build the application by calling
make
as follows:$ cd gcc $ make
-
Connect the board to your computer using USB.
-
Flash the board
Windows
$ dslite.bat -c tools\user_files\configs\cc1352p1f3.ccxml -l tools\user_files\settings\generated.ufsettings -e -f -v gcc\build\firmware-ti-launchxl.out
Linux, macOS
$ export PATH=/home/user/ti/:${PATH} $ dslite.sh -c tools/user_files/configs/cc1352p1f3.ccxml -l tools/user_files/settings/generated.ufsettings -e -f -v gcc/build/firmware-ti-launchxl.out
Note: the above expects UniFlash is installed and
dslite.sh/dslite.bat
to be in the system path.
-
Build the Docker image:
$ docker build -t ti-build .
-
Build the application by running the container as follows:
Windows
$ docker run --rm -it -v "%cd%":/app ti-build /bin/bash -c "cd gcc && make build-kernel && make"
Linux, macOS
$ docker run --rm -it -v $PWD:/app:delegated ti-build /bin/bash -c "cd gcc && make build-kernel && make"
-
Connect the board to your computer using USB.
-
Flash the board:
$ dslite.sh -c tools/user_files/configs/cc1352p1f3.ccxml -l tools/user_files/settings/generated.ufsettings -e -f -v gcc/build/firmware-ti-launchxl.out
Flashing
If during flashing you encounter flashing issue.
Then ensure:
- your device is properly connected and/or your cable is not damaged.
- you have the proper permissions to access the USB device.
If on Linux you may want to try copying tools/71-ti-permissions.rules
to /etc/udev/rules.d/
. Then re-attach the USB cable and try again.
Out of (RAM) Memory: (-1002)
TI LAUNCHXL-CC1352P has 80kB of RAM which may not always be enough to run your model. If this is the case try reducing the RAM usage of your model.