그라운드 임베디드 EN 유튜브 구독

노트 / 임베디드 리눅스

실시간 리눅스: PREEMPT_RT와 역할 나누기

리눅스도 실시간에 가까워질 수 있지만 MCU와는 다릅니다. 지연 측정 방법과 MCU에 맡길 일을 정하는 기준.

GROUND EMBEDDED · 정리 노트임베디드 리눅스 08실시간 리눅스 1cyclictest -p 90 -t1 -i 1000 -l 100000 …

실시간이란

"빠르다"가 아니라 "최악의 경우에도 마감 안에 반응한다"입니다. 평균 10µs여도 가끔 5ms가 걸리면 실시간이 아닙니다.

PREEMPT_RT

커널의 대부분을 선점 가능하게 만들어, 높은 우선순위 실시간 스레드가 커널 작업에 오래 막히지 않게 합니다. 6.12부터 메인라인 커널에 통합되었습니다.

지연 측정

cyclictest -p 90 -t1 -i 1000 -l 100000 -m

부하(stress, 네트워크 트래픽)를 걸고 측정한 최대 지연이 기준입니다. 일반 커널은 수 ms, PREEMPT_RT는 하드웨어에 따라 수십 µs 수준까지 줄어듭니다.

무료 전자책이 주제를 한 권으로 이어 읽기 (PDF 3권)→

실시간 앱 작성

  • SCHED_FIFO 우선순위 지정
  • mlockall()로 메모리 고정 (페이지 폴트 방지)
  • 실시간 루프 안에서 동적 할당, 파일 I/O 금지
  • CPU 코어 하나를 실시간 작업 전용으로 격리

역할 나누기

리눅스네트워크, UI, 저장UART · SPI · CANMCU모터 제어, 안전
마이크로초 단위의 제어는 MCU에, 통신과 화면은 리눅스에 맡깁니다.
MCU에 맡길 일 리눅스에 맡길 일
10kHz 이상 전류 제어, PWM 생성 상위 경로 계획, 영상 처리
과전류 같은 µs 보호 UI, 네트워크, 로그 저장
안전 기능 업데이트, 클라우드 연결

로봇과 차량에서는 리눅스 SoC와 MCU를 함께 쓰고 UART, SPI, CAN, 공유 메모리(Cortex-A + M 복합 칩의 RPMsg)로 연결하는 구성이 흔합니다.

영상으로 이어 보기제품은 어떻게 동작할까 시리즈 8편하늘 위 떠다니는 드론은 어떻게 동작할까? 프로펠러 4개로 뜨고 기우는 원리부터 비행 제어기 · PID · 센서 퓨전까지FREE PDF무료 전자책 3권 받기이 주제를 한 권으로 이어서 읽고 싶다면. BLDC 모터 제어, 직렬통신, 센서를 책 분량으로 묶었습니다. 이메일만 남기면 바로 받습니다.무료로 받기 →