IIO Demo FreeRTOS no-OS Example Project

See projects/iio_demo_freertos (doxygen) for the Doxygen documentation.

Overview

The IIO Demo FreeRTOS project demonstrates running an IIO (Industrial I/O) server on the FreeRTOS real-time operating system using no-OS drivers. The application creates two FreeRTOS tasks: an IIOD server task that exposes demo ADC and DAC devices to IIO clients, and an LED blinking task that demonstrates multithreading capability.

The demo ADC and DAC use loopback buffers, allowing data written to the DAC to be read back from the ADC. This project serves as a reference for integrating IIO applications with FreeRTOS on Maxim microcontrollers.

If you are not familiar with ADI IIO Application, please take a look at: IIO No-OS

If you are not familiar with ADI IIO Oscilloscope Client, please take a look at: IIO Oscilloscope

No-OS Build Setup

Please see: No-OS Build Guide

No-OS Supported Examples

The initialization data used in the examples is taken out from the Project Common Data Path.

The macros used in Common Data are defined in platform specific files found in the Project Platform Configuration Path.

IIO example

This is the default and only example for this project. It initializes demo ADC and DAC device descriptors, configures the IIO application, and runs the IIOD server in a FreeRTOS task. A second task blinks an LED to demonstrate concurrent execution.

As it is the only example, it is selected by default (--variant iio). See the Build Command section below for the build instructions.

No-OS Supported Platforms

Maxim

Used Hardware

  • Any Maxim microcontroller evaluation kit with FreeRTOS support (e.g., MAX32690EVKIT, MAX32655EVKIT)

Build Command

Available variants: iio. Available boards: ad-apard32690-sl, max32655fthr. Replace --variant / --board accordingly.

export MAXIM_LIBRARIES=</path/to/MaximSDK/Libraries>

cd no-OS

# build the project (iio example on the ad-apard32690-sl board)
python tools/scripts/no_os_build.py build \
   --project iio_demo_freeRTOS --variant iio --board ad-apard32690-sl

# build and flash (requires a connected debug probe)
python tools/scripts/no_os_build.py build \
   --project iio_demo_freeRTOS --variant iio --board ad-apard32690-sl \
   --probe openocd --flash