NuttX RTOS를 평가 한 사람이 있습니까?


15

오늘 Linux User 's Journal을 읽는 동안 NuttX RTOS 에 대한 약간의 혼란을 발견했습니다 . 나는 그들의 웹 사이트를 체크 아웃했고 기능 세트와 8052에 넣을 수있는 기능에 상당히 감동했습니다! POSIX를 지원한다는 사실이 흥미 롭습니다. 이는 고객사 중 하나 인 RTOS에서 일한 데 도움이 된 것입니다. 이것은 사내 RTOS보다 약간 더 풍부한 기능으로 보입니다.

NuttX에 대해 들어 본 적이 있습니까? 그렇다면 FreeRTOS 와 같은 다른 RTOS와 어떻게 비교 됩니까?


1
방금 RTOS를 사용하기 시작했고 여기에 물었을 때 나는 훌륭한 조언을 얻었지만 여기의 대부분의 사용자는 RTOS가 무엇인지 모른다는 느낌이 들었습니다. 나는 이것이 나쁜 방법으로 이것을 의미하지는 않습니다. 다른 포럼에서도 이것을 요구하는 가치가있을 것이라고 생각합니다.
Kortuk

어쨌든 시도해야합니다 :-) 당신은 누가 여기 숨어 있는지 몰라요 :-)
Jay Atkinson

그래, 나는 보풀 질문도 여기에 물었다. 물기를 희망하는 상처는 결코 없습니다.
Kortuk

현상금 시작! RTOS의 비교에 관심이 있습니다.
tyblu

7
이 질문에 대한 투표가 왜 필요한가요? RTOS는 항상 전자 및 로봇 공학에 사용됩니다.
Kellenjb

답변:


17

이 질문과 관련된 토론이 여기에 있습니다 : 링크

추출물 : 불린다 리눅스 저널 문서는 여기에 있습니다 : 링크

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는 마이크로 컨트롤러에 더 중점을 둡니다.


4

라이센싱은 오픈 소스 RTOS를 선택할 때 명심해야 할 또 다른 차이점입니다. 특히 상용 프로젝트에서 RTOS를 사용하려는 경우. 대부분의 오픈 소스 RTOS에는 수정 된 GPL 라이센스가 있습니다. 라이센스 수정은 일반적으로 GPL RTOS와 연결되는 독점 코드가 필요하지 않음을 명시합니다 (그러나 수정과 함께 RTOS 파일을 계속 릴리스해야합니다).

NuttX (및 아마도 다른 것)에는 비 제한적이고 수정 된 BSD 라이센스가 있습니다. BSD 라이센스를 사용하면 파일에 라이센스 및 저작권 정보를 유지하는 것 외에 다른 의무없이 코드를 소유 한 것처럼 사용할 수 있습니다.


Nutt,이 정보를 다른 답변으로 편집하길 원하십니까?
Kortuk

물론. 8051 및 80c52 및 hc12에 대한 Rant도 컨텍스트에서 벗어난 것으로 보입니다.
patacongo 2016 년

나는 당신이 당신이 더 많은 것을 편집 할 수 있다는 것을 깨달았습니다. 일반적으로 다른 섹션에서 편집하고 제목을 사용할 수 있습니다. 마음이 바뀌면 도와 드리겠습니다.
Kortuk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.