Otázka:
Raspberry PI bez OS na tom?
bytecode77
2012-07-07 21:49:58 UTC
view on stackexchange narkive permalink

Nedávno jsem s Arduinem hodně dělal. Je to velmi jednoduché, protože na něm můžete přímo spouštět kód C ++ bez nutnosti použití operačních systémů nebo ovladačů.

Provedl jsem nějaký průzkum a AFAIK, obvykle instalujete Linux na Raspberry PI a vytváříte skripty pythonu nebo C ++ binární soubory.

Otázka: Je možné na něm spustit kód bez jakéhokoli operačního systému, ale stále můžete používat karty HDMI a SD?

Možná zjistíte, že je jednodušší provádět bare-metal projekty na menším a méně schopném, ale dokonalejším dokumentovaném procesoru ARM. I když si dávejte pozor na špatně implementované, vlastní ladicí adaptéry na levných deskách pro vývojáře - někdy se k nim dostanou otevřené ovladače s reverzním inženýrstvím, nebo si můžete koupit skutečný jtag nebo použít sériový bootloader. Alespoň s pí byste měli být schopni očekávat dobrou podporu řetězců nástrojů.
Pět odpovědi:
Wouter van Ooijen
2012-07-07 23:29:07 UTC
view on stackexchange narkive permalink

Spustit kód na RaPi bez OS: Žádný problém. David Welch odvedl práci, zkontrolujte svůj gitub. V zásadě můžete převzít standardní spouštěcí soubory a nahradit soubor kernel.img souborem, který chcete spustit. Abyste se vyhnuli tanci na SD kartě, můžete spustit bootloader, který přijímá obraz, který se má spustit po sériové lince. Přidal jsem automatické restartování, takže můžete spustit nový obrázek „hands-off“. Pokud se chcete vydat touto cestou, mám několik dalších informací.

Spusťte vlastní aplikaci z holého kovu a použijte obrazovku a kartu SD : To je problém. Všechny informace jsou k dispozici hluboko ve zdrojích Linuxu a pracují na nich osoby (zkontrolujte DexOs?), Takže předpokládám, že za zhruba půl roku budou tyto informace všeobecně známé. Ale prozatím bych řekl, že je to pravděpodobně příliš mnoho práce.

Zajímalo by mě, jak CPU může načíst jádro z SD karty bez příslušných ovladačů pro SD kartu a souborový systém?
Mezi základní soubory, které potřebujete (a lze je stáhnout z webu RaPi, samostatně nebo jako součást distribuce Linuxu), patří spouštěcí soubor pro GPU. GPU má pravděpodobně nějaký vestavěný bootROM, který mu umožňuje číst SD, načíst jeho kód, načíst kernel.img a aktivovat ARM CPU.
@DevilsChild - mnoho procesorů má zabudované základní bootloadery, část TI Davinci, se kterou pracuji, má „ROM bootloader“, který může pracovat přes sériový port nebo z SD karty. SD karty používají základní rozhraní SPI.
stevenvh
2012-07-07 22:03:38 UTC
view on stackexchange narkive permalink

Je to vždy možné, ale budete si muset vytvořit vlastní ovladače pro rozhraní HDMI a SD a případně pro ně také souborový systém.

