2012-09-13 3 views
3

다른 사람들이 NXP LPC1788 마이크로 컨트롤러에서 잘 작동하는 무료 또는 저가형 RTOS를 찾으려고합니다. 원래 FreeRTOS를 사용할 계획 이었지만 특정 프로세서를 지원하지 않는 것 같습니다. 가장 가까운 지원 코어는 LPC1768입니다. ThreadX는 LPC1788과 함께 작동하지만 라이센스는 수천 파운드가 소요됩니다. 제안?LPC1788 마이크로 컨트롤러와 함께 사용할 수있는 좋은 RTOS가 무엇입니까?

편집 1 : IAR Embedded Workbench에서 작업하고 있습니다.

편집 2 : RTOS를 사용하는 것은 물론 임베디드 프로그래밍에 대해 상당히 새롭다는 것을 지적해야합니다. FreeRTOS와 ThreadX는 모두 꽤 비슷해 보입니다. 둘 다 상당히 직관적 인 API를 가지고 있습니다. 다른 RTOS의 API가 이러한 종류의 API와 더 많이 일치할수록 좋을 것 같습니다.

EDIT 3 : 저는 embOS라는 하나의 RTOS를 조사했습니다. 전문가처럼 보이고 API가 멋지게 보이고 적절한 수의 프로세서/IDE 조합 (광산 포함)을 지원하며 이미 잘 작동하는 예제 프로젝트가 있습니다. 무료는 아니며 라이센스 비용은 약 2500 유로이지만 threadX 라이센스보다 3 배 정도 저렴합니다. 제안 해 주셔서 감사 드리며, 받아 들일 수있는 대답을 선택할 수 없다고 생각합니다.

+0

RTOS 여야합니까? 애플리케이션에 실시간 응답이 필요합니까? 그렇지 않은 경우 더 많은 옵션이 있습니다. 예를 들어 Linux. 저는 15 년 동안 임베디드 작업을 해오 고 있으며, 문제 영역에 따라 실시간 요구 사항은 거의 없을 수 있습니다. – jszakmeister

+0

