이 질문과 관련된 토론이 여기에 있습니다 : 링크
추출물 : 불린다 리눅스 저널 문서는 여기에 있습니다 : 링크
8052 및 M68HC12 포트는 NuttX의 특성에 특히 나쁜 선택이 될 수 있다고 생각합니다. NuttX에는 몇 가지 문제가 있기 때문에 NuttX는 63 릴리스의 5.16 버전입니다.
"게시자"탭에서 인터뷰를 작성했습니다 : 링크 ; 리뷰도 있습니다 : link .
광범위한 NuttX 설명서는 다음 링크에서 제공 됩니다.
hcs12 및 8051 부품의 문제는 다음과 같습니다.
8051 / 80c52 : 이 아키텍처는 실제로 RTOS 적대적입니다. 전용 메모리 위치 (주소 0)에 작은 하드웨어 스택 (8051에서 128 바이트, 80c52에서 256 바이트)이 있습니다. 작업을 전환하려면 작업의 전체 스택을 전용 주소에서 일부 저장 위치로 차단 한 다음 작업의 전체 스택을 저장 위치에서 전용 스택 위치로 복사해야합니다. 예!
그리고 스택이 너무 작습니다. 특히 인터럽트 처리 중에 스택을 오버런하는 것은 매우 쉽습니다.
NuttX 8051 포트는 완벽하고 기능적입니다 (최소한 마지막으로 사용했을 때). 그러나 유용하게 사용하려면 각 인터럽트에서 전체 스택을 복사하고 오버플로되지 않도록해야합니다. 기본적으로, 나는 그 시점에서 관심을 잃었지만 8051을 실제로 사용하려는 동기가 있다면 가능할 것입니다 (아마 조언이 없다면).
8051 포트의 장점은 NuttX를 매우 작은 메모리 위치로 가져 오는 데 큰 도움이되었다는 것입니다. 8051 포트는 RTOS, libc, 컴파일러 라이브러리, 실질적인 테스트 프로그램, .data / .bss 및 힙을 포함하여 32KB의 RAM에서 실행됩니다. 그리고 약간의 여유가 남았습니다!
hcs12 : 이것은 다른 일을하지 않을 때 여가 시간에 진행하는 프로젝트입니다. 아직 완료되지 않았으며 아직 준비가되지 않았습니다.
다른 RTOS와 비교할 때 다른 RTOS를 사용하지 않기 때문에 좋은 정답을 얻지 못했습니다. 그러나 여기 내 순진한 이해가 있습니다.
FreeRTOS 는 수많은 다운로드와 약 4Kb의 매우 작은 설치 공간을 가지고 있습니다. 매우 작은 MCU에 적합한 RTOS입니다. FreeRTOS 포트는 거의 모든 MCU와 함께 실리콘 공급 업체가 번들로 제공합니다. 이것이 기본 RTOS 선택입니다.
FreeRTOS를 가지고있는 수십 개의 경쟁 업체가 있습니다. ChiBIOS 가 즉시 떠 오릅니다 . 이들은 모두 다양한 유형의 작은 스케줄러입니다.
실제 비교를하려면 먼저 RTOS가 의미하는 바를 정의해야합니다. 스케줄러일까요? 또는 스케줄러, 파일 시스템, 장치 드라이버, 메모리 관리, 네트워킹 등과 같은 표준 OS 기능의 통합 세트입니까? 예를 들어 Linux와 같은 대부분의 운영 체제는 스케줄러뿐만 아니라 전체 개발 환경입니다. NuttX는 전체 운영 체제는 Linux와 동일한 의미입니다. 다른 몇 가지가 있습니다.
RTEMS :이 작업을했습니다. 그것은 영원히 주변에 있었고 매우 안정적이어야합니다. 그건 크다; > 100kb를 생각하십시오. 나는 그것이 MCU 시장보다 약간 높은 목표를 가지고 있다고 생각합니다.
uCOS : 한번도 사용하지는 않았지만 RTOS는 몇몇 인기있는 부트 로더 아래에 있지 않습니까? 내 인상은 RTEMS와 비슷하지만, 내가 무슨 말을하는지 실제로 모른다.
NuttX와 그것들을 어떻게 비교합니까? 글쎄, 훨씬 작습니다. 시작 발자국은 약 20Kb입니다. 모든 기능을 갖춘 구성은 약 10-20Kb 이상입니다. 이 RTOS와의 또 다른 차이점은 NuttX는 표준 지향적이라는 것입니다. NuttX는 작은 Linux 작업과 비슷하다고 생각할 수 있습니다. Linux에서 컴파일 및 실행되는 대부분의 코드는 NuttX에서도 실행됩니다 (네트워킹 코드 또는 데몬과 같은 일부 시스템 코드는 약간의 조정이 필요할 수 있습니다).
RTEMS가 마이크로 프로세서에 더 집중되어 있다고 생각합니다. NuttX는 마이크로 컨트롤러에 더 중점을 둡니다.