Sisukord:

Oranž PI kuidas: Koostage Sunxi tööriist Windowsi jaoks Windowsi jaoks: 14 sammu (piltidega)
Oranž PI kuidas: Koostage Sunxi tööriist Windowsi jaoks Windowsi jaoks: 14 sammu (piltidega)

Video: Oranž PI kuidas: Koostage Sunxi tööriist Windowsi jaoks Windowsi jaoks: 14 sammu (piltidega)

Video: Oranž PI kuidas: Koostage Sunxi tööriist Windowsi jaoks Windowsi jaoks: 14 sammu (piltidega)
Video: 8 НАСТОЯЩИХ СТРАШНЫХ ИСТОРИЙ, КОТОРЫЕ БУДУТ НЕ СПАТЬ НО... 2024, November
Anonim
Orange PI HowTo: kompileerige Sunxi tööriist Windowsi jaoks Windowsi jaoks
Orange PI HowTo: kompileerige Sunxi tööriist Windowsi jaoks Windowsi jaoks

EELTINGIMUSED:

Sa vajad

  1. (Lauaarvuti), milles töötab Windows.
  2. Interneti -ühendus.
  3. Oranž PI -plaat.

Viimane on valikuline, kuid olen kindel, et teil on see juba olemas. Vastasel juhul ei loe te seda juhendit.