@jszakmeister : Linux는 LPC1788 (512KB 플래시/96KB RAM, MMU 없음)에 대한 적절한 제안이 아닙니다. 디바이스, 파일 시스템 및 네트워킹에 대한 무료, 확장 가능 및 광범위한 지원이 [eCos] (http://ecos.sourceware.org/)일지도 모른다면 더 합리적인 제안을하십시오. – Clifford

+0

@Clifford Yikes! 나는 기억이 너무 제한적이라는 것을 알지 못했거나 리눅스를 결코 제안하지 않았을 것입니다. 그것을 지적 주셔서 감사합니다. eCos는 좋지만 요즘에는 오히려 지원되지 않는 것 같습니다. :-( – jszakmeister

답변

0

리눅스 커널로 컴파일 된 get RTAI를 사용해 볼 수 있습니다. 어떤 일을 할지도 모르지만 할 수 있어야합니다 (무료)

1

Keil mVision IDE에는 NXP 칩을위한 RTOS가 있으며 24xx 100 %에서 작동합니다. 하지만이 RTOS는 오픈 소스가 아니며 IDE 소유자 만 사용할 수 있습니다.

+0

꽤 유용하고 IDE에는 많은 예제가 있습니다. – AGo

6

내가 원래 FreeRTOS를 사용하여 계획되었다, 그러나 지원하지 않는 것 그 사실 특정 프로세서

, GCC와 FreeRTOS 지원 모든 코어 텍스 M3 및 Cortex-M4 프로세서, IAR과 Keil. 특정 사전 설정 데모 프로젝트가 없기 때문에 이것이 지원되지 않는다는 것을 의미하지는 않습니다.

FreeRTOS는 Cortex-M 코어 외부의 모든 것에 의존하지 않습니다. 타이머 생성 및 인터럽트 컨트롤러는 코어 자체의 일부이기 때문입니다.

FreeRTOS 배포판에서 기존의 공식 LPCxx IAR 데모 프로젝트를 가져 와서 칩의 올바른 링커 스크립트를 설정하여 간단히 다시 지정할 수 있습니다. 특정 하드웨어 (LED 출력 등에 사용되는 포트 등)에 따라 다를 수있는 IO를 사용하는 모든 데모 작업은 IO 포트 할당에 맞게 수정되거나 삭제 될 수 있습니다.

예를 들어, Atollic은 55 개의 하드웨어 플랫폼에서 실행되는 55 FreeRTOS 개의 프로젝트가 있으며 실제로는 모두 동일한 C 소스 파일을 사용합니다. 시작 파일과 링커 스크립트 만 다릅니다.

4

저는 Cortex-M3에서 FreeRTOS, embOS 및 Keil RTX를 구체적으로 평가했습니다. RTX가 가장 빠르지 만 3 개의 FreeRTOS 중 가장 느린 컨텍스트 전환 시간을 보였지만 범위는 5 ~ 15us 였으므로 대부분의 어려운 실시간 응용 프로그램에 대해서는 그다지 중요하지 않았습니다.

RTX는 물론 Keil에만 해당하며 IAR을 사용하고 있습니다. API는 embOS보다 덜 정교하며 CM3에 몇 가지 버그가 있었으며 NVIC 인터럽트 우선 순위 체계를 완벽하게 지원하지 않았습니다. 나는이 문제들이 해결되었다고 믿는다.FreeRTOS는 아마도 embOS 및 VxWorks와 유사한 "전통적인"RTOS 시스템을 광범위하게 사용하면서 API 및 아키텍처면에서 가장 유리할 것입니다.

emboss는 RTOS 인식 디버그 레벨이 유용한 IAR 및 디버거와 잘 작동합니다. 라이선스는 개발자 별/프로세서 별/툴체인별로 다르게 적용되지만 로열티가 없으며 동일한 아키텍처와 툴체인을 사용하는 많은 프로젝트에서 사용할 수 있습니다. Segger의 지원은 설명서와 마찬가지로 우수하며 충분한 양과 마진이있는 상용 제품의 경우 가치가있을 것이라고 제안합니다.

eCos를 고려해보십시오. USB, 네트워크, 파일 시스템 등의 스케줄링 및 IPC를 지원하는보다 포괄적 인 솔루션입니다. 아마도 비교적 쉽게 포팅 될 수있는 port for LPC1766이 있습니다. 그러나 JTAG 디버거와 같은 기존 도구를 사용하는 것과 관련이있는 개발을 위해서는 GNU 도구 체인을 사용해야합니다.

0

리눅스는 uClinux 형태로, LPC1788에서 잘 실행됩니다. 예를 들어,이 비디오에서 살펴 보자 : 위의 설명에서 언급 한 바와 같이

http://www.youtube.com/watch?v=VTemb8P1doI

에서, LPC1788의 내부 SRAM 리눅스를 실행하는 것만으로는 충분하지 않습니다, 그러나 LPC1788은 가능한 외부 추가 만들기는 SDRAM 인터페이스를 제공합니다 램.

0

Unison RTOS는 freert와 같은 것들에서 누락 된 완전한 I/O 호출 세트를 포함하여 Linux와 동일한 POSIX 호출을 제공합니다. 비즈니스 모델은 상용 제품에 대한 DIY 및 로열티에 대해 무료입니다. 시리얼 I/O 및 파일 시스템을 시작으로 $ 999로 경쟁사 가격의 작은 부분을 차지하는 경향이 있습니다. 자세한 내용은 www.rowebots.com을 참조하십시오.

0

당신은 GitHub의

http://www.github.com/geppo12/YasminOS

(민감한 경로 케이스)

에서 찾을 수 있습니다 원한다면 나는 RTOS에서 일하고 있어요 내가 같이 작업 우선 순위를 소개하는거야 간단한 스케줄러가 가능한 빨리. 다른 OS가 너무 복잡하거나 이 사실 나는 단 하나 개의 비전을 YasminOS을 개발하고 있어요 너무 비싸 때문에 내가 YasminOS를 만들 : 단순 극단적 인 강력한 OS를 필요로하지 많은 응용 프로그램이 있습니다

하지만, 그냥 간단한 스케줄러. 실제로 그것은 Spansion FM3 아키텍처 또는 NXP lpc800에서 테스트되었습니다 (가까운 cortex m0에서도 작동합니다). 가까운 xx 4088에서 테스트 해 보겠습니다 ....

관련 문제