프리RTOS

FreeRTOS
프리RTOS
Logo freeRTOS.png
개발자Real Time Engineers Ltd.
기입처C
OS 패밀리실시간 운영 체제
동작 상태현재의
소스 모델오픈 소스
초기 릴리즈2003년; 19년 전(2003년)
최신 릴리즈10.4.6[1] / 2021년 11월 12일, 8개월 전(2021-11-12)
저장소
마케팅 대상임베디드 시스템
이용가능기간:영어
플랫폼ARM(ARM7, ARM9, Cortex-M3, -M4, -M7, -A, -R4, AVR32, HCS12, MicroBlaze, Cortus(APS1, APS3, APS3R, FP5F)
커널 타입마이크로커널 RTOS
면허증.MIT[2]
공식 웹사이트www.freertos.org

FreeRTOS35개의 마이크로컨트롤러 플랫폼에 이식된 임베디드 디바이스용 실시간 운영 체제[3][4][5] 커널입니다.이것은 MIT 라이선스에 따라 배포됩니다.

역사

FreeRTOS 커널은 원래 Richard Barry가 2003년경 개발했으며 이후 Barry의 회사인 Real Time Engineers Ltd에 의해 개발 및 유지보수되었습니다.2017년에는 FreeRTOS 프로젝트의 관리권을 Amazon Web Services(AWS)에 넘겼습니다.Barry는 AWS [6]팀의 일원으로 FreeRTOS에서 계속 일하고 있습니다.

실행

FreeRTOS는 작고 심플하게 설계되어 있습니다.대부분 C프로그래밍 언어로 작성되어 있어 포팅과 유지보수가 용이합니다.또한 필요한 경우 주로 아키텍처별 스케줄러 루틴에서 몇 가지 어셈블리 언어 함수로 구성됩니다.

FreeRTOS는 여러 스레드 또는 태스크, 뮤텍스, 세마포어소프트웨어 타이머에 대한 메서드를 제공합니다.저전력 애플리케이션에는 틱리스 모드가 준비되어 있습니다.스레드 priority가 지원됩니다.FreeRTOS 애플리케이션은 정적으로 할당할 수 있지만 오브젝트는 5가지 메모리 관리 방식(할당)으로 동적으로 할당할 수도 있습니다.

  • 할당만
  • 매우 심플하고 빠른 알고리즘으로 할당 및 해방
  • 메모리 결합을 통한 보다 복잡하지만 고속 할당 및 자유 알고리즘
  • 여러 메모리 영역에 걸쳐 힙을 분할할 수 있는 메모리 결합을 포함하는 보다 복잡한 스킴의 대안입니다.
  • 및 C 라이브러리는 상호 제외 보호를 통해 할당 및 해방됩니다.

일반적으로 RTOS에는 디바이스 드라이버, 고급 메모리 관리, 사용자 계정 등 LinuxMicrosoft Windows 운영체제에서 일반적으로 볼 수 있는 고급 기능이 없습니다.콤팩트함과 실행속도에 중점을 두고 있습니다.FreeRTOS는 운영 체제가 아닌 스레드 라이브러리로 생각할 수 있지만 명령줄 인터페이스와 POSIX와 같은 입출력(I/O) 추상화를 사용할 수 있습니다.

FreeRTOS는 호스트 프로그램이 정기적으로 짧은 간격으로 스레드틱 메서드를 호출하도록 함으로써 여러 스레드를 구현합니다.스레드 틱 방식은 우선순위 및 라운드 로빈 스케줄링 방식에 따라 작업을 전환합니다.통상의 인터벌은 1 ~10 밀리초입니다(하드웨어 타이머로부터의 인터럽트를 통해 1µ1000 ~1µ100초). 단, 이 간격은 지정된 어플리케이션에 맞게 변경되는 경우가 많습니다.

소프트웨어 배포판에는 포트 및 컴파일러별로 준비된 구성과 데모가 포함되어 있어 신속한 애플리케이션 설계가 가능합니다.프로젝트 웹 사이트에서는 문서와 RTOS 튜토리얼 및 RTOS 설계에 대한 자세한 내용을 제공합니다.

주요 기능

  • 서적 및 참조 매뉴얼.
  • 메모리 크기가 작고 오버헤드가 낮으며 실행 속도가 빠릅니다.
  • 저전력 애플리케이션용 체크리스 옵션.
  • 취미 생활자나 시판품을 취급하는 전문 개발자를 대상으로 하고 있습니다.
  • 스케줄러는 프리엠프티브 멀티태스킹 또는 공동 멀티태스킹용으로 설정할 수 있습니다.
  • Coroutine 지원(FreeRTOS의 Coroutine은 콜스택 사용이 제한된 단순하고 가벼운 태스크)
  • 범용 트레이스 매크로를 통한 트레이스 지원따라서 FreeRTOS 파트너 Perceptpio의 상용 도구인 Tracealyzer와 같은 툴은 디버깅 및 검증을 위해 FreeRTOS 기반 시스템의 런타임 동작을 기록하고 시각화할 수 있습니다.여기에는 세마포 및 큐 작업에 대한 작업 스케줄링 및 커널 호출이 포함됩니다.

지원되는 아키텍처

파생상품

아마존 FreeRTOS

Amazon은 a:FreeRTOS라고 하는 FreeRTOS의 확장을 제공합니다.이것은 특히 Amazon Web Services용 사물인터넷(IoT) 지원 라이브러리를 갖춘 FreeRTOS입니다.2017년 버전 10.0.0 이후 Amazon은 오리지널 [8][9][10]커널 업데이트를 포함하여 FreeRTOS 코드를 관리하게 되었습니다.

세이프토스

SAFERTOS는 FreeRTOS의 보완 버전으로 개발되었으며 공통 기능을 가지고 있지만 안전에 중요한 구현을 위해 설계되었습니다.FreeRTOS는 위험운영성 연구(HAZOP)의 대상이었으며 취약점이 식별되고 해결되었다.그 결과 IEC 61508 SIL 3 개발 라이프 사이클이 모두 완료되어 소프트웨어 전용 컴포넌트의 최고 레벨입니다.

SAFERTOS는 FreeRTOS 프로젝트의 주요 개발자인 Real Time Engineers Ltd와 협력하여 [11]Wittenstein[3] High Integrity Systems에 의해 개발되었습니다.SAFERTOS와 FreeRTOS는 모두 같은 스케줄링 알고리즘을 공유하며 Application Programming Interface(API; 응용 프로그램프로그래밍 인터페이스)가 유사하며 [12]다른 목적으로 [13]개발되었습니다.SAFERTOS는 IEC61508에 [14]대한 인증 요건을 충족하기 위해 C 언어로만 개발되었습니다.

SAFERTOS는 표준 [15]준거를 위해 마이크로 컨트롤러의 온칩 읽기 전용 메모리(ROM)에만 배치할 수 있습니다.하드웨어 메모리에 실장되어 있는 경우 SAFERTOS 코드를 사용할 수 있는 것은, 원래의 인증된 설정뿐입니다.즉,[16] 시스템 인증에서는 설계의 커널 부분을 재테스트할 필요가 없습니다.SAFERTOS는 Texas Instruments의 일부 Stellaris Microcler의[17] ROM에 포함되어 있습니다.SAFERTOS 소스 코드는 별도로 구입할 필요가 없습니다.이 사용 시나리오에서는 C 헤더파일을 사용하여 SAFERTOS API 함수를 읽기 전용 메모리 내의 해당 위치에 매핑합니다.

열려 있다

OPENRTOS는 WITTENSTAIN High Integrity Systems에서 판매하는 상용 라이선스 버전입니다.이 제품을 통해 기업은 a:FreeRTOS MIT [18][19]라이센스 없이도 Amazon FreeRTOS 커널 및 라이브러리를 사용할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "FreeFTOS Github Releases". 2021-11-12.
  2. ^ "FreeRTOS open source licensing". 2017-12-22.
  3. ^ a b "2011 Embedded Market Study". EE Times. Archived from the original on 2012-04-02.
  4. ^ Kolesnik, Sergey (2013-12-08). "Comparing microcontroller real-time operating systems". A kernel is not an RTOS, but this can be a confusing issue because of the inappropriate naming chosen for some popular kernels, ‘freeRTOS’ for example.
  5. ^ "Why RTOS and What Is RTOS?". Retrieved 29 August 2014. What is FreeRTOS? … The size constraints, and dedicated end application nature, rarely warrant the use of a full RTOS implementation - or indeed make the use of a full RTOS implementation possible. FreeRTOS therefore provides the core real-time scheduling functions, inter-task communication, timing, and synchronisation primitives only. This means it is more accurately described as a real time kernel, or real time executive. …
  6. ^ "RTOS - Free professionally developed and robust real time operating system for small embedded systems development".
  7. ^ "Using FreeRTOS on RISC-V Microcontrollers". FreeRTOS. Retrieved 11 September 2019.
  8. ^ "Amazon FreeRTOS". Amazon. Retrieved 28 November 2018.
  9. ^ "FAQ: Amazon FreeRTOS". FreeRTOS. Retrieved 28 November 2018.
  10. ^ "Amazon FreeRTOS is a new OS for IoT". TechCrunch. Retrieved 4 December 2018.
  11. ^ "FreeRTOS". Retrieved 8 Aug 2012.
  12. ^ "SmartBotPaper" (PDF). Archived from the original (PDF) on 2012-07-04. Retrieved 8 Aug 2012.
  13. ^ FreeRTOS와 SAFERTOS의 관계
  14. ^ "EETimesSafetyCritical". Retrieved 8 Aug 2012.
  15. ^ "Embedded Systems Design Europe". Retrieved 10 Aug 2012.
  16. ^ "Texas Instruments" (PDF). Archived from the original (PDF) on 4 July 2013. Retrieved 10 Sep 2012.
  17. ^ TI Stellaris 제품 범위
  18. ^ "OPENRTOS". High Integrity Systems. Retrieved 28 November 2018.
  19. ^ "FreeRTOS open source licensing". FreeRTOS. Retrieved 28 November 2018.

외부 링크