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