Obsah:
- Krok 1: Stiahnite si nástroje Sunxi
- Krok 2: Rozbaľte zdrojový kód
- Krok 3: Stiahnite si kód:: bloky
- Krok 4: Otestujte si IDE
- Krok 5: Dokončite test
- Krok 6: Vytvorte nový projekt
- Krok 7: Pridajte súbory do projektu
- Krok 8: Nechajte GCC dodržiavať jazykový štandard ISO C z roku 1999
- Krok 9: Nájdite chýbajúcu závislosť
- Krok 10: Rozbaľte Mman
- Krok 11: A pridajte ich do projektu
- Krok 12: Správna cesta
- Krok 13: Exorcizmus
- 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 zmenené: 2024-01-30 12:00
PREDPOKLADY:
Budete potrebovať
- Počítač (stolný) so systémom Windows.
- Pripojenie na internet.
- Doska Orange PI.
Posledný je voliteľný, ale som si istý, že ho už máte. Inak si tento návod neprečítate.
Keď si kúpite jednodoskový počítač Orange PI, zostane iba kusom mŕtveho kovu, kým nebude správne nakonfigurovaný. A jeho hlavný konfiguračný súbor: „script.bin“je prvým kľúčom, ktorý ho oživí. Tento súbor sa nachádza v zavádzacom oddiele bootovacej karty SD. A našťastie pre nás, vo väčšine distribúcií Linuxu z oficiálnych stránok (https://www.orangepi.org/downloadresources/) je tento oddiel FAT32 a je ľahko viditeľný na akomkoľvek počítači so systémom Windows. Skutočne to veci zjednodušuje, pretože stále neexistuje spoľahlivý spôsob, ako zapisovať do oddielov Linux ext2 z operačného systému Windows.
Máme smolu, že konfiguračný súbor script.bin má binárny formát, ktorý je pre úpravy ľudí úplne nepriateľský. Človek potrebuje nejaký druh softvérového nástroja, ktorý by ho dešifroval a po vykonaní potrebných úprav ho opäť kryptoval. A taká sada nástrojov existuje. Je to neslávne známe SUNXI-NÁSTROJE. Problémom je, že je určený na použitie pod Linuxom a buď si musíme ponechať vyhradený stroj Linux iba na používanie nástrojov sunxi, alebo nájsť spôsob, ako ich skompilovať pre Windows.
Mohol by som to jednoducho skompilovať a zdieľať spustiteľný súbor, ale jeden nikdy nevie, či by chceli vydať nové vydanie a budete potrebovať novú kompiláciu ASAP. Preto som sa rozhodol urobiť príručku, ako zostaviť základný nástroj zo zdrojov. Začnime.
Krok 1: Stiahnite si nástroje Sunxi
Získajte najnovšiu (alebo potrebnú) verziu zdrojového kódu sunxi-tools. Prejdite na adresu URL: https://github.com/linux-sunxi/sunxi-tools/releases a zvoľte sťahovanie ako zip archív.
Krok 2: Rozbaľte zdrojový kód
Po dokončení sťahovania rozbaľte zdrojový kód do priečinka podľa vášho výberu. (ďalej budem predpokladať, že tento priečinok je c: / sunxitools \, preto túto cestu nahraďte vlastnou cestou).
Krok 3: Stiahnite si kód:: bloky
Ak máte nainštalovanú kópiu operačného kompilátora C ++ pre Windows. a ak viete, ako ho používať, môžete priamo prejsť na krok 3. Ostatní by si mali zaobstarať správny kompilátor c ++ a shell (IDE), aby ho mohli pohodlne používať. Na výber mám kód:: bloky pre Windows spolu s predinštalovaným reťazcom nástrojov MinGW. Môžete ho získať tu:
Stiahnite a nainštalujte ho.
Krok 4: Otestujte si IDE
Ak chcete otestovať, či je všetko v poriadku, spustite bloky kódov, kliknite na „vytvoriť nový projekt“, zvoľte „konzolová aplikácia“, zvoľte buď c alebo c ++, zadajte názov projektu pokladne, v nasledujúcom okne ponechajte pôvodné nastavenia nedotknuté a kliknite na „dokončiť“. “.
Krok 5: Dokončite test
Potom kliknite na zelený trojuholník na hornom paneli IDE alebo použite bod ponuky Build-> Run. Ak išlo všetko dobre, v čiernom okne „DOS“by sa vám mala zobraziť správa z vašej automaticky vygenerovanej aplikácie „Hello world“.
Ak nie, znamená to, že IDE a kompilátor nepracujú správne a budete musieť preskúmať, ako ho správne nastaviť. Pravdepodobne si budete musieť stiahnuť inú verziu programovacích nástrojov alebo skontrolovať ich povolenia vo svojom firewalle/antivírusovom softvéri.
Krok 6: Vytvorte nový projekt
Teraz by ste mali mať v počítači funkčnú sadu nástrojov programátora C/C ++ a rozbalené zdrojové kódy sunxi-tools v priečinku c: / sunxitools \. Je čas zostaviť projekt. Vytvorte nový projekt vo svojom IDE. Vyberte obyčajný projekt C (nie c ++) typu „konzolová aplikácia“.
Uistite sa, že vytvárate projekt v priečinku c: / sunxitools / a nie na inom mieste. (Kódové bloky EG majú tendenciu vytvárať podpriečinok s rovnakým názvom, ako má projekt. Ak ste teda pomenovali svoj projekt, povedzte „test“a skúste ho umiestniť do adresára c: / sunxitools \, môže sa stať, že projekt skončí. to c: / sunxitools / test / ak nie ste dostatočne pozorní.) Nástroje Sunxi obsahujú niekoľko nástrojov, ale na náš účel budeme potrebovať iba jeden: takzvaný nástroj „fexc“.
Krok 7: Pridajte súbory do projektu
Presne "fexc" nástroj je zodpovedný za konverziu script.bin do textového formátu a za spätnú konverziu do binárnej. Je nevyhnutné, aby spustiteľný súbor tohto nástroja mal názov „fexc.exe“, takže je dobré, ak ste svoj projekt pomenovali ako „fexc“. Môžete však použiť ľubovoľný iný názov projektu, pretože spustiteľný súbor môžete po kompilácii kedykoľvek premenovať, alebo môžete buď vybrať „Projekt-> Vlastnosti“v hornom rozbaľovacom zozname a v zobrazenom okne kliknite na kartu „Vytvoriť ciele“, a upravte tam pole „Výstupný názov súboru“, aby ste nahradili názov spustiteľného súboru.
Do vášho automaticky generovaného projektu by ste mali pridať iba päť zdrojových súborov:
- fexc.c
- skript.c
- script_bin.c
- script_fex.c
- script_uboot.c
a sedem hlavičkových súborov:
- list.h (presuňte ho z c: / sunxitools / include / priečinok do c: / sunxitools / priečinok)
- fexc.h
- skript.h
- script_bin.h
- script_fex.h
- script_uboot.h
- verzia.h
Uistite sa, že ste z projektu vylúčili automaticky generovaný main.c, pretože fexc.c už má v sebe funkciu „int main“. (Nezabudnite, že každý program by mal mať iba jednu hlavnú funkciu?).
Všetky potrebné súbory zdrojového kódu sú už v podpriečinku, do ktorého ste rozbalili zdrojové kódy. Hlavičkové súbory si zaslúžia pár slov, kde ich získať. „list.h“- je zvyčajne v podpriečinku „zahrnúť“rozbalenej sady zdrojových kódov. „version.h“- vytvorte si ho sami. Zadajte reťazec ako:
#define VERZIA „Win32“
Potom súbor uložte a zatvorte. (Ak chcete, môžete ho ozdobiť #definíciami a #ifdefmi.)
Ak sa teraz pokúsite zostaviť projekt, bude sa sťažovať na veľa chýb a jeden chýbajúci súbor. Chyby sú väčšinou spôsobené trochou nadmernej slobody štýlu, na ktorú sa programátori sunxi-tools používali, a chýbajúci súbor je závislosť, ktorá nie je zahrnutá v balení zdrojového kódu. Poďme sa s tým vysporiadať krok za krokom.
Krok 8: Nechajte GCC dodržiavať jazykový štandard ISO C z roku 1999
Aby sa kompilátor nesťažoval na príliš voľný štýl programovania, nastavte štandard kompilácie „с99“. V kódových blokoch prejdite do ponuky „Projekt -> Možnosti zostavenia“a v „Nastavenia kompilátora -> Vlajky kompilátora“začiarknite políčko „Nechajte gcc dodržiavať štandard normy ISO ISO 1999“. Alebo môžete do reťazca možností kompilátora jednoducho pridať "-std = c99". Teraz, keď sa pokúsite zostaviť projekt, by sa malo začať s tými chybami a vy budete jedna k jednej s chýbajúcou závislosťou.
Krok 9: Nájdite chýbajúcu závislosť
Chýbajúcou závislosťou je súbor "mman.h" - hlavička nejakého správcu pamäte Linux. Windows C natívne taký súbor nemá, ale našťastie existuje jeho port pre Windows. Prejdite na https://github.com/witwall/mman-win32 pre Windows. Stiahnite si snímku repozitára git.
Krok 10: Rozbaľte Mman
Rozbaľte súbory mman.c a mman.h a umiestnite ich do priečinka c: / sunxitools \.
Krok 11: A pridajte ich do projektu
Krok 12: Správna cesta
A v súbore raplece súboru „fex.c“:
#zahrnúť
do
#include "mman.h"
V tomto kroku by sa váš prekladač nemal na nič sťažovať a ako výstup dostanete dlhé čakanie fexc.exe. Nebuď šťastný príliš skoro. Tento nástroj stále nie je úplne funkčný. Môžete to zaistiť dešifrovaním nejakého platného súboru script.bin do textovej podoby - súboru script.fex s následným zašifrovaním súboru script.fex späť do súboru script.bin. Môžete si všimnúť, že veľkosť výsledného súboru script.bin sa mierne líši od veľkosti pôvodného súboru script.bin. A ak sa pokúsite znova dešifrovať výsledné číslo, zlyhá. S týmto skriptom.bin nebude fungovať ani Orange PI. Aby sme získali funkčný nástroj, musíme vybiť kódovú bombu, ktorú niekto vložil do zdrojového kódu sunxi-tools. Bude to náš ďalší krok.
Krok 13: Exorcizmus
Ak chcete vybiť kódovú bombu, otvorte súbor s kódom fexc.c a nájdite tam textový reťazec nasledujúceho obsahu:
else if ((out = otvorený (názov súboru, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {
Stačí ho nahradiť nasledujúcim reťazcom:
else if ((out = otvorený (názov súboru, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {
Ak nie, zlé číslice „666“v prvom reťazci by som si myslel, že kodér práve zabudol použiť príznak O_BINARY. Number of the Beast však jeho zámery transparentne objasňuje. Choďte na to, aké je to dômyselné: kvôli jemnému rozdielu v spôsobe spracovania súborov v systémoch Windows a Linux bomba nemá žiadny účinok, keď je nástroj zostavený a používaný v systéme Linux. Keď sa však tento nástroj používa pod systémom Windows, všetko zničí.
Po zneškodnení bomby môžete konečne skompilovať a bezpečne používať nástroj fexc na stolnom počítači so systémom Windows.
Krok 14: POZNÁMKY
1) Na pohodlné používanie pomocného programu fexc by ste mali dostať dva dávkové súbory:
bin2fex.bat - a - fex2bin.bat.
Môžete ich získať z nejakej faily fexc.exe zostavy pre Windows, alebo ich môžete zadať sami:
- bin2fex.bat by mal obsahovať „fexc -I bin -O fex script.bin script.fex“
- fex2bin.bat by mal obsahovať „fexc -O bin -I fex script.fex script.bin“
2) Ak je ťažké nájsť správcu mman pre Windows, dá sa jeho použitiu úplne vyhnúť. Vyžaduje však oveľa viac úprav súboru fexc.c a vyžaduje aspoň určité znalosti o jazyku c. Pre vašu istotu zdieľam upravený zdrojový kód fexc zo súboru sunxi-tools v1.4 bez závislosti na mman.h spolu so súborom projektu codeblocks a so vzorovým skriptom.bin z nejakého oranžového pí. Môžete si stiahnuť fexc_nomman.zip
3) Je možné, že v nasledujúcich verziách nástrojov sunxi pridajú ďalšie závislosti. Neváhajte ich nájsť na internete a pridajte ich do svojho kompilačného projektu.
5) Nakoniec je tu predkompilovaná verzia fexc.exe pre Win32:
fexc_nomman.zip
Ak ste leniví, použite ver. Dávajte si však pozor na to, že nebude aktualizovaný, ak/keď budú k dispozícii novšie verzie programu SunxiTools/Windows. Predpokladám teda, že je lepšie naučiť sa ich zostavovať, než závisieť od nejakej pevnej binárnej zostavy.
4) „Orange PI“, „Code:: Blocks“, „Windows“, „Linux“, „Sunxi-Tools“, „Allwinner“atď.… Sú zodpovedajúce ochranné známky príslušných vlastníkov.
5) Ak sa vám kompilátor sťažuje, že nenašiel funkcie mman, napríklad:
nedefinovaný odkaz na '_imp_mmap'
vedzte, že milovníci definície komunity vývojárov mman zabudli, že kód je možné kompilovať nielen ako dll knižnicu. Môže to byť aj statická knižnica alebo samostatný kód, aký tu máme. Ak chcete problém vyriešiť, upravte súbor "mman.h" nasledovne:
a) nájdite reťazce:
#if definované (MMAN_LIBRARY)
#define MMANSHARED_EXPORT _declspec (dllexport) #else #define MMANSHARED_EXPORT _declspec (dllimport) #endif
b) pridajte reťazec
#define MMANSHARED_EXPORT
tesne pod reťazcami nájdenými v predchádzajúcom kroku
Odporúča:
Motion Reactive Surfboard LED Strips: 8 Steps (with Pictures)
Motion Reactive Surfboard LED Strips: Nedávno sme s priateľmi objavili surfovanie po rieke. Žijeme v Mníchove a máme šťastie, že máme tri surfovateľné riečne vlny, medzi ktoré patrí známe miesto na surfovanie Eisbach. Temnejšou stránkou surfovania po rieke je, že je dosť návyková, a preto si len málokedy nájdem čas na
HowTo - Esp -12F Mini WiFi modul ESP8266 18650 Nodemcu Batterie 0,96”OLED DEMO Via Arduino GUI: 4 kroky
HowTo - Esp -12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0,96”OLED DEMO Via Arduino GUI: Dobrý deň, veľa možností pre váš OLED displej. Viac informácií nájdete na tejto stránke, napríklad ich ARDUINO GUI zum schreiben des CODEs und zum hochladen der Firmwa
Windows PC Lock/Unlock using RFID .: 7 Steps (with Pictures)
Windows PC Lock/Unlock using RFID .: Ahoj! Ako často vás už unavovalo zadávanie hesla na odomknutie počítača/prenosného počítača vždy, keď sa uzamkne? Zvykol som si to zamknúť niekoľkokrát, každý deň, a nie je nič otravnejšie, ako zadávať heslo/PIN znova a znova
Orange PI HowTo: Nastavte ho na používanie s 5 palcovým HDMI TFT LCD displejom: 8 krokov (s obrázkami)
Ako na to Orange PI: Nastavte ho na používanie s 5 palcovým HDMI TFT LCD displejom: Ak ste boli dostatočne rozvážni a objednali ste si spolu s Orange PI aj HDMI TFT LCD displej, pravdepodobne vás odrádzajú ťažkosti s jeho prinútením fungovať. . Zatiaľ čo ostatní dokonca nemohli zaznamenať žiadne prekážky. Kľúčové je, že existujú le
Under the Desk CD-ROM Cubbies .: 6 krokov
Under the Desk CD-ROM Cubbies: Premeňte zbytočné jednotky CD-ROM na niekoľko jednotiek na skrytie vecí pod pracovným stolom