Skip to content

Edge Impulse firmware for TI LAUNCHXL-CC1352P1 development board

License

Notifications You must be signed in to change notification settings

edgeimpulse/firmware-ti-launchxl

Repository files navigation

Edge Impulse Firmware for TI LAUNCHXL-CC1352P

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.

Requirements

Hardware

Hardware Setup

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.

Software

Texas Instruments Simplelink SDK

  • Uses the TI Simplelink SDK simplelink_cc13x2_26x2_sdk_5.20.00.52.
  • Set SIMPLELINK_CC13X2_26X2_SDK_INSTALL_DIR in gcc/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/

Building the application

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 with gcc/FreeRTOSConfig.h and then in a terminal:
   $ cd <TI SDK FOLDER>/kernel/freertos
   $ make

Or do all steps by:

   $ cd gcc
   $ make build-kernel
  1. Build the application by calling make as follows:

    $ cd gcc
    $ make
    
  2. Connect the board to your computer using USB.

  3. 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.

Or build with Docker

  1. Build the Docker image:

    $ docker build -t ti-build .
    
  2. 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"
    
  3. Connect the board to your computer using USB.

  4. 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
    

Troubleshooting

Flashing

If during flashing you encounter flashing issue.

Then ensure:

  1. your device is properly connected and/or your cable is not damaged.
  2. 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.

About

Edge Impulse firmware for TI LAUNCHXL-CC1352P1 development board

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published