Raspberry Pi 3는 RTOS를 지원합니까?


12

나는 RTOS 세계에 처음이다. Raspberry Pi 3에서 일부 RTOS를 사용할 계획입니다 (FreeRTOS 일 수 있음). 누구나 RTOS가 초보자에게 좋을 것이라고 제안 할 수 있습니까?

아직 BCM2837에 데이터 시트를 공개하지 않았기 때문에 RTOS를 Raspberry Pi 3에로드 할 수 있습니까?

도움이 되겠습니까?


1
RTOS를 RPi에로드 할 수없는 이유는 없습니다. 그러나 특정 OS의 권장 사항을 요청하는 것은 주제가 아닙니다.
Chenmunka

1
왜 RTOS가 필요한지 알고 싶습니까? 다른 OS가 제공하지 않는 것은 무엇입니까? 충족해야하는 실시간 요구 사항은 무엇입니까? RTOS가 초보자에게 좋은 이유를 분명히 설명해 주시겠습니까?
joan

1
@Chenmunka "RPi에 가장 적합한 RTOS는 무엇입니까?" ( "초보자"또는 기타)는 의견 기반으로 주제가 맞지 않습니다. 이것은 그런 종류이지만 제목은 "라즈베리 파이 3이 RTOS를 지원합니까?" -> 당신이 지적했듯이, 아마도 그렇습니다. 질문의 나머지 부분이 실제로 RTOS가 무엇인지를 의미한다면, 그것은 실제로 대답의 본질이 될 것입니다. 적어도 하나의 종류가 있습니다.
goldilocks

@joan 저는 자동차 애플리케이션에 대한 임베디드 솔루션을 위해 RTOS가 필요합니다. RTOS를 처음 사용했기 때문에 가정 에서 사용 가능한 하드웨어 (rpi-3)를 사용하여이 기능을 사용할 수 있는지 궁금했습니다 .
모래

Ultibo 코어를 살펴보십시오. 필요할 수도 있습니다. ultibo.org
avra

답변:



5

지금까지 나는 raspberry pi 3에 대해 성공하지 않고 다음 RTOS를 테스트했습니다.

RISC OS의 경우 RTOS가 아닙니다.

내가 지금까지 raspberry pi 3에서 실행할 수 있었던 유일한 것은 Fuchsia OS의 커널 (Magenta)이지만 초기 단계에 있으며 문서화되어 있지 않습니다.

다른 방법은 스스로 RTOS를 구축하는 것입니다. 예, ULTIBO CORE를 사용하고 해당 자습서를 따르는 것이 가능합니다.- http ://www.valvers.com/open-software/raspberry-pi/step01-bare-metal- 프로그래밍 된-CPT1 / - https://www.youtube.com/watch?v=TCfpb8M0WeQ


1
나는 성공적으로 (에서 코드를 사용하여 라즈베리 파이 3 Xenomai 2.6.5을 사용했습니다 github.com/margro/linux을 ).
steviethecat

4

모든 최신 Raspberry Pi 모델에서 Broadcom 프로세서가 사용 하는 ISA 제품군 인 ARM 은 RISC를 기반으로 하며 RISC OS 가 작성됩니다. RISC OS 필자는 동일한 영국 기반 기술 회사 (Acorn)가 원래 ARM과 RISC OS를 모두 설계 한 것처럼 처음 10 년 동안 ARM 장치를 지배했다고 생각합니다. 실제로 ARM은 처음에는 "Acorn RISC machine"을 옹호했으며, Raspberry Pi가 그 이유라고 불리는 이유 중 일부는 영국에서 과일이나 견과류를 사용한 컴퓨터 시스템 명명의 전통 때문입니다.

RISC OS는 실제 실시간 운영 체제는 아니지만 협력적인 멀티 태스킹을 사용 하므로 다른 프로세스에 자신을 포기하는 것을 자발적으로 거부 할 수있는 프로세스를 실행할 수 있습니다. 이것이 어떤 결과가 될지 모르지만 다음과 같이 가정합니다.

  • 문제없이 이것을 허용하도록 구성된 것을 얻을 수 있지만 OS와 관련하여 (예를 들어, 네트워킹과 관련하여) 제한 할 수 있습니다.

  • 컨텍스트 를 커널 모드로 전환하면 목표를 달성하기 위해 프로세스가 시스템을 호출했기 때문에 발생합니다.

"실시간"을 얻는 방법에 따라 실시간 기능과 매우 비슷합니다. 또한 RISC OS가 Pi 3에서 실행된다는 확인이 있습니다.


답장을 보내 주셔서 감사합니다. 상주 OS도 실시간이므로 rpi-3에 다른 OS를 사용하는 것이 실제로 필요하지 않은 것 같습니다. 내 응용 프로그램은 메모리 제한으로 인해 raspbian과 같은 Linux 기반 OS를 가질 수없는 내장 하드웨어를 대상으로합니다. 요점은 RTOS 세계에 익숙해지기 위해 rpi-3에 작은 메모리 공간을 가진 다른 RTOS를로드 할 수 있습니까? rpi-3에 제한이 있습니까?
모래

