본문 바로가기
카테고리 없음

FreeRTOS 공부 (24.11.18)

by sooom13579 2024. 11. 18.

RTOS 

1. 하드리얼타임 구현

2. 인터럽트 안정적, 효율적으로 운용

3. 잦은 상호배제로 인한 시스템 성능 저하 극복하는 법

4. 태스크 우선순위 결정을 확실하게 하는 법

5. 내가 만든 테스크가 실시간으로 동작하는지 테스트

6. 포팅 노하우


1. 멀티태스킹

main () : main task

task_Buttonkey : task+button 

이 부분이 멀티 태스킹임 

 

(추후 설명 추가)

 

115200 Speed로 연결


# 선점형 커널 : Low-Priority Task가 실행되는 중에 ISR에 의해 High-Priority Task가 깨어난 경우,  High-Priority Task가 종료된 후 Low-Priority Task가 실행됨.

할당된 시간을 초과함.

- 시스템 응답성이 좋음.

 

# 비선점형 커널 : Task A 도중 ISR이 발생하여도 즉시 실행하지 않고 Task A가 할당될때까지 기다렸다가 Task B가 실행됨. = 타임 퀀텀(Time quantum)

 

# Round-Robin 스케쥴링 : 모든 태스크들이 시간 자원(CPU)를 공평히 나누어 사용

 

# Priority 스케쥴링 : 태스크를 중요도에 의해 가중치 두어 우선적으로 실행할 수 있도록 하는 개념, 선점형 스케쥴링..

 

# 인터럽트 : 비동기적 이벤트의 발생을 처리하기 위한 메커니즘, 인터럽트 발생 시 문맥 저장하고 ISR로 이동

- ISR 활성/비활성화 가능

- Interrupt controller에서 요청된 모든 인터럽트를 마스킹 or Disk controller에 요청되는 요청들을 마스킹 (인터럽트 펜딩)

- 인터럽트 레이턴시가 짧을수록 인터럽트 응답성이 좋다고 표현

   * 인터럽트 레이턴시 : 인터럽트 응답이 발생할 때까지의 시간