OS가없는 라즈베리 파이?


9

나는 최근에 Arduino와 많은 일을 해왔습니다. 운영 체제 나 드라이버없이 C ++ 코드를 직접 실행할 수 있기 때문에 매우 간단합니다.

나는 약간의 연구와 AFAIK를 수행했으며, 일반적으로 Raspberry PI에 Linux를 설치하고 그 위에 Python 스크립트 또는 C ++ 바이너리를 만듭니다.

질문 : 운영 체제없이 코드를 실행할 수 있지만 HDMI 및 SD 카드를 계속 사용할 수 있습니까?


2
더 작고 능력이 떨어지지 만 완전히 문서화 된 ARM 프로세서에서 베어 메탈 프로젝트를 수행하는 것이 더 쉽다는 것을 알 수 있습니다. 값 비싼 개발 보드에서 잘못 구현 된 독점 디버그 어댑터에주의하십시오. 때로는 리버스 엔지니어링 된 오픈 드라이버를 얻거나 실제 jtag를 구입하거나 직렬 부트 로더를 사용할 수도 있습니다. 최소한 파이를 사용하면 훌륭한 툴체인 지원을 기대할 수 있어야합니다.
Chris Stratton

답변:


16

OS없이 RaPi에서 코드를 실행하십시오 : 문제 없습니다. David Welch는 거친 작업을 수행했습니다 . 기본적으로 표준 시작 파일을 가져 와서 kernel.img를 실행하려는 파일로 바꿀 수 있습니다. 'SD 카드 댄스'를 피하기 위해 직렬 라인을 통해 실행할 이미지를받는 부트 로더를 실행할 수 있습니다. 자동 재부팅을 추가 했으므로 새 이미지 'hands-off'를 실행할 수 있습니다. 이 길을 가고 싶다면 더 많은 정보가 있습니다.

자체 베어 메탈 애플리케이션을 실행 하고 화면과 SD 카드를 사용하십시오 . 문제입니다. 모든 정보는 Linux 소스에서 사용할 수 있으며이 작업을 수행하는 사람이 있으므로 ( DexO 확인 ?) 반 년 정도가 지나면 이 정보는 일반적인 지식이됩니다. 그러나 지금은 이것이 너무 많은 일이라고 말할 것입니다.


CPU가 SD 카드 및 파일 시스템에 적합한 드라이버없이 SD 카드에서 커널을로드하는 방법에 대해 궁금합니다.
바이트 코드 77

1
필요한 기본 파일 (및 RaPi 사이트에서 단독으로 또는 Linux 배포의 일부로 다운로드 할 수 있음)에는 GPU의 시작 파일이 포함됩니다. 아마도 GPU에는 내장 부트 ROM이있어 SD를 읽고, 코드를로드하고, kernel.img를로드하고, ARM CPU를 활성화 할 수 있습니다.
Wouter van Ooijen

@DevilsChild-많은 CPU에는 기본 부트 로더가 내장되어 있으며, 작업중인 TI Davinci 부분에는 직렬 또는 SD 카드에서 작동 할 수있는 "ROM 부트 로더"가 있습니다. SD 카드는 기본 SPI 인터페이스를 사용합니다.
John U

5

항상 가능하지만 HDMI 및 SD 인터페이스 용 드라이버 및 파일 시스템 용 파일 시스템을 작성해야합니다.


1
실제로 GPU가 먼저 시작된 다음 CPU를 시작하기 위해 Broadcom의 이진 블로 브를로드해야하므로 매우 복잡합니다. 또한 올바르게 기억하면 GPU 드라이버와 펌웨어도 폐쇄 소스입니다.
AndrejaKo

포함 할 수있는 드라이버가 있습니까? 어떤 생각?
bytecode77

@Devils Child 나는 그것이 얼마나 쉬운 지 또는 모든 것이 문서화되어 있는지 잘 모르겠습니다. 기존 부트 로더를 사용하여 자체 OS 이미지를로드하고 CPU를 시작할 수 있다고 생각하지만 Stevenvh가 답변에 쓴 문제는 다음과 같습니다. 드라이버를 작성해야하며 대부분의 설명서는 ' 유효한 t.
AndrejaKo

@DevilsChild-존재하는 드라이버는 특정 OS 용으로 작성되었을 가능성이 높으며, 자신의 소프트웨어에 통합하려면 일부 기능이 필요합니다. 결국 OS의 (제한된) 사본을 작성하게됩니다. 또한 AndrejaKo는 매우 어려울 것이며 폐쇄 형 소스 펌웨어로 인해 일이 더 쉬워지지는 않는다고 지적합니다. 왜 OS를 원하지 않습니까?
stevenvh

1
@DevilsChild 단일 보드 컴퓨터와 VM의 중요한 차이점은 VM을 호스팅하는 컴퓨터의 물리적 위치가 아닌 다른 곳에 보드를 배치 할 수 있다는 것입니다. 또한 실제 I / O가 더 나은 경향이 있습니다. 그러나 VM 및보다 전문화 된 에뮬레이터 또는 시뮬레이터는 종종 하드웨어가 존재하기 전에 소프트웨어 팀이 작업을 시작하도록하거나 기능적으로 작동하도록 수동으로 재 설계된 유일한 프로토 타입 보드와 싸우거나 피하는 등 중요한 역할을합니다. 물리적 장치의 수집을 묶지 않고 회귀 테스트 ...
Chris Stratton

3

그들 모두가 말했지만 가장 쉬운 길은 원하는 것을하고 가능한 한 미니멀 한 Linux 배포판을 실행하고 원하지 않는 것을 제거하는 것입니다.

조만간 리눅스가되는 것을 멈추고 SD & HDMI를 지원하는 부트 로더가 될 것입니다. 그것은
리눅스 배포판에서 추출되었지만 (더 이상 Linux는 아닙니다)
-당신이 직접하지 않은 것을 제외하고는 모든면에서 요구하는 것과 본질적으로 구별 할 수 없습니다 .

직접 수행하는 것이 완전히 중요하지 않은 한 이것은 매우 논리적 인 접근법처럼 보입니다.



0

"Raspberry Pi as Arduino"를 프로그래밍하려면 배선을 확인하십시오. http://www.jating.in/efyarticle/EFYArticle.pdf 에서 내 기사를 확인 하십시오 .

1) 단일 케이블을 사용하여 USB- 직렬 변환을 수행하고 보드에 전원을 공급함으로써 Arduino처럼 보이고 작동하도록했습니다. 따라서 arduino와 마찬가지로 하나의 USB 케이블로 충분합니다.

2) 작은 유틸리티를 만들었을 때 직렬 라인 (실제로 모든 텍스트 파일 :-)을 통해 Pi 코드를로드하고 컴파일하고 실행하는 작은 유틸리티를 만들었습니다.,

.bashrc 파일을 수정하여 부팅 할 때마다 실행할 수 있으므로 부팅 할 때마다 새 파일을 기다립니다. 유틸리티 코드의 링크를 제공하지 않았지만 http://www.jating.in/efyarticle/ 에서 찾을 수 있습니다 .

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