1
죄송합니다 : 설명을 위해 토론 포럼이 아닙니다 . 하시기 바랍니다 투어 받는 다시 지불 관심을 "실용적이고 상세한 질문, 질문에 대한 답변" 부분. 다른 사람들이 당신이 찾고 있던 것이 아닌 답변을 제공하여 시간을 낭비하여 나중에 토론 스타일을 좁힐 수 있도록 초대하는 것은 당신의 질문에서 세부 사항을 남기지 않은 것처럼 들립니다 . 그것은 SE가 작동하는 방식이 아닙니다. 다른 질문이 있으면 다른 질문을하십시오. 원래 의미를 변경하기 위해이 것을 편집하지 마십시오. 닫을 것입니다. 감사합니다.
goldilocks

1
그래도 몇 가지 조언을 해 드리겠습니다. 서브 MB 메모리가있는 시스템에서 실행될 OS를 찾고 있다면 먼저 옵션이 무엇인지 찾아야합니다 . 무작위로 "실제로"실시간 OS를 선택하는 것만으로도 실제로 사용하는 것에 대해 전혀 아무것도 가르치지 않을 수 있습니다. 따라서 시간을 낭비하지 마십시오. 필요한 것을 찾아서 파이 등에 사용할 수 있는지 물어보십시오.
goldilocks

0

RTOS의 정의는 응용 프로그램, 일반적으로 훨씬 단순한 것으로 가장하는 컴퓨터에 따라 다르므로 RISC OS는 중복 잡 한 응용 프로그램의 RTOS이며, 고 복잡한 RTOS 일 필요는 없습니다. 용어의 모순처럼 들립니다. Mahmoud Almostafa RABBAH의 예는 OS가 없으며 RTOS가 아닌 부트 로더에서 직접 단일 작업 프로그램을 실행하는 것을 말합니다.

이를 이해하는 합리적인 방법은 RTOS 정의를 세 가지 수준으로 나누는 것입니다.

  • 복잡성이 낮 으면 세탁기 나 데이터 로거와 같은 것일 수 있습니다. 아두 이노 나 단순한 MCU와 같은 단순한 하드웨어 나 심지어 순차적 인 논리를 사용하는 것이 좋습니다. 전력 소비가 적고 걱정할 것이 훨씬 적습니다. 이전보다 더 복잡하게 만들지 마십시오.

  • 높은 복잡성은 RTOS가 아닌 완전한 멀티 태스킹 시스템과 같은 것입니다. 원하는 경우 별도의 장치에서 GUI를 실행하는 것이 좋습니다. 복잡성이 높은 프로세스는 다른 프로세스를 호출하는 프로세스를 모니터링 할 수 있으며 일부 프로세스는 우선 순위를 정해야하지만 다시 병렬 처리를 사용하는 것이 더 좋거나 실시간 응답 기능이 실패합니다.

  • 중간 정도의 복잡성은 일반적인 OS가 제공 할 수있는 인터페이스 (예 : USB 및 작은 디스플레이 출력)가 필요한 곳이지만 데이터 스트림을 처리하고 어떤 것도 중단하지 않으려 고합니다. 이것은 자동차 애플리케이션 수준과 같습니다.

    이를 위해 호스트 시스템을 사용하여 OS없이 무언가를 컴파일하거나 BASIC으로 직접 부팅하고 대상 시스템에서 개발하는 RISC OS 버전을 사용할 수 있습니다.

    그것은 다른 일에 방해받지 않고 여러 이벤트를 폴링하기에 충분히 빠를 수있는 단일 작업을 실행합니다. 하드웨어 인터럽트는 비활성화되어 있지 않으면 (정말 쉬운 작업이 아닌 경우) 여전히 실행되며 디스플레이 / USB 등을 작동시키기 위해 필요한 인터럽트입니다. 다른 하드웨어 인터럽트는 사용하지 않을 수있는 타이머 및 IO를 실행합니다.

RTOS 응용 프로그램에서 RISC OS의 또 다른 장점은 필요한 모듈 만 사용할 수 있다는 것입니다. 기존 GUI 응용 프로그램에는 의미가 없으며 STD / AdvantageSix [1]에서는 "임베디드 시스템"이라는 용어를 사용하지만이 모듈을 사용할 수 있습니다. "RTOS"대신. 이로 인한 장점은 단순화 된 설계, 낮은 전력 요구량, 낮은 메모리 사용 및 빠른 부팅 시간입니다 (일부 I / O 장치 인터페이스는 미니 부팅 자체를 필요로하며 OS는 이에 참여해야합니다. ).

나는 위의 정보에 약간의 차이를 채우고 내 지식의 차이를 분명히하기를 바랍니다.

[1] http://www.advantagesix.co.uk/about_us.html (메모리의 다른 예는 더 이상 온라인으로 제공되지 않습니다.)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.