본문 바로가기
OS/FreeRTOS

FreeRTOS 정보

by 전자돌 2020. 12. 9.
반응형

 

OpenRTOS

타사의 Real Time Engineers Ltd.의 라이선스에 따라 제공되는 FreeRTOS의 상용 라이선스 버전입니다.

 

SafeRTOS

FreeRTOS와 동일한 사용 모델을 공유하지만 국제적으로 인정된 다양한 안전 관련 표준을 준수한다고 주장하는데

필요한 관행, 절차 및 프로세스에 따라 개발되었습니다.

 

실시간 커널을 사용하는 이유

좋은 임베디드 소프트웨어를 작성하기위한 잘 확립된 기술이 많이 있습니다.

커널을 사용하고 개발중인 시스템이 간단한 경우 이러한 기술이 가장 적절한 솔루션을 제공할 수 있습니다.

더 복잡한 경우에는 커널을 사용하는 것이 좋을 수 있지만 크로스 오버 포인트가 발생하는 곳은 항상 주관적입니다.

작업 우선 순위 지정은 응용 프로그램이 처리를 충족하도록 보장할 수 있지만 그러나 커널은 다른 덜 명백한 이점도 가져올 수 있습니다.

 

  • 타이밍 정보 추상화 커널은 실행 타이밍을 담당하며 시간 관련 API를 애플리케이션에 제공합니다.

이를 통해 응용 프로그램 코드의 구조가 더 단순 해지고 전체 코드 크기가 더 작아집니다.

 

  • 유지 관리 / 확장성

타이밍 세부 사항을 추상화하면 모듈 간의 상호 종속성이 줄어들어 소프트웨어가 제어되고 예측 가능한 방식으로 발전 할 수 있습니다. 또한 커널은 타이밍을 담당하므로 애플리케이션 성능이 기본 하드웨어의 변경에 덜 민감합니다.

 

  • 모듈성

작업은 독립적인 모듈이며, 각 모듈에는 잘 정의된 목적이 있어야 합니다.

 

  • 팀 개발

또한 작업에는 잘 정의 된 인터페이스가 있어야 팀에서 쉽게 개발할 수 있습니다.

 

  • 더 쉬운 테스트

작업이 깔끔한 인터페이스로 잘 정의 된 독립 모듈 인 경우 격리 된 상태에서 테스트 할 수 있습니다.

 

  • 코드 재사용

더 큰 모듈 성과 더 적은 상호 의존성은 적은 노력으로 코드를 재사용할 수있게 합니다.

 

  • 효율성 향상

커널을 사용하면 소프트웨어가 완전히 이벤트 중심이 될 수 있으므로 발생하지 않은 이벤트를 폴링하여 처리 시간을 낭비하지 않습니다. 코드는 수행해야 할 작업이 있을 때만 실행됩니다. 효율성 절감의 반대는 RTOS 틱 인터럽트를 처리하고 한 작업에서 다른 작업으로 실행을 전환해야 한다는 것입니다. 그러나 RTOS를 사용하지 않는 응용 프로그램에는 일반적으로 어떤 형태의 틱 인터럽트가 포함됩니다.

 

  • 유휴시간

유휴 작업은 스케줄러가 시작될 때 자동으로 생성됩니다. 실행하려는 응용 프로그램 작업이 없을 때마다 실행됩니다. 유휴 작업은 예비 처리 용량을 측정하거나 백그라운드 확인을 수행하거나 단순히 프로세서를 저전력 모드로 전환하는 데 사용할 수 있습니다.

 

  • 전원 관리

RTOS를 사용하여 얻은 효율성 향상은 프로세서가 저전력 모드에서 더 많은 시간을 보낼 수 있도록 합니다. 유휴 작업이 실행될 때마다 프로세서를 저전력 상태로 전환하면 전력 소비를 크게 줄일 수 있습니다. FreeRTOS에는 특별한 틱리스 모드도 있습니다. 틱리스 모드를 사용하면 프로세서가 보다 낮은 전력 모드로 들어갈 수 있습니다. 그렇지 않으면 가능한 더 오래 저전력 모드를 유지하는 것이 좋습니다

 

  • 유연한 인터럽트 처리

인터럽트 핸들러는 다음에 의해 생성 된 작업에 대한 처리를 지연하여 매우 짧게 유지할 수 있습니다. 애플리케이션 작성자 또는 FreeRTOS 데몬 작업입니다.

 

  • 혼합 처리 요구 사항

단순한 설계 패턴은 애플리케이션 내에서 주기적, 연속적 및 이벤트 중심 처리를 혼합 할 수 있습니다. 또한 적절한 작업 및 인터럽트 우선 순위를 선택하여 하드 및 소프트 실시간 요구 사항을 충족 할 수 있습니다.

반응형

'OS > FreeRTOS' 카테고리의 다른 글

RTOS 이해하기 1-2[기초]  (0) 2020.12.10
RTOS 이해하기 1-1[기초]  (0) 2020.12.10
RTOS 소스 파일 및 프로젝트  (0) 2020.12.09
FreeRTOS 기능  (0) 2020.12.09
표기법 목록  (0) 2020.12.09