Last edited 4 years ago

IIO Linux kernel tools

Linux® kernel provides some user space tools that can be used for testing the IIO subsystem.

1. Article purpose[edit source]

The purpose of this article is to:

  • briefly introduce the IIO user space tools that comes with the Linux® kernel
  • provide a few examples using these tools

2. Introduction[edit source]

These tools use IIO sysfs and character device directly without libiio (See IIO user space interface for further details).

3. Tools[edit source]

The Linux® kernel provides the following IIO user space tools:

  • lsiio: example application that provides a list of IIO devices and triggers.
root@stm32mp1:~# lsiio
Device 001: 48003000.adc:adc@100
Device 000: 48003000.adc:adc@0
Trigger 018: tim3_ch4
Trigger 007: tim1_ch3
...
root@stm32mp1:~# iio_event_monitor /dev/iio:device0 &
Event: time: 1529352199639112110, type: voltage, channel: 0, evtype: thresh, direction: either
Event: time: ...
  • iio_generic_buffer: example application that reads data from buffer.
  • iio_utils: set of routines built-in above IIO tools, typically used to access sysfs files.

4. Source code[edit source]

The Linux® kernel IIO tools source code can be found under tools/iio[1] directory:

5. Installation on your target[edit source]

The Linux® kernel IIO tools aren't embedded by default in OpenSTLinux distribution. They can be compiled independently and then installed on the target. See How to build Linux kernel user space tools.

6. References[edit source]

  1. tools/iio , Linux® IIO tools source code