참고 : 이 질문은 특히 두 개의 RTOS를 언급하지만 더 일반적이며 임베디드 RTOS에 대한 C 코드를 작성하고 소프트웨어를 MCU에서 직접 실행 한 사람이 대답 할 수 있습니다.
임베디드 RTOS에 대해 더 많이 배우고 애플리케이션을 작성하는 데 관심이 있습니다. 저는 현재 Embox 와 RIOT를 보고 있습니다. 오픈 소스이고 현대적이며 활동적이며 훌륭한 문서를 가지고있는 것 같습니다. 저의 목표는 두 단계로 구성됩니다. 1 단계는 이러한 OS를 MCU (아마도 AVR 또는 ARM)로 컴파일하고 플래시하는 방법을 알아내는 것입니다. 2 단계는 시간이지나면서 "취미 앱"으로 발전하는 간단한 C 프로그램 (기본적으로 헤드리스 데몬)을 작성하는 것입니다. 그런 다음이 프로그램을 동일한 MCU에 플래시 / 배포하여 Embox / RIOT와 그 위에있는 앱으로 구성된 앱스 택을 성공적으로 배포했습니다.
결국 막 다른 길로 이어지는 길을 가기 전에이 기사 를 우연히 발견 하여 C / 어셈블러로 작성되고 MCU에 플래시 된 실시간 앱이 실제로 그 아래에 RTOS가 필요 하지 않은 이유를 설명 합니다. .
그래서 나는 정말로 혼란스러워하고 컴퓨팅 이론에 대한 나의 기본적인 이해에 의문을 제기하고 있습니다. 우선 Embox / RIOT를 사용할지 여부를 결정하려고합니다.
- 코스를 유지하고 OS + 앱의 MCU에서 "앱 스택"으로 이동하십시오. 또는
- 기사의 경고에 유의하고 내 앱 "베어 메탈"을 실행하는 MCU를 사용하십시오.
분명히 전자는 더 많은 일을하므로 그 길을가는 데는 합당한 이유가 있습니다. 그래서 나는 묻습니다. 이 (및 유사한) 내장 RTOS가 MCU / C 앱 개발자에게 제공 하는 실제 이점 은 무엇 입니까? RTOS를 사용하면 C 앱이 어떤 특별한 기능을 활용할 수 있습니까 (아마도 바퀴를 다시 만들지 않습니까?)? RTOS를 버리고 베어 메탈로 잃어버린 것은 무엇입니까?
RTOSes에 대한 wikipedia 항목으로 이동하면 얻을 수있는 미디어 과대 광고가 아니라 구체적인 예를 요청합니다. ;-)