프리RTOS
FreeRTOS![]() | |
개발자 | Real Time Engineers Ltd. |
---|---|
기입처 | C |
OS 패밀리 | 실시간 운영 체제 |
동작 상태 | 현재의 |
소스 모델 | 오픈 소스 |
초기 릴리즈 | 전( |
최신 릴리즈 | 10.4.6[1] / 2021년 11월 , 전( |
저장소 | |
마케팅 대상 | 임베디드 시스템 |
이용가능기간: | 영어 |
플랫폼 | ARM(ARM7, ARM9, Cortex-M3, -M4, -M7, -A, -R4, AVR32, HCS12, MicroBlaze, Cortus(APS1, APS3, APS3R, FP5F) |
커널 타입 | 마이크로커널 RTOS |
면허증. | MIT[2] |
공식 웹사이트 | www |
FreeRTOS는 35개의 마이크로컨트롤러 플랫폼에 이식된 임베디드 디바이스용 실시간 운영 체제[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에는 디바이스 드라이버, 고급 메모리 관리, 사용자 계정 등 Linux 및 Microsoft Windows 등의 운영체제에서 일반적으로 볼 수 있는 고급 기능이 없습니다.콤팩트함과 실행속도에 중점을 두고 있습니다.FreeRTOS는 운영 체제가 아닌 스레드 라이브러리로 생각할 수 있지만 명령줄 인터페이스와 POSIX와 같은 입출력(I/O) 추상화를 사용할 수 있습니다.
FreeRTOS는 호스트 프로그램이 정기적으로 짧은 간격으로 스레드틱 메서드를 호출하도록 함으로써 여러 스레드를 구현합니다.스레드 틱 방식은 우선순위 및 라운드 로빈 스케줄링 방식에 따라 작업을 전환합니다.통상의 인터벌은 1 ~10 밀리초입니다(하드웨어 타이머로부터의 인터럽트를 통해 1µ1000 ~1µ100초). 단, 이 간격은 지정된 어플리케이션에 맞게 변경되는 경우가 많습니다.
소프트웨어 배포판에는 포트 및 컴파일러별로 준비된 구성과 데모가 포함되어 있어 신속한 애플리케이션 설계가 가능합니다.프로젝트 웹 사이트에서는 문서와 RTOS 튜토리얼 및 RTOS 설계에 대한 자세한 내용을 제공합니다.
주요 기능
- 서적 및 참조 매뉴얼.
- 메모리 크기가 작고 오버헤드가 낮으며 실행 속도가 빠릅니다.
- 저전력 애플리케이션용 체크리스 옵션.
- 취미 생활자나 시판품을 취급하는 전문 개발자를 대상으로 하고 있습니다.
- 스케줄러는 프리엠프티브 멀티태스킹 또는 공동 멀티태스킹용으로 설정할 수 있습니다.
- Coroutine 지원(FreeRTOS의 Coroutine은 콜스택 사용이 제한된 단순하고 가벼운 태스크)
- 범용 트레이스 매크로를 통한 트레이스 지원따라서 FreeRTOS 파트너 Perceptpio의 상용 도구인 Tracealyzer와 같은 툴은 디버깅 및 검증을 위해 FreeRTOS 기반 시스템의 런타임 동작을 기록하고 시각화할 수 있습니다.여기에는 세마포 및 큐 작업에 대한 작업 스케줄링 및 커널 호출이 포함됩니다.
지원되는 아키텍처
이 섹션은 확인을 위해 추가 인용문이 필요합니다.(2019년 12월 (이 및 ) |
- 알테라 니오스 2세
- ARM 아키텍처
- 아트멜
- 체바
- Ceva-BX
- Sens Pro
- Ceva-XC16
- Ceva-XM6
- Ceva-Xx
- Ceva-XM4
- 코르투스
- APS1
- APS3
- APS3R
- APS5
- FPS6
- FPS8
- 편백나무
- 에너지 마이크로
- eSi-RISC
- eSi-16x0
- eSi-32x0
- DSP 그룹
- DBMD7
- 에스프레시프
- 후지쯔
- FM3
- MB91460
- MB96340
- 프리스케일
- IBM
- PPC404, PPC405
- 인피니온
- 인텔(R)
- 마이크로칩 테크놀로지
- PIC18, PIC24, dsPIC
- PIC32
- 마이크로세미
- 멀티클릿
- P1
- NXP
- 르네사스
- RISC-V[7]
- RV32I
- RV64I
- 펄프 RI5CY
- 실리콘 랩스
- 도마뱀붙이(ARM Cortex)
- ST마이크로일렉트로닉스
- STM32
- STR7
- 텍사스 인스트루먼트
- 시린스
파생상품
아마존 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 커널 및 라이브러리를 사용할 수 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "FreeFTOS Github Releases". 2021-11-12.
- ^ "FreeRTOS open source licensing". 2017-12-22.
- ^ a b "2011 Embedded Market Study". EE Times. Archived from the original on 2012-04-02.
- ^ 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.
- ^ "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. …
- ^ "RTOS - Free professionally developed and robust real time operating system for small embedded systems development".
- ^ "Using FreeRTOS on RISC-V Microcontrollers". FreeRTOS. Retrieved 11 September 2019.
- ^ "Amazon FreeRTOS". Amazon. Retrieved 28 November 2018.
- ^ "FAQ: Amazon FreeRTOS". FreeRTOS. Retrieved 28 November 2018.
- ^ "Amazon FreeRTOS is a new OS for IoT". TechCrunch. Retrieved 4 December 2018.
- ^ "FreeRTOS". Retrieved 8 Aug 2012.
- ^ "SmartBotPaper" (PDF). Archived from the original (PDF) on 2012-07-04. Retrieved 8 Aug 2012.
- ^ FreeRTOS와 SAFERTOS의 관계
- ^ "EETimesSafetyCritical". Retrieved 8 Aug 2012.
- ^ "Embedded Systems Design Europe". Retrieved 10 Aug 2012.
- ^ "Texas Instruments" (PDF). Archived from the original (PDF) on 4 July 2013. Retrieved 10 Sep 2012.
- ^ TI Stellaris 제품 범위
- ^ "OPENRTOS". High Integrity Systems. Retrieved 28 November 2018.
- ^ "FreeRTOS open source licensing". FreeRTOS. Retrieved 28 November 2018.
외부 링크