Ve skutečnosti by to bylo extrémně komplikované, protože je to nejprve GPU, které začíná a poté potřebuje načíst některé binární objekty Broadcom, aby bylo možné spustit CPU. Pokud si dobře pamatuji, ovladače GPU a firmware jsou také uzavřeným zdrojem.
Jsou k dispozici ovladače, které by mohly být zahrnuty, takže to bude fungovat? Nějaký nápad?
@Devils Child Nejsem si jistý, jak snadné by to bylo nebo jak je vše zdokumentováno. Myslím, že můžete použít existující bootloader k načtení vlastního obrazu operačního systému a spuštění CPU, ale pak problém, který Stevenvh napsal v odpovědi, ukazuje: Budete muset psát ovladače a většina dokumentace pro ně není ' t k dispozici.
@DevilsChild - ovladače, které existují, budou s největší pravděpodobností napsány pro konkrétní operační systém, a pokud je chcete integrovat do svého vlastního softwaru, budete potřebovat některé jeho funkce. Na konci budete psát (omezenou) kopii OS. AndrejaKo také naznačuje, že to bude velmi obtížné a firmware s uzavřeným zdrojem věci neusnadňuje. Proč nechceš OS?
Pokud si na něj prostě nainstaluji Debian, proč bych vůbec potřeboval Raspberry? Nemohl jsem jen použít VM a nainstalovat jej tam? Chtěl jsem s tím hlavně udělat svůj vlastní důkaz konceptu, abych mohl říci „to je to, co jsem udělal!“.
@DevilsChild - Promiň, nesleduji tě. Co je s VM? Myslíš virtuální stroj, že? Nainstalovali byste VM na Raspberry? Napodobit co?
Vlastně jsem porovnával virtuální stroj s Linuxem na něm s Raspberry s Linuxem na něm. Jediný rozdíl je v tom, že Raspberry je nějakým způsobem „cool“. Opravdu bych chtěl vytvořit svůj vlastní druh uživatelského rozhraní, ale s existujícím operačním systémem jako základem není žádný rozdíl jen pomocí virtuálního stroje.
@DevilsChild důležitý rozdíl mezi jedním palubním počítačem a virtuálním počítačem spočívá v tom, že desku můžete umístit někde jinde než do fyzického umístění stroje hostujícího virtuální počítač; také má tendenci mít lepší I / O v reálném světě. Ale virtuální počítače a specializovanější emulátory nebo simulátory často hrají důležitou roli, například nechat softwarový tým začít pracovat dříve, než hardware existuje, nebo se vyhnout tomu, aby bojovali o jedinou prototypovou desku, která byla ručně přepracována, aby byla funkční, nebo běží regresní testy bez vázání sbírky fyzických zařízení ...
Russell McMahon
2012-07-08 10:06:11 UTC
view on stackexchange narkive permalink

Co všichni řekli, ale NEJJEDNODUŠŠÍ cestou je spustit linuxovou distribuci, která dělá to, co chcete, a je co nej minimalističtější, a poté odstranit vše, co nechcete.

Docela brzy přestane být Linuxem a stane se bootloaderem s podporou SD & HDMI. To je v zásadě k nerozeznání od toho, o co žádáte, ve všech ohledech kromě
- bylo extrahováno z distribuce Linuxu (ale již není Linux) a
- sami jste to neudělali.

Pokud to neděláte úplně sami, nemá to zásadní význam, zdá se to jako velmi logický přístup.

Matt Lacey
2013-03-07 06:03:02 UTC
view on stackexchange narkive permalink

Pokud se chcete naučit nějakou sestavu ARM, abyste mohli spouštět kód přímo na Pi, pak je tento výukový program z Cambridge skvělým zdrojem:

http://www.cl.cam.ac .uk / freshers / raspberrypi / tutoriály / os /

Jatin Gandhi
2014-04-09 11:52:29 UTC
view on stackexchange narkive permalink

Pokud chcete programovat „Raspberry Pi jako Arduino“, podívejte se na wiringPi. Podívejte se na můj článek na http://www.jating.in/efyarticle/EFYArticle.pdf.

1) Vypadal a fungoval jako Arduino, pomocí jediného kabelu k provedení převodu USB na sériový port a také napájení desky. takže stačí jen jeden kabel USB, stejně jako arduino.

2) Vytvořil jsem malý nástroj, který při spuštění načte kabeláž Pi kód přes sériovou linku (vlastně jakýkoli textový soubor :-)), zkompilovat a spustit .,

Pokud chcete, můžete jej spustit při každém spuštění úpravou souboru .bashrc, takže při každém spuštění bude čekat na nový soubor. Neposkytl jsem žádný odkaz na obslužný kód , ale najdete jej na http://www.jating.in/efyarticle/



Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...