Sisällysluettelo:

Orange PI HowTo: Käännä Sunxi -työkalu Windowsille Windowsissa: 14 vaihetta (kuvilla)
Orange PI HowTo: Käännä Sunxi -työkalu Windowsille Windowsissa: 14 vaihetta (kuvilla)

Video: Orange PI HowTo: Käännä Sunxi -työkalu Windowsille Windowsissa: 14 vaihetta (kuvilla)

Video: Orange PI HowTo: Käännä Sunxi -työkalu Windowsille Windowsissa: 14 vaihetta (kuvilla)
Video: ৎ˚₊✩‧₊Everything I Knit & Crocheted in 2023₊✩‧₊˚౨ 2024, Marraskuu
Anonim
Oranssi PI HowTo: Käännä Sunxi -työkalu Windowsille Windowsissa
Oranssi PI HowTo: Käännä Sunxi -työkalu Windowsille Windowsissa

EDELLYTYKSET:

Tarvitset

  1. (Pöytätietokone), jossa on Windows.
  2. Internet -yhteys.
  3. Oranssi PI -levy.

Viimeinen on valinnainen, mutta olen varma, että sinulla on jo se. Muuten et lue tätä ohjeistusta.

Kun ostat Orange PI -yksityiskorttitietokoneen, se pysyy vain kuolleena metallina, kunnes se on määritetty oikein. Ja sen tärkein kokoonpanotiedosto: "script.bin" on ensimmäinen avain, joka saa sen eloon. Tämä tiedosto sijaitsee käynnistettävän SD -kortin käynnistysosiossa. Ja onneksi meille, useimmissa virallisilla verkkosivuilla (https://www.orangepi.org/downloadresources/) olevissa Linux -jakeluissa tämä osio on FAT32 ja se näkyy helposti missä tahansa Windows -tietokoneessa. Se todella yksinkertaistaa asioita, koska ei vieläkään ole luotettavaa tapaa kirjoittaa Linuxin ext2 -osioihin Windowsin alta.

Onnekas meille, että script.bin -määritystiedoston binaarimuoto on täysin epäystävällinen ihmisten muokkaamiseen. Tarvitaan jonkinlainen ohjelmistotyökalu sen salauksen purkamiseksi ja salaamiseksi takaisin tarvittavien muutosten jälkeen. Ja tällainen työkalusarja on olemassa. Se on surullisen kuuluisa SUNXI-TOOLS. Ongelma on siinä, että se on tarkoitettu käytettäväksi Linux-käyttöjärjestelmässä, ja meidän on joko pidettävä erillinen Linux-kone vain Sunxi-työkalujen käyttöä varten tai löydettävä tapa koota ne Windowsille.

Voisin yksinkertaisesti koota sen ja jakaa suoritettavan tiedoston, mutta koskaan ei tiedä, haluavatko he tehdä uuden julkaisun, ja tarvitset uuden kokoelman ASAP. Joten päätin tehdä oppaan, kuinka koota olennainen työkalu lähteistä. Aloitetaan.

Vaihe 1: Lataa Sunxi-työkalut

Lataa Sunxi-tools
Lataa Sunxi-tools
Lataa Sunxi-tools
Lataa Sunxi-tools

Hanki sunxi-tools-lähdekoodin uusin (tai välttämätön) versio. Siirry osoitteeseen: https://github.com/linux-sunxi/sunxi-tools/releases ja lataa se zip-arkistona.

Vaihe 2: Pura lähdekoodi

Pura lähdekoodi
Pura lähdekoodi

Kun lataus on valmis, pura lähdekoodi valitsemasi kansioon. (oletan lisäksi, että tämä kansio on c: / sunxitools \, joten korvaa tämä polku omalla polulla).

Vaihe 3: Lataa koodi:: lohkot

Lataa koodi:: lohkot
Lataa koodi:: lohkot

Jos sinulla on asennettu kopio toiminnallisesta c ++ - kääntäjästä Windowsille. ja jos osaat käyttää sitä, voit siirtyä suoraan vaiheeseen 3. Muiden tulisi hankkia asianmukainen c ++ -kääntäjä ja kuori (IDE), jotta sitä voidaan käyttää mukavasti. Valintani on koodi:: lohkot Windowsille sekä esiasennettu MinGW -työkaluketju. Saat sen täältä:

Lataa ja asenna se.

Vaihe 4: Testaa IDE

Testaa IDE
Testaa IDE

Testaa, toimiiko kaikki hyvin, käynnistä koodilukot, napsauta "luo uusi projekti", valitse "konsolisovellus", valitse joko c tai c ++, kirjoita kassaprojektin nimi, pidä oletusasetukset koskemattomina seuraavassa ikkunassa ja napsauta "Valmis" ".

Vaihe 5: Suorita testi

Täydellinen testi
Täydellinen testi

Napsauta sitten vihreää kolmiota IDE: n yläpaneelissa tai käytä Build-> Run -valikkopistettä. Jos asiat menivät oikein Sinun pitäisi nähdä viesti automaattisesti luodusta "Hello world" -sovelluksestasi mustassa "DOS" -ikkunassa.

Jos ei, se tarkoittaa, että IDE ja kääntäjä eivät toimi kunnolla, ja sinun on tutkittava, miten se asetetaan oikein. Todennäköisesti sinun on ladattava toinen versio ohjelmointityökaluista tai tarkistettava niiden käyttöoikeudet palomuurissa/virustentorjuntaohjelmistossa.

Vaihe 6: Luo uusi projekti

Luo uusi projekti
Luo uusi projekti
Luo uusi projekti
Luo uusi projekti
Luo uusi projekti
Luo uusi projekti
Luo uusi projekti
Luo uusi projekti

Nyt sinulla pitäisi olla toimiva C/C ++ -ohjelmoijan työkalupakki ja pakkaamattomat sunxi-tools-lähdekoodit tietokoneen c: / sunxitools / -kansiossa. On aika koota projekti. Luo uusi projekti IDE: si. Valitse pelkkä C (ei c ++) "konsolisovellus" -tyyppinen projekti.

Varmista, että luot projektin c: / sunxitools / -kansioon etkä muualle. (EG -koodilohkoilla on taipumus tehdä alikansio, jolla on sama nimi kuin projektilla. Joten jos olet antanut projektillesi nimen, sano "testi" ja yritä sijoittaa se c: / sunxitools \, saatat päätyä siihen, että projekti on mennyt c: / sunxitools / test / jos et ole tarpeeksi tarkkaavainen.) Sunxi-työkalut sisältävät useita apuohjelmia, mutta tarvitsemme vain yhtä: ns. "fexc" -apuohjelmaa.

Vaihe 7: Lisää tiedostoja projektiin

Lisää tiedostoja projektiin
Lisää tiedostoja projektiin

Täsmälleen "fexc" -apuohjelma vastaa script.binin muuntamisesta tekstimuotoon ja takaisinmuunnoksesta binaariksi. On välttämätöntä, että tämän apuohjelman suoritustiedoston nimi on "fexc.exe", joten on hyvä, jos olet antanut projektillesi nimen "fexc". Voit kuitenkin käyttää mitä tahansa muuta projektin nimeä, koska voit aina nimetä suoritettavan tiedoston kokoamisen jälkeen tai joko valita "Projekti-> Ominaisuudet" ylhäältä avattavasta valikosta ja napsauttaa avautuvassa ikkunassa "Rakenna kohteita" -välilehteä, ja muokkaa siellä "Output filename" -kenttää ohittaaksesi suoritettavan nimen.

Automaattisesti luotuun projektiin Lisää vain viisi lähdetiedostoa:

  • fexc.c
  • käsikirjoitus. c
  • script_bin.c
  • script_fex.c
  • script_uboot.c

ja seitsemän otsikkotiedostoa:

  • list.h (siirrä se muodossa c: / sunxitools / include / kansio kansioon c: / sunxitools / kansio)
  • fexc.h
  • käsikirjoitus. h
  • script_bin.h
  • script_fex.h
  • script_uboot.h
  • versio. h

Muista sulkea pois automaattisesti luotu main.c projektista, koska fexc.c: ssä on jo "int main" -toiminto. (Muista, että millä tahansa ohjelmalla pitäisi olla vain yksi päätoiminto?).

Kaikki tarvittavat lähdekooditiedostot ovat jo alikansiossa, johon olet purkanut lähdekoodit. Otsikkotiedostot ansaitsevat pari sanaa, mistä ne saa. "list.h" - on yleensä pakkaamattomien lähdekoodijoukon "include" -kansioissa. "version.h" - luo se itse. Laita siihen jono, kuten:

#define VERSIO "Win32"

Tallenna ja sulje tiedosto. (Voit halutessasi koristella sen #define's- ja #ifdef's -merkeillä.)

Jos yrität nyt kääntää projektin, se valittaa paljon virheistä ja yhdestä puuttuvasta tiedostosta. Virheet johtuvat enimmäkseen hiukan liiallisesta tyylivapaudesta, sunxi-tools-ohjelmoijista, joita käytettiin, ja puuttuva tiedosto on riippuvuus, joka ei sisälly lähdekoodipakettiin. Käsitellään tätä askel askeleelta.

Vaihe 8: Pyydä Gcc: tä noudattamaan vuoden 1999 ISO C -kielistandardia

Pyydä Gcc noudattamaan vuoden 1999 ISO C kielistandardia
Pyydä Gcc noudattamaan vuoden 1999 ISO C kielistandardia

Jotta kääntäjä ei valittaisi liian vapaata ohjelmointityyliä, aseta kokoelman "с99" -standardi. Siirry koodilohkoissa "Projekti -> Koontivaihtoehdot" -valikkoon ja valitse "Kääntäjäasetukset -> Kääntäjäliput" -valintaruutu "Pyydä gcc: tä noudattamaan vuoden 1999 ISO C -kielistandardia". Tai voit vain lisätä "-std = c99" kääntäjäasetusten merkkijonoon. Nyt jos yrität kääntää projektin, näiden tonnien virheiden pitäisi syntyä ja olet yksi yhteen puuttuvan riippuvuuden kanssa.

Vaihe 9: Etsi puuttuva riippuvuus

Etsi puuttuva riippuvuus
Etsi puuttuva riippuvuus

Puuttuva riippuvuus on "mman.h" -tiedosto - jonkinlaisen Linux -muistinhallinnan otsikko. Windows C: llä ei ole tällaista tiedostoa, mutta onneksi siinä on Windows -portti. Siirry osoitteeseen https://github.com/witwall/mman-win32 (Windows). Lataa tilannevedos git -arkistosta.

Vaihe 10: Pura Mman pakkauksestaan

Pura Mman pakkauksesta
Pura Mman pakkauksesta

Pura tiedostot mman.c ja mman.h, aseta ne c: / sunxitools / -kansioon.

Vaihe 11: Ja lisää ne projektiin

Ja lisää ne projektiin
Ja lisää ne projektiin

Vaihe 12: Oikea polku

Oikea polku
Oikea polku

Ja tiedostossa "fex.c" raplece -rivi:

#sisältää

kohteeseen

#Sisällytä "mman.h"

Tässä vaiheessa kääntäjäsi ei pitäisi valittaa mitään, ja saat tulostina pitkän odotuksen fexc.exe. Älä ole onnellinen liian aikaisin. Apuohjelma ei edelleenkään ole täysin toimiva. Voit varmistaa tämän purkamalla jonkin voimassa olevan script.bin -tiedoston salauksen tekstimuodossa - script.fex -tiedostona ja salaamalla sen jälkeen script.fex -tiedoston takaisin script.bin -tiedostoon. Saatat huomata, että tuloksena olevan script.bin koko eroaa hieman alkuperäisen script.bin -koosta. Ja jos yrität purkaa tuloksen uudelleen, se epäonnistuu. Kumpikaan Orange PI ei toimi tämän komentosarjan kanssa.bin. Saadaksemme toiminnallisen apuohjelman meidän on purettava koodipommi, jonka joku on laittanut sunxi-tools-lähdekoodiin. Se on seuraava askel.

Vaihe 13: Exorcismi

Exorcismi
Exorcismi

Koodipommin purkamiseksi avaa fexc.c -kooditiedosto ja etsi sieltä seuraavan sisällön tekstimerkkijono:

muuten jos ((ulos = auki (tiedostonimi, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {

Korvaa se vain seuraavalla merkkijonolla:

muuten jos ((out = open (tiedostonimi, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {

Jos ei ensimmäisessä merkkijonossa olevia pahoja numeroita "666", luulisin, että kooderi on juuri unohtanut käyttää O_BINARY -lippua. Mutta pedon numero selventää hänen aikomuksiaan läpinäkyvästi. Ota selvää, kuinka nerokas se on: koska tiedostojen käsittelyssä Windowsissa ja Linuxissa on pieni ero, pommilla ei ole vaikutusta, kun apuohjelma kootaan ja käytetään Linuxissa. Mutta se pilaa kaiken, kun apuohjelmaa käytetään Windowsissa.

Kun pommi on poistettu käytöstä, voit vihdoin kääntää ja käyttää turvallisesti fexc -apuohjelmaa Windows -pöytätietokoneessasi.

Vaihe 14: HUOMAUTUKSET

HUOMAUTUKSIA
HUOMAUTUKSIA

1) Jos haluat käyttää fexc -apuohjelmaa mukavasti, sinun pitäisi saada kaksi erätiedostoa:

bin2fex.bat - ja - fex2bin.bat.

Voit saada ne jostain faily fexc.exe -versiosta Windowsille siellä tai voit kirjoittaa ne itse:

  • bin2fex.bat sisältää "fexc -I bin -O fex script.bin script.fex"
  • fex2bin.bat tulisi sisältää "fexc -O bin -I fex script.fex script.bin"

2) Jos mman -hallintaohjelman löytäminen Windowsille on vaikeaa, sen käyttöä voidaan välttää. Se vaatii kuitenkin paljon enemmän fexc.c -tiedoston muokkaamista ja vaatii ainakin jonkin verran tietoa c. Varmuuden vuoksi jaan sunxi-tools v1.4: n fexc: n muokatun lähdekoodin, joka ei ole riippuvainen mman.h: sta, yhdessä koodilohkojen projektitiedoston ja esimerkkiskriptin.bin kanssa oranssista pi: stä. Voit ladata fexc_nomman.zip

3) On mahdollista, että sunxi-työkalujen myöhemmissä versioissa ne lisäävät joitakin riippuvuuksia. Voit vapaasti löytää ne Internetistä ja lisätä ne kokoamisprojektiisi.

5) Lopuksi tässä on esipakattu versio fexc.exe -versiosta Win32:

fexc_nomman.zip

Jos olet tarpeeksi laiska, käytä vapaasti ver. Varo kuitenkin, että sitä ei päivitetä, jos/kun SunxiToolsin/Windowsin uudemmat versiot ovat saatavilla. Joten on parempi oppia kääntämään ne kuin luottaa johonkin kiinteään binäärikokoonpanoon, oletan.

4) "Orange PI", "Code:: Blocks", "Windows", "Linux", "Sunxi-Tools", "Allwinner" jne … ovat omistajiensa vastaavia tavaramerkkejä.

5) Jos kääntäjäsi valittaa, ettei löydä mman -toimintoja, kuten:

määrittelemätön viittaus '_imp_mmap'

Huomaa, että mman -kehitysyhteisön ystävät ovat unohtaneet, että koodi voidaan koota paitsi dll -kirjastoksi. Se voi olla myös staattinen kirjasto tai erillinen koodi, kuten meillä on täällä. Korjaa ongelma muokkaamalla "mman.h" -tiedostoa seuraavasti:

a) etsi merkkijonot:

#if määritetty (MMAN_LIBRARY)

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

b) lisää merkkijono

#define MMANSHARED_EXPORT

juuri edellisessä vaiheessa olevien merkkijonojen alapuolella

Suositeltava: