Obsah:
- Krok 1: Stáhněte si nástroje Sunxi
- Krok 2: Rozbalte zdrojový kód
- Krok 3: Stáhněte si kód:: bloky
- Krok 4: Otestujte si IDE
- Krok 5: Dokončete test
- Krok 6: Vytvořte nový projekt
- Krok 7: Přidejte soubory do projektu
- Krok 8: Nechte GCC dodržovat jazykový standard ISO C z roku 1999
- Krok 9: Najděte chybějící závislost
- Krok 10: Rozbalte Mman
- Krok 11: A přidejte je do projektu
- Krok 12: Správná cesta
- Krok 13: Exorcismus
- Krok 14: POZNÁMKY
Video: Orange PI HowTo: Compile Sunxi Tool for Windows Under Windows: 14 Steps (with Pictures)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:24
PŘEDPOKLADY:
Budete potřebovat
- Počítač (stolní) se systémem Windows.
- Připojení k internetu.
- Oranžová deska PI.
Poslední je volitelný, ale jsem si jistý, že ho již máte. Jinak si tento návod nepřečtete.
Když si koupíte jednodeskový počítač Orange PI, zůstane jen kusem mrtvého kovu, dokud nebude správně nakonfigurován. A jeho hlavní konfigurační soubor: „script.bin“je prvním klíčem, jak jej oživit. Tento soubor je umístěn ve spouštěcím oddílu vaší zaváděcí karty SD. A naštěstí pro nás je ve většině distribucí Linuxu z oficiálních stránek (https://www.orangepi.org/downloadresources/) tento oddíl FAT32 a lze jej snadno vidět na jakémkoli počítači se systémem Windows. Skutečně to věci zjednodušuje, protože stále neexistuje spolehlivý způsob, jak zapisovat do oddílů Linux ext2 pod Windows.
Bohužel pro nás má konfigurační soubor script.bin binární formát, který je pro lidské úpravy zcela nepřátelský. Člověk potřebuje nějaký druh softwarového nástroje, aby ho mohl dešifrovat a po provedení nezbytných úprav znovu zašifrovat. A taková sada nástrojů existuje. Je to neslavné SUNXI-NÁSTROJE. Problémem je, že je určen pro běh pod Linuxem a buď si musíme ponechat vyhrazený linuxový stroj pouze pro používání nástrojů sunxi, nebo najít způsob, jak je zkompilovat pro Windows.
Mohl bych to jednoduše zkompilovat a sdílet spustitelný soubor, ale jeden nikdy neví, zda by chtěli vydat nové vydání a budete potřebovat novou kompilaci ASAP. Rozhodl jsem se proto vytvořit průvodce, jak zkompilovat základní nástroj ze zdrojů. Začněme.
Krok 1: Stáhněte si nástroje Sunxi
Získejte nejnovější (nebo nezbytnou) verzi zdrojového kódu sunxi-tools. Přejděte na adresu URL: https://github.com/linux-sunxi/sunxi-tools/releases a zvolte stahování jako zip archiv.
Krok 2: Rozbalte zdrojový kód
Jakmile je stahování dokončeno, rozbalte zdrojový kód do vámi zvolené složky. (dále budu předpokládat, že tato složka je c: / sunxitools \, nahraďte tedy tuto cestu vlastní cestou).
Krok 3: Stáhněte si kód:: bloky
Pokud máte nainstalovanou kopii nějakého provozního kompilátoru C ++ pro Windows. a pokud víte, jak jej používat, můžete přímo přejít ke kroku 3. Ostatní by měli získat správný kompilátor pro C ++ a shell (IDE), aby jej mohli pohodlně používat. Moje volba je code:: blocks pro Windows spolu s předinstalovaným řetězcem nástrojů MinGW. Můžete jej získat zde:
Stáhněte a nainstalujte jej.
Krok 4: Otestujte si IDE
Chcete -li vyzkoušet, zda je vše v pořádku, spusťte bloky kódů, klikněte na „vytvořit nový projekt“, zvolte „konzolovou aplikaci“, zvolte buď c nebo c ++, zadejte název projektu pokladny, v dalším okně ponechte výchozí nastavení nedotčená a klikněte na „dokončit.
Krok 5: Dokončete test
Poté klikněte na zelený trojúhelník na horním panelu IDE nebo použijte bod nabídky Build-> Run. Pokud šlo všechno dobře, měli byste vidět zprávu z vaší automaticky generované aplikace „Hello world“v černém okně „DOS“.
Pokud ne, znamená to, že IDE a kompilátor nepracují správně a budete muset prozkoumat, jak jej správně nastavit. Pravděpodobně budete muset stáhnout jinou verzi programovacích nástrojů nebo zkontrolovat jejich oprávnění ve vašem firewallu/antivirovém softwaru.
Krok 6: Vytvořte nový projekt
Nyní byste měli mít funkční sadu nástrojů programátora C/C ++ a rozbalené zdrojové kódy sunxi-tools ve složce c: / sunxitools / ve vašem počítači. Je čas sestavit projekt. Vytvořte nový projekt ve vašem IDE. Vyberte prostý projekt typu C (nikoli c ++) typu „konzolová aplikace“.
Ujistěte se, že vytváříte projekt ve složce c: / sunxitools / a nikoli na jiném místě. (EG codeblocks mají tendenci vytvářet podsložku se stejným názvem, jaký má projekt. Pokud jste tedy pojmenovali svůj projekt, řekněte „test“a zkuste jej umístit do c: / sunxitools \, můžete skončit s tím, že projekt zmizí to c: / sunxitools / test / pokud nejste dostatečně pozorní.) Nástroje Sunxi obsahují několik nástrojů, ale pro náš účel budeme potřebovat pouze jeden: takzvaný nástroj „fexc“.
Krok 7: Přidejte soubory do projektu
Přesně nástroj "fexc" je zodpovědný za převod souboru script.bin do textového formátu a za zpětný převod do binárního souboru. Je nezbytné, aby spustitelný soubor tohoto nástroje měl název „fexc.exe“, takže je dobré, pokud jste svůj projekt pojmenovali jako „fexc“. Můžete však použít jakýkoli jiný název projektu, protože spustitelný soubor můžete po kompilaci kdykoli přejmenovat, nebo můžete v horní rozbalovací nabídce zvolit „Projekt-> Vlastnosti“a v zobrazeném okně klikněte na kartu „Vytvořit cíle“, a upravte tam pole „Název_výstupního souboru“, abyste přepsali název spustitelného souboru.
K vašemu automaticky generovanému projektu byste měli přidat pouze pět zdrojových souborů:
- fexc.c
- skript.c
- script_bin.c
- script_fex.c
- script_uboot.c
a sedm hlavičkových souborů:
- list.h (přesuňte jej z c: / sunxitools / include / složku do c: / sunxitools / složka)
- fexc.h
- skript.h
- script_bin.h
- script_fex.h
- script_uboot.h
- verze.h
Nezapomeňte z projektu vyloučit automaticky generovaný main.c, protože fexc.c již má v sobě funkci „int main“. (Pamatujte, že jakýkoli program by měl mít pouze jednu hlavní funkci?).
Všechny potřebné soubory zdrojového kódu jsou již v podsložce, kam jste rozbalili zdrojové kódy. Soubory záhlaví si zaslouží pár slov, kde je získat. "list.h" - je obvykle v podsložce "zahrnout" rozbalené sady zdrojových kódů. „version.h“- vytvořte si ho sami. Vložte řetězec jako:
#define VERZE „Win32“
Poté soubor uložte a zavřete. (Pokud chcete, můžete jej ozdobit #define's a #ifdef's.)
Pokud se nyní pokusíte zkompilovat projekt, bude si stěžovat na spoustu chyb a jeden chybějící soubor. Chyby jsou většinou způsobeny trochou přílišné volnosti stylu, k níž se dříve hlásili programátoři sunxi-tools, a chybějící soubor je závislostí, která není součástí balíčku zdrojového kódu. Pojďme se s tím vypořádat krok za krokem.
Krok 8: Nechte GCC dodržovat jazykový standard ISO C z roku 1999
Aby si kompilátor nestěžoval na příliš volný styl programování, nastavte standard kompilace „с99“. V kódových blocích přejděte do nabídky „Projekt -> Možnosti sestavení“a v „Nastavení kompilátoru -> Příznaky kompilátoru“zaškrtněte políčko „Nechat gcc dodržovat normu jazyka ISO C 1999“. Nebo můžete jednoduše přidat „-std = c99“do řetězce možností kompilátoru. Nyní, když se pokusíte zkompilovat projekt, by mělo začít mnoho chyb a vy jste jedna k jedné s chybějící závislostí.
Krok 9: Najděte chybějící závislost
Chybějící závislostí je soubor "mman.h" - záhlaví nějakého správce paměti Linuxu. Windows C nativně žádný takový soubor nemá, ale naštěstí existuje jeho port pro Windows. Přejděte na https://github.com/witwall/mman-win32 pro Windows. Stáhněte si snímek úložiště git.
Krok 10: Rozbalte Mman
Rozbalte soubory mman.c a mman.h a vložte je do složky c: / sunxitools \.
Krok 11: A přidejte je do projektu
Krok 12: Správná cesta
A v souboru raplece souboru „fex.c“:
#zahrnout
do
#include "mman.h"
V tomto kroku by si váš kompilátor neměl na nic stěžovat a jako výstup dostanete dlouhé čekání fexc.exe. Nebuďte šťastní příliš brzy. Nástroj stále není plně funkční. Můžete to zajistit dešifrováním nějakého platného souboru script.bin do textové podoby - souboru script.fex s následným zašifrováním souboru script.fex zpět do souboru script.bin. Můžete si všimnout, že velikost výsledného souboru script.bin se mírně liší od velikosti původního souboru script.bin. A pokud se pokusíte znovu dešifrovat výsledné, selže. S tímto script.bin nebude fungovat ani Orange PI. Abychom získali funkční nástroj, musíme vybít kódovou bombu, kterou někdo vložil do zdrojového kódu sunxi-tools. Bude to náš další krok.
Krok 13: Exorcismus
Chcete -li vybít kódovou bombu, otevřete soubor kódu fexc.c a najděte tam textový řetězec dalšího obsahu:
else if ((out = open (název_souboru, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {
Stačí jej nahradit následujícím řetězcem:
else if ((out = open (název_souboru, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {
Pokud ne zlé číslice „666“v prvním řetězci, myslel bych si, že kodér právě zapomněl použít příznak O_BINARY. Ale Číslo zvířete jeho záměry transparentně objasňuje. Jděte na to, jak je to důmyslné: kvůli jemnému rozdílu ve způsobu zpracování souborů ve Windows a Linuxu nemá bomba žádný účinek, když je nástroj kompilován a používán pod Linuxem. Při použití nástroje pod Windows to ale všechno zničí.
Poté, co byla bomba odzbrojena, můžete konečně kompilovat a bezpečně používat nástroj fexc na stolním počítači se systémem Windows.
Krok 14: POZNÁMKY
1) Chcete -li pohodlně používat nástroj fexc, měli byste získat dva dávkové soubory:
bin2fex.bat - a - fex2bin.bat.
Můžete je získat z nějaké faily fexc.exe build pro Windows, nebo je můžete zadat sami:
- bin2fex.bat by měl obsahovat „fexc -I bin -O fex script.bin script.fex“
- fex2bin.bat by měl obsahovat „fexc -O bin -I fex script.fex script.bin“
2) Pokud je obtížné najít správce mman pro Windows, lze se jeho použití vůbec vyhnout. Vyžaduje však mnohem více úprav souboru fexc.c a vyžaduje alespoň určité znalosti c. Pro vaši jistotu sdílím upravený zdrojový kód fexc ze sunxi-tools v1.4 bez závislosti na mman.h spolu se souborem projektu codeblocks a ukázkovým script.bin z nějakého oranžového pi. Můžete si stáhnout fexc_nomman.zip
3) Je možné, že v následujících verzích nástrojů sunxi přidají další závislosti. Neváhejte je najít na internetu a přidat je do svého kompilačního projektu.
5) Nakonec je zde předkompilovaná verze fexc.exe pro Win32:
fexc_nomman.zip
Pokud jste dostatečně líní, použijte ver. Mějte však na paměti, že nebude aktualizován, pokud/až budou k dispozici novější verze SunxiTools/Windows. Takže je lepší se naučit, jak je zkompilovat, než záviset na nějaké pevné binární sestavě, předpokládám.
4) „Orange PI“, „Code:: Blocks“, „Windows“, „Linux“, „Sunxi-Tools“, „Allwinner“atd.… Jsou ochranné známky příslušných vlastníků.
5) Pokud si kompilátor stěžuje, že nenašel funkce mman, jako:
nedefinovaný odkaz na '_imp_mmap'
uvědomte si, že definice milovníci vývojové komunity mman zapomněli, že kód lze kompilovat nejen jako knihovnu dll. Může to být také statická knihovna nebo samostatný kód, jaký zde máme. Chcete -li problém vyřešit, upravte soubor "mman.h" následujícím způsobem:
a) najděte řetězce:
#if definováno (MMAN_LIBRARY)
#define MMANSHARED_EXPORT _declspec (dllexport) #else #define MMANSHARED_EXPORT _declspec (dllimport) #endif
b) přidejte řetězec
#define MMANSHARED_EXPORT
těsně pod řetězci nalezenými v předchozím kroku
Doporučuje:
Robot: Two Ways Mobile Controlled by Windows Phone.: 6 Steps (with Pictures)
Robot: Two Ways Mobile Controlled by Windows Phone .: Seznam: Arduino Uno L 293 (Bridge) HC SR-04 (Sonar Module) HC 05 (Bluetooth Module) Tg9 (Micro Servo) Motor with Gear Box (Two) Batteryry Holder (for 6 AA) Dráty držáku objektivu (kolíky samec - samice) Vázací pásky za horka (lepidlo
Make a Sander Tool for Drill Machines - Easy Refill: 3 Steps (with Pictures)
Vytvořte si brusku pro vrtačky - snadné doplňování: Ahoj! V tomto návodu se naučíte, jak vytvořit velmi jednoduchý odnímatelný nástroj pro všechny vrtačky. Projekt je tak jednoduchý, že jej lze provést za méně než minutu bez hlubokých znalostí nástrojů a strojů. Aplikace: Dřevo
Orange PI HowTo: Nastavte jej pro použití s 5 "HDMI TFT LCD displejem: 8 kroků (s obrázky)
Orange PI HowTo: Nastavte jej na použití s 5 "HDMI TFT LCD displejem: Pokud jste byli dostatečně rozvážní a objednali jste si společně s Orange PI LCD TFT LCD displej, pravděpodobně vás odradily potíže s pokusem přinutit ho pracovat . Zatímco ostatní si ani nemohli všimnout žádných překážek. Klíčem je, že existují le
Orange PI HowTo: Nastavte jej pro použití se zadním displejem do auta a adaptérem HDMI na RCA: 15 kroků
Orange PI HowTo: Nastavte jej pro použití se zadním displejem do auta a adaptérem HDMI na RCA: PŘEDMLUVA. Zdá se, že každý jiný používá velký a ještě větší televizor nebo monitor s hloupou oranžovou PI deskou. A vypadá to trochu přehnaně, když je určen pro vestavěné systémy. Zde potřebujeme něco malého a levného. Jako
Under the Desk CD-ROM Cubbies .: 6 Steps
Under the Desk CD-ROM Cubbies: Proměňte zbytečné jednotky CD-ROM v nějaké kostky, abyste skryli věci pod stůl