Kazalo:
- 1. korak: Prenesite orodja Sunxi
- 2. korak: Odpakirajte izvorno kodo
- 3. korak: Prenesite Code:: bloki
- 4. korak: Preizkusite svoj IDE
- 5. korak: Dokončajte preizkus
- 6. korak: Ustvarite nov projekt
- 7. korak: Dodajte datoteke v projekt
- 8. korak: Naj Gcc upošteva jezikovni standard ISO C 1999
- 9. korak: Poiščite manjkajočo odvisnost
- 10. korak: Razpakirajte Mman
- 11. korak: In jih dodajte projektu
- 12. korak: Pravilna pot
- 13. korak: Egzorcizem
- 14. korak: OPOMBE
Video: Orange PI HowTo: Compile Sunxi Tool za Windows v sistemu Windows: 14 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
PREDPOSTAVKI:
Boste potrebovali
- (Namizni) računalnik z operacijskim sistemom Windows.
- Internetna povezava.
- Oranžna PI plošča.
Zadnji je neobvezen, vendar sem prepričan, da ga že imate. V nasprotnem primeru tega navodila ne boste prebrali.
Ko kupite enokanalni računalnik Orange PI, ostane le kos mrtve kovine, dokler ni pravilno konfiguriran. Njegova glavna konfiguracijska datoteka: "script.bin" je prvi ključ, ki jo oživi. Ta datoteka se nahaja na zagonski particiji vaše zagonske kartice SD. Na našo srečo je v večini distribucij Linuxa z uradnega spletnega mesta (https://www.orangepi.org/downloadresources/) ta particija FAT32 in jo lahko zlahka vidi kateri koli računalnik z operacijskim sistemom Windows. Resnično poenostavlja stvari, saj še vedno ni zanesljivega načina za pisanje v particije Linux ext2 iz sistema Windows.
Nimamo sreče, da ima konfiguracijska datoteka script.bin binarno obliko, ki je popolnoma neprijazna za urejanje. Za dešifriranje in kriptiranje po opravljenih potrebnih spremembah potrebujete nekakšno programsko orodje. In tak nabor orodij obstaja. To je zloglasni SUNXI-TOOLS. Muha v mazilu je, da je namenjen izvajanju pod Linuxom, zato moramo bodisi hraniti namenski Linux-stroj samo za uporabo orodij sunxi ali pa najti način, kako jih sestaviti za okna.
Lahko bi ga preprosto sestavil in delil izvedljivo datoteko, vendar nikoli ne veš, ali bi radi naredili novo izdajo, zato boš čim prej potreboval novo kompilacijo. Zato sem se odločil narediti vodič, kako sestaviti bistveno orodje iz virov. Začnimo.
1. korak: Prenesite orodja Sunxi
Pridobite najnovejšo (ali potrebno) različico izvorne kode orodij sunxi. Pojdite na URL: https://github.com/linux-sunxi/sunxi-tools/releases in izberite prenos kot zip arhiv.
2. korak: Odpakirajte izvorno kodo
Ko je prenos končan, razpakirajte izvorno kodo v izbrano mapo. (nadalje bom domneval, da je ta mapa c: / sunxitools \, zato to pot zamenjajte s svojo potjo).
3. korak: Prenesite Code:: bloki
Če imate nameščeno kopijo operacijskega prevajalnika c ++ za Windows. in če veste, kako ga uporabljati, lahko neposredno nadaljujete s 3. korakom. Drugi bi morali dobiti ustrezen prevajalnik c ++ in lupino (IDE), da bi ga udobno uporabljali. Moja izbira je code:: bloki za Windows skupaj z vnaprej nameščenim orodjem MinGW. Lahko ga dobite tukaj:
Prenesite in namestite.
4. korak: Preizkusite svoj IDE
Če želite preveriti, ali je vse v redu, zaženite kodne bloke, kliknite »ustvari nov projekt«, izberite »konzolna aplikacija«, izberite bodisi c ali c ++, vnesite naslov projekta za odjavo, privzete nastavitve naj bodo nedotaknjene v naslednjem oknu in kliknite »končaj«.
5. korak: Dokončajte preizkus
Nato kliknite zeleni trikotnik na zgornji plošči IDE ali uporabite točko menija Build-> Run. Če je šlo vse v redu, bi morali v črnem oknu "DOS" videti sporočilo vaše samodejno ustvarjene aplikacije "Hello world".
Če ne, to pomeni, da IDE in prevajalnik ne delujeta pravilno, zato boste morali raziskati, kako ga pravilno nastaviti. Verjetno boste morali prenesti drugo različico programskih orodij ali preveriti njihova dovoljenja v požarnem zidu/protivirusni programski opremi.
6. korak: Ustvarite nov projekt
Zdaj bi morali imeti v računalniku delujoč nabor programerjev za C/C ++ in nepakirane izvorne kode orodij sunxi v mapi c: / sunxitools \. Čas je, da sestavite projekt. Ustvarite nov projekt v svoji IDE. Izberite navaden projekt C (ne c ++) tipa "konzolna aplikacija".
Prepričajte se, da projekt ustvarjate v mapi c: / sunxitools / in ne na drugem mestu. (EG kodni bloki ponavadi naredijo podmapo z istim imenom, kot ga ima projekt. Če ste torej poimenovali svoj projekt, recite "test" in ga poskusite postaviti v c: / sunxitools \, lahko projekt končate v c: / sunxitools / test / če niste dovolj pozorni.) Orodja Sunxi vsebujejo več pripomočkov, za naš namen pa bomo potrebovali le enega: tako imenovani "fexc" pripomoček.
7. korak: Dodajte datoteke v projekt
Natančno "fexc" pripomoček je odgovoren za pretvorbo script.bin v besedilno obliko in za povratno pretvorbo v binarno datoteko. Bistveno je, da ima izvršljiva datoteka tega pripomočka ime "fexc.exe", zato je dobro, če ste svoj projekt poimenovali "fexc". Lahko pa uporabite katero koli drugo ime projekta, saj lahko po prevajanju vedno preimenujete izvedljivo datoteko ali pa izberete »Projekt-> Lastnosti« v zgornjem spustnem meniju in v pojavnem oknu kliknite zavihek »Sestavi cilje«, in tam uredite polje "Ime izhodne datoteke", da preglasite ime izvršljive datoteke.
V svoj samodejno ustvarjen projekt morate dodati le pet izvornih datotek:
- fexc.c
- script.c
- script_bin.c
- script_fex.c
- script_uboot.c
in sedem datotek z glavo:
- list.h (premaknite jo iz mape c: / sunxitools / include / v mapo c: / sunxitools )
- fexc.h
- script.h
- script_bin.h
- script_fex.h
- script_uboot.h
- različica.h
Iz projekta izključite samodejno ustvarjen main.c, ker fexc.c že ima funkcijo "int main". (Ne pozabite, da bi moral vsak program imeti samo eno glavno funkcijo?).
Vse potrebne datoteke izvorne kode so že v podmapi, kamor ste razpakirali izvorne kode. Datoteke z glavo si zaslužijo par besed, kje jih dobiti. "list.h" - je ponavadi v podmapi "include" nerazpakiranih izvornih kod. "version.h" - ustvarite ga sami. Vnesite niz, kot je:
#define VERZIJA "Win32"
Nato shranite in zaprite datoteko. (Če želite, ga lahko okrasite z #define in #ifdef.)
Če zdaj poskusite sestaviti projekt, se bo pritožil nad veliko napakami in eno manjkajočo datoteko. Napake so večinoma posledica pretirane svobode sloga, ki so jih uporabljali programerji orodij sunxi, manjkajoča datoteka pa je odvisnost, ki ni vključena v paket izvorne kode. S tem se lotimo korak za korakom.
8. korak: Naj Gcc upošteva jezikovni standard ISO C 1999
Da se prevajalnik ne bi pritoževal glede preveč svobodnega programskega sloga, nastavite standard kompilacije "с99". V kodnih blokih pojdite v meni »Projekt -> Možnosti izdelave« in v »Nastavitve prevajalnika -> Zastavice prevajalnika« potrdite polje »Naj gcc upošteva jezikovni standard ISO C 1999«. Ali pa lahko preprosto dodate "-std = c99" v niz možnosti prevajalnika. Če poskusite sestaviti projekt, bi se morale te tone napak odpraviti in ste ena proti ena z manjkajočo odvisnostjo.
9. korak: Poiščite manjkajočo odvisnost
Manjkajoča odvisnost je datoteka "mman.h" - glava neke vrste upravitelja pomnilnika linux. Windows C izvorno nima te datoteke, a na srečo obstaja okno Windows. Za okna pojdite na https://github.com/witwall/mman-win32. Prenesite posnetek skladišča git.
10. korak: Razpakirajte Mman
Razpakirajte datoteke mman.c in mman.h, jih vstavite v mapo c: / sunxitools \.
11. korak: In jih dodajte projektu
12. korak: Pravilna pot
In v datoteki "fex.c" raplece line:
#vključi
do
#vključi "mman.h"
Na tem koraku se vaš prevajalnik ne bi smel pritoževati in kot rezultat boste dobili dolgo čakanje fexc.exe. Ne bodite srečni prezgodaj. Pripomoček še vedno ni popolnoma funkcionalen. To lahko zagotovite z dešifriranjem neke veljavne datoteke script.bin v besedilni obrazec - datoteko script.fex s posledičnim šifriranjem datoteke script.fex nazaj v script.bin. Morda boste opazili, da se velikost nastalega script.bin nekoliko razlikuje od velikosti izvirnega script.bin. In če poskusite znova dešifrirati nastalo, ne bo uspelo. Niti Orange PI ne bo deloval s tem script.bin. Za pridobitev funkcionalnega pripomočka moramo izstreliti kodno bombo, ki jo je nekdo vstavil v izvorno kodo orodja sunxi. To bo naš naslednji korak.
13. korak: Egzorcizem
Če želite razstreliti kodno bombo, odprite kodno datoteko fexc.c in tam poiščite besedilni niz naslednje vsebine:
else if ((out = open (ime datoteke, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {
Samo zamenjajte ga z naslednjim nizom:
else if ((out = open (ime datoteke, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {
Če ne zlobne številke "666" v prvem nizu, bi mislil, da je kodirnik pravkar pozabil uporabiti zastavo O_BINARY. Toda Število zveri transparentno pojasnjuje njegove namene. Pojdi, kako genialno je: zaradi subtilne razlike v načinu obdelave datotek v operacijskih sistemih Windows in Linux bomba nima učinka, ko se pripomoček sestavi in uporablja v Linuxu. Toda vse to uniči, ko se pripomoček uporablja v sistemu Windows.
Ko je bomba razorožena, lahko končno sestavite in varno uporabite pripomoček fexc na namiznem računalniku z operacijskim sistemom Windows.
14. korak: OPOMBE
1) Za udobno uporabo pripomočka fexc bi morali dobiti dve paketni datoteki:
bin2fex.bat - in - fex2bin.bat.
Dobite jih lahko v kateri koli ponarejeni zgradbi fexc.exe za Windows ali pa jih vnesete sami:
- bin2fex.bat mora vsebovati "fexc -I bin -O fex script.bin script.fex"
- fex2bin.bat mora vsebovati "fexc -O bin -I fex script.fex script.bin"
2) Če je težko najti upravitelja mman za Windows, se lahko njegovi uporabi sploh izognete. Vendar pa zahteva veliko več urejanja datoteke fexc.c in zahteva vsaj nekaj znanja o c. Za vašo udobje delim urejeno izvorno kodo fexc iz orodij sunxi v1.4 brez odvisnosti od mman.h skupaj s projektno datoteko kodnih blokov in z vzorčnim script.bin iz neke oranžne pi. Lahko prenesete fexc_nomman.zip
3) Možno je, da bodo v naslednjih različicah orodij sunxi dodali še nekaj odvisnosti. Poiščite jih po internetu in jih dodajte v svoj kompilacijski projekt.
5) Na koncu je predkompilirana različica fexc.exe za Win32:
fexc_nomman.zip
Če ste dovolj leni, uporabite ver. Vendar pazite, da ne bo posodobljen, če/kdaj bodo na voljo novejše različice programa SunxiTools/Windows. Zato se je bolje naučiti, kako jih sestaviti, kot pa da sem odvisen od neke fiksne binarne gradnje, predvidevam.
4) "Orange PI", "Code:: Blocks", "Windows", "Linux", "Sunxi-Tools", "Allwinner" itd … so ustrezne blagovne znamke njihovih lastnikov.
5) Če se prevajalnik pritožuje, da ne najde funkcij mman, na primer:
nedoločen sklic na '_imp_mmap'
Zavedajte se, da so ljubitelji definicije razvojne skupnosti mman pozabili, da je koda lahko sestavljena ne le kot knjižnica dll. Lahko je tudi statična knjižnica ali samostojna koda, kot jo imamo tukaj. Če želite odpraviti težavo, uredite datoteko "mman.h" na naslednji način:
a) poiščite nize:
#if definirano (MMAN_LIBRARY)
#define MMANSHARED_EXPORT _declspec (dllexport) #else #define MMANSHARED_EXPORT _declspec (dllimport) #endif
b) dodajte niz
#define MMANSHARED_EXPORT
tik pod nizi v prejšnjem koraku
Priporočena:
Namestitev sistema Windows na zunanji pogon s particijo Mac v sistemu Mac: 5 korakov (s slikami)
Namestitev sistema Windows na zunanji pogon s particijo Mac v sistemu Mac: če ste kupili nekaj takega kot osnovni MacBook pro in prihranili nekaj denarja, a ste kmalu pri poskusu namestitve oken z Bootcampom kmalu imeli težave s shranjevanjem Vsi vemo, da 128 GB ni dovolj zato smo morda kupili nekaj
Orange PI HowTo: Nastavite ga za uporabo s 5 -palčnim HDMI TFT LCD zaslonom: 8 korakov (s slikami)
Orange PI HowTo: Nastavite ga za uporabo s 5 -palčnim HDMI TFT LCD zaslonom: Če ste bili dovolj preudarni, da skupaj s svojim oranžnim PI naročite HDMI TFT LCD zaslon, vas verjetno težave ne poskušajo prisiliti, da deluje . Medtem ko drugi sploh niso mogli opaziti nobenih ovir. Ključno je, da obstajajo le
Orange PI HowTo: Nastavite ga za uporabo z avtomobilskim zaslonom za vzvratno vožnjo in vmesnikom HDMI na RCA: 15 korakov
Orange PI HowTo: Nastavite ga za uporabo z avtomobilskim zaslonom za vzvratno vožnjo in vmesnikom HDMI na RCA: PREDGOVOR. Zdi se, da vsak drugi uporablja velik in še večji televizor ali monitor z neumno oranžno ploščo PI. In videti je malo pretirano, če je namenjeno vgrajenim sistemom. Tukaj potrebujemo nekaj majhnega in nekaj poceni. Kot
Ura za kartuše v sistemu Nintendo Entertainment System: 7 korakov (s slikami)
Ura s kartušami v sistemu Nintendo Entertainment System: Nekaj časa nazaj je moja prijateljica Carolyn Main za prijatelje za božič izdelala nekaj ur s kartušami NES. Pretresli so se. Čudovitost kartuše z uro NES mora biti razpršena po vseh deželah. Zdaj bi lahko šli na spletu in kupili eno … Toda: 1) Vsi vemo, kako
Raspberry Pi Bluetooth za PuTTY v sistemu Windows 10 .: 3 koraki (s slikami)
Raspberry Pi Bluetooth za PuTTY v sistemu Windows 10 .: Tako Raspberry Pi 3 B kot Raspberry Pi Zero W imata možnost Bluetooth. Serijska vrata lahko osvobodite za stvari, kot je GPS enota, tako da namesto tega oddajnik Bluetooth konfigurirate za dostop do vseh lupin. Patrick Hundal je napisal odličen kos