Skip to content

edgeimpulse/firmware-silabs-xg24

Repository files navigation

Firmware Silicon Labs xG24 Dev Kit

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 Silicon Labs EFR32xG24 Dev Kit. 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.

This firmware has a BLE capabilities built-in that allow you to start/stop inference and see its results on the mobile phone.

Source code organization

  • If you want to deploy your model (exported as a Simplicity Studio Component from Studio), extract the exported zip file content into:

    extension

Reporting issues

This repository is a snapshot of the Edge Impulse internal code base, therefore PRs won't be merged. If you find any bugs or want to contribute use our Developer Forum to submit them.

Requirements

Hardware

Software

For a local build using command line tools:

For build using Docker container:

For build using Simplicity Studio v5:

How to build

Local build using command line tools

  1. Clone the Gecko SDK v.4.0.2

    git clone -b v4.0.2 https://github.com/SiliconLabs/gecko_sdk.git
    
  2. Install SLC CLI Tools (see p. 2.1)

  3. Configure SLC CLI to point the location of the Gecko SDK and sign the SDK

    slc configuration --sdk /home/user/gecko_sdk/
    slc signature trust --sdk /home/user/gecko_sdk/
    
  4. Also configure the default location of your toolchain, eg.

    slc configuration --gcc-toolchain /opt/toolchains/gcc-arm-none-eabi-10-2020-q4-major
    
  5. Clone this repository and build

    git clone [email protected]:edgeimpulse/firmware-silabs-xg24.git
    cd firmware-silabs-xg24/
    ./build.sh --build
    

Using Docker

  1. Clone this repository

    git clone [email protected]:edgeimpulse/firmware-silabs-xg24.git
    cd firmware-silabs-xg24/
    
  2. Build the container

    $ docker build -t edge-impulse-silabs .
    
  3. Build the application

    docker run --rm -v $PWD:/app edge-impulse-silabs /bin/bash build.sh --build
    

Using Simplicity Studio v5

  1. Install Simplicity Studio v5 and Gecko SDK v4.0.2

  2. Clone this repository

  3. In the Simplicity Studio, choose File -> Import

  4. Browse to the directory with cloned repository select firmware-xg24 project and clik Next

  5. Check if all imported configurations are correct, especially Board, SDK and Toolchain:

  6. Choose a project name in your workspace and finish

  7. We have to make a few tweaks before building the project. In the Project Explorer panel, right click on the extension directory and choose Delete

  8. Confirm that only workspace link will be removed, the target will remain unchanged

  9. Now, double click on the firmware-xg24.slcp file to open project configuration

  10. In the new window choose Change Targed/SDK/Generators

  11. Make sure only Simplicity IDE Project generator is selected, REMOVE any other generators.

  12. Build the project

Flashing

  1. Install Simplicity Commander

  2. Connect the board and flash:

    $ ./build.sh --flash