Kui ostate Orange PI üheplaadiga arvuti, jääb see enne seadistamist vaid tükk surnud metalli. Ja selle peamine konfiguratsioonifail: "script.bin" on esimene võti, mis selle ellu toob. See fail asub teie alglaaditava SD -kaardi alglaadimispartitsioonis. Ja meie õnneks on enamikus ametliku saidi (https://www.orangepi.org/downloadresources/) Linuxi distributsioonides see partitsioon FAT32 ja seda saab hõlpsasti näha iga Windowsi arvuti. See lihtsustab asju tõesti, kuna endiselt pole usaldusväärset viisi Windowsi alt Linuxi ext2 -sektsioonidesse kirjutamiseks.

Meie jaoks ebaõnnestus, et konfiguratsioonifaili script.bin binaarne vorming on inimeste redigeerimiseks täiesti ebasõbralik. Selle dekrüpteerimiseks ja pärast vajalike muudatuste tegemist tagasi krüptimiseks on vaja mingit tarkvaratööriista. Ja selline tööriistakomplekt on olemas. See on kurikuulus SUNXI-TOOLS. Lihtsam on see, et see on mõeldud töötamiseks Linuxi all ja me peame kas hoidma spetsiaalset Linuxi masinat ainult sunxi tööriistade kasutamiseks või leidma viisi, kuidas neid Windowsi jaoks kompileerida.

Ma võiksin selle lihtsalt kompileerida ja käivitatavat faili jagada, kuid kunagi ei tea, kas nad sooviksid uue versiooni teha ja teil on vaja ASAP -i jaoks uut kogumit. Seega otsustasin koostada juhendi, kuidas koostada allikatest vajalik tööriist. Alustame.

Samm: laadige alla Sunxi tööriistad

Laadige alla Sunxi tööriistad
Laadige alla Sunxi tööriistad
Laadige alla Sunxi tööriistad
Laadige alla Sunxi tööriistad

Hankige sunxi-tööriistade lähtekoodi uusim (või vajalik) versioon. Minge URL-ile: https://github.com/linux-sunxi/sunxi-tools/releases ja valige allalaadimine ZIP-arhiivina.

Samm: pakkige lähtekood lahti

Pakkige lähtekood lahti
Pakkige lähtekood lahti

Kui allalaadimine on lõppenud, pakkige lähtekood oma valitud kausta lahti. (lisaks eeldan, et see kaust on c: / sunxitools \, seega asendage see tee oma teega).

Samm: laadige kood:: plokid alla

Laadige alla kood:: plokid
Laadige alla kood:: plokid

Kui teil on installitud Windowsi operatiivse c ++ kompilaatori koopia. ja kui teate, kuidas seda kasutada, võite jätkata otse sammuga 3. Teised peaksid muretsema korraliku c ++ kompilaatori ja kesta (IDE). Minu valik on kood:: plokid Windowsi jaoks koos eelinstallitud MinGW tööriistaketiga. Selle saate siit:

Laadige see alla ja installige.

Samm: testige oma IDE -d

Testige oma IDE -d
Testige oma IDE -d

Et kontrollida, kas kõik läheb hästi, käivitage koodblokid, klõpsake nuppu "loo uus projekt", valige "konsoolirakendus", valige kas c või c ++, tippige kassaprojekti pealkiri, hoidke järgmises aknas vaikeseaded puutumata ja klõpsake nuppu "Lõpeta" ".

Samm: viige test lõpule

Täielik test
Täielik test

Seejärel klõpsake IDE ülemisel paneelil rohelist kolmnurka või kasutage menüüpunkti Ehitamine-> Käivita. Kui kõik läks õigesti, peaksite mustas „DOS” aknas nägema sõnumit oma automaatselt loodud rakendusest „Tere maailm”.

Kui ei, tähendab see, et IDE ja kompilaator ei tööta korralikult ja peate uurima, kuidas seda õigesti seadistada. Tõenäoliselt peate alla laadima mõne muu programmeerimisvahendi versiooni või kontrollima nende õigusi oma tulemüüris/viirusetõrjetarkvaras.

6. samm: looge uus projekt

Loo uus projekt
Loo uus projekt
Loo uus projekt
Loo uus projekt
Loo uus projekt
Loo uus projekt
Loo uus projekt
Loo uus projekt

Nüüd peaks teil olema töökorras C/C ++ programmeerija tööriistakomplekt ja lahtipakitud sunxi-tools lähtekoodid arvuti kaustas c: / sunxitools \. On aeg projekti kokku panna. Looge oma IDE -s uus projekt. Valige "konsoolirakenduse" tüüpi tavaline C (mitte c ++) projekt.

Veenduge, et loote projekti kaustas c: / sunxitools \, mitte mõnes muus kohas. (EG -koodblokid kipuvad tegema alamkausta sama nimega, mis projektil. Nii et kui olete oma projektile nime andnud, öelge "test" ja proovige see paigutada kausta c: / sunxitools \, võite projekti lõpetada to c: / sunxitools / test / kui te pole piisavalt tähelepanelik.) Sunxi tööriistad sisaldavad mitmeid utiliite, kuid meie jaoks on vaja ainult ühte: utiliiti "fexc".

Samm: lisage projektile failid

Lisage failid projekti
Lisage failid projekti

Täpselt "fexc" utiliit vastutab skripti.bin tekstivormingusse teisendamise ja binaarseks teisendamise eest. Oluline on, et selle utiliidi käivitataval failil oleks nimi "fexc.exe", seega on hea, kui olete oma projekti nimetanud "fexc". Siiski võite kasutada projekti mis tahes muud nime, kuna pärast kompileerimist saate alati käivitatava faili ümber nimetada, või võite valida ülaosas rippmenüüst "Projekt-> Atribuudid" ja ilmuvas aknas klõpsata vahekaardil "Eesmärkide loomine", ja redigeerige seal välja "Väljundfaili nimi", et alistada käivitatava nime.

Oma automaatselt loodud projektile peaksite lisama ainult viis lähtefaili:

  • fexc.c
  • skript.c
  • script_bin.c
  • script_fex.c
  • script_uboot.c

ja seitse päisefaili:

  • list.h (teisaldage see vormist c: / sunxitools / include / kaust kausta c: / sunxitools / kaust)
  • fexc.h
  • skript.h
  • script_bin.h
  • script_fex.h
  • script_uboot.h
  • versioon.h

Kindlasti välistage projektist automaatselt genereeritud main.c, sest fexc.c -l on juba funktsioon "int main". (Pidage meeles, et igal programmil peaks olema ainult üks põhifunktsioon?).

Kõik vajalikud lähtekoodi failid on juba alamkaustas, kuhu olete lähtekoodid lahti pakkinud. Päisefailid väärivad sõnapaari, kust neid hankida. "list.h" - on tavaliselt pakkimata lähtekoodide komplekti alamkaustas "include". "version.h" - looge see lihtsalt ise. Pange sinna selline string:

#define VERSIOON "Win32"

Seejärel salvestage ja sulgege fail. (Soovi korral saate seda kaunistada #define ja #ifdef.)

Kui proovite nüüd projekti koostada, kurdab see palju vigu ja üks puuduv fail. Vead on enamasti tingitud natuke liigsest stiilivabadusest, Sunxi-toolsi programmeerijatest, keda kasutati, ja puuduv fail on sõltuvus, mida lähtekoodi pakett ei sisalda. Tegeleme sellega samm -sammult.

8. samm: laske Gcc -l järgida 1999. aasta ISO C keelestandardit

Laske Gcc -l järgida 1999. aasta ISO C keelestandardit
Laske Gcc -l järgida 1999. aasta ISO C keelestandardit

Selleks, et kompilaator ei kurdaks liiga vaba programmeerimisstiili üle, määrake kompileerimise standard "с99". Koodplokkides minge menüüsse "Projekt -> Koostamisvalikud" ja märkige ruudus "Kompilaatori sätted -> Kompilaatori lipud" märkeruut "Kas gcc järgib 1999. aasta ISO C keelestandardit". Või võite lihtsalt lisada oma kompilaatori suvandite stringile "-std = c99". Nüüd, kui proovite projekti kompileerida, peaksid need vead algama ja olete puuduva sõltuvusega üks ühele.

Samm: leidke puuduv sõltuvus

Leidke puuduv sõltuvus
Leidke puuduv sõltuvus

Puuduv sõltuvus on fail "mman.h" - mingi Linuxi mäluhalduri päis. Windows C -l pole sellist faili, kuid õnneks on sellel Windowsi port. Windowsi jaoks minge aadressile https://github.com/witwall/mman-win32. Laadige alla giti hoidla hetktõmmis.

Samm: pakkige Mman lahti

Pakkige Mman lahti
Pakkige Mman lahti

Pakkige failid mman.c ja mman.h lahti, asetage need kausta c: / sunxitools \.

Samm: lisage need projekti

Ja lisage need projekti
Ja lisage need projekti

12. samm: õige tee

Õige tee
Õige tee

Ja failis "fex.c" raplece rida:

#kaasake

juurde

#include "mman.h"

Selles etapis ei peaks teie kompilaator midagi kurtma ja saate väljundiks pika ooteaja fexc.exe. Ära ole liiga vara õnnelik. Utiliit pole ikka veel täielikult töökorras. Selle saate tagada, dekrüpteerides mõne kehtiva faili script.bin tekstivormi - script.fex -faili, seejärel krüpteerides faili script.fex tagasi skripti.bin. Võite tähele panna, et saadud script.bin suurus erineb veidi algse script.bin suurusest. Ja kui proovite tulemust veel kord dekrüpteerida, siis see ebaõnnestub. Selle skriptiga ei tööta ka oranž PI.bin. Funktsionaalse utiliidi saamiseks peame tühistama koodpommi, mille keegi on sunxi-tools lähtekoodi sisestanud. See on meie järgmine samm.

13. samm: eksortsism

Eksortsism
Eksortsism

Koodpommi tühjendamiseks avage koodifail fexc.c ja leidke sealt järgmise sisu tekstistring:

muidu kui ((välja = avatud (failinimi, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {

Lihtsalt asendage see järgmise stringiga:

muidu kui ((välja = avatud (failinimi, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {

Kui mitte kurjad numbrid "666" esimeses stringis, siis arvan, et kodeerija on lihtsalt unustanud O_BINARY lipu kasutamise. Kuid metsalise arv selgitab tema kavatsusi läbipaistvalt. Mine tea, kui geniaalne see on: kuna failide töötlemisel Windowsis ja Linuxis on väike erinevus, ei mõjuta pomm utiliidi koostamisel ja kasutamisel Linuxi all. Kuid see rikub kõik, kui utiliiti kasutatakse Windowsi all.

Pärast pommi desarmeerimist saate lõpuks Windowsi lauaarvuti utiliidi fexc kompileerida ja ohutult kasutada.

14. samm: MÄRKUSED

MÄRKUSED
MÄRKUSED

1) Fexc utiliidi mugavaks kasutamiseks peaksite hankima kaks pakettfaili:

bin2fex.bat - ja - fex2bin.bat.

Saate need hankida mõnest Windowsi faily fexc.exe versioonist või saate need ise sisestada:

  • bin2fex.bat peaks sisaldama "fexc -I bin -O fex script.bin script.fex"
  • fex2bin.bat peaks sisaldama "fexc -O bin -I fex script.fex script.bin"

2) Kui Windowsi halduri haldurit on raske leida, saab selle kasutamist üldse vältida. Kuid see nõuab palju rohkem fexc.c -faili redigeerimist ja nõuab vähemalt mõningaid teadmisi c. Teie veendumuste huvides jagan Sunxi-tools v1.4 fexc redigeeritud lähtekoodi, mis ei sisalda sõltuvust mman.h-st, koos koodblokkide projektifailiga ja näidisskriptiga.bin mõnelt oranžilt pi. Saate alla laadida fexc_nomman.zip

3) On võimalik, et järgnevates sunxi-tööriistade versioonides lisavad nad veel mõningaid sõltuvusi. Leidke need julgelt internetist ja lisage need oma koostamisprojekti.

5) Lõpuks on siin fexc.exe Win32 jaoks eelkompileeritud versioon:

fexc_nomman.zip

Kui olete piisavalt laisk, kasutage vabalt ver. Kuid olge ettevaatlik, et seda ei värskendata, kui/kui SunxiToolsi/Windowsi uuemad versioonid on saadaval. Nii et ma arvan, et parem on õppida nende koostamist kui sõltuda mõnest fikseeritud binaarsest ehitamisest.

4) "Orange PI", "Code:: Blocks", "Windows", "Linux", "Sunxi-Tools", "Allwinner" jne … on nende omanike vastavad kaubamärgid.

5) Kui teie kompilaator kurdab, et ei leia mman -funktsioone, näiteks:

määratlemata viide '_imp_mmap'

pidage meeles, et mmani arenduskogukonna armastajad on unustanud, et koodi saab kompileerida mitte ainult dll -raamatukoguna. See võib olla ka staatiline raamatukogu või eraldiseisev kood, nagu meil siin on. Probleemi lahendamiseks muutke faili "mman.h" järgmiselt.

a) leidke stringid:

#if määratletud (MMAN_LIBRARY)

#define MMANSHARED_EXPORT _declspec (dllexport) #else #define MMANSHARED_EXPORT _declspec (dllimport) #endif

b) lisage string

#define MMANSHARED_EXPORT

eelmises etapis leitud stringide all

Soovitan: