IIO, The Industrial I/O는 ADC, DAC, 센서 등의 장비들을 위한 하위시스템이다.
어플리케이션에서 다양한 센서, 드라이버와 통신을 하거나 조작할 수 있는 인터페이스를 제공한다.
IIO의 기능
- 장치 등록 및 제어
- sysfs 를 통한 장치 채널의 폴링 액세스
- chrdevs 이벤트
- 하드웨어 원형 버퍼 지원
- 버퍼링을 이용한 CPU 부하 감소
- kfifo (linux kernel에서 제공하는 Queue) 지원
* 그래서 IIO라는게 무엇일까?
사실 IIO라는게 잘 알진 못한다.
실제로 써보진 않았기 때문이다.
이론상으로는 IIO, 즉, 보드와 연결된 장치들을 제어하는 API를 제공하는 인터페이스이다.
아날로그-디지털 변환기, 센서 등을 제어할 수 있는 기능이다.
이러한 기능들을 사용할 수 있는 라이브러리가 libiio이다.
libiio는 이러한 장치들을 sysfs를 이용하여 kernel과 통신하는 local backend,
IIOD 라는 네트워크 서버와 링크하여 데이터를 전송하는 Networ backend로 구성된다.
실제 STM 보드에서 iio_info를 입력하면 iio로 연결된 장치들의 리스트가 나타난다.
참조링크
wiki.analog.com/software/linux/docs/iio/iio
Linux Industrial I/O Subsystem [Analog Devices Wiki]
wiki.analog.com
wiki.st.com/stm32mpu/wiki/IIO_overview
IIO overview - stm32mpu
This article gives information about the Linux® IIO framework. It explains how to activate the IIO interface and, based on examples, how to use it. 1 Framework purpose[edit] IIO (Industrial I/O) is a subsystem for Analog to Digital Converters (ADCs), Digi
wiki.st.com
'정리글' 카테고리의 다른 글
JAVA Maven에서 나는 라이브러리를 별도로 쓰고 싶었다 (0) | 2020.09.17 |
---|---|
JAVA Maven 프로젝트에서 JNA 사용 (0) | 2020.09.16 |
LWM2M 했던 것들 정리 (0) | 2020.07.14 |
TCP tunneling 을 빙자한 Raw Socket (0) | 2020.06.11 |
mbed OS 에서 메모리 사용량 체크 mbed_stats.h (0) | 2019.12.27 |