Turinys:
- 1 veiksmas: atsisiųskite „Sunxi-tools“
- 2 veiksmas: išpakuokite šaltinio kodą
- 3 veiksmas: atsisiųskite kodą:: blokai
- 4 žingsnis: išbandykite savo IDE
- 5 žingsnis: Užbaikite testą
- 6 veiksmas: sukurkite naują projektą
- 7 veiksmas: pridėkite failų prie projekto
- 8 veiksmas: paprašykite Gcc laikytis 1999 m. ISO C kalbos standarto
- 9 veiksmas: raskite trūkstamą priklausomybę
- 10 veiksmas: išpakuokite „Mman“
- 11 veiksmas: pridėkite juos prie projekto
- 12 žingsnis: teisingas kelias
- 13 žingsnis: egzorcizmas
- 14 žingsnis: PASTABOS
Video: „Orange PI HowTo“: sukompiliuokite „Sunxi“įrankį „Windows“sistemoje „Windows“: 14 žingsnių (su paveikslėliais)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
PRIEMONĖS:
Jums reikės
- (Stalinis) kompiuteris, kuriame veikia „Windows“.
- Interneto ryšys.
- Oranžinė PI plokštė.
Paskutinis yra neprivalomas, bet esu tikras, kad jūs jau turite. Priešingu atveju šios instrukcijos neskaitysite.
Perkant „Orange PI“vienos plokštės kompiuterį, jis lieka tik negyvo metalo gabalas, kol tinkamai sukonfigūruotas. Ir jo pagrindinis konfigūracijos failas: „script.bin“yra pirmasis raktas, leidžiantis jį atgaivinti. Šis failas yra įkrovos SD kortelės įkrovos skaidinyje. Laimei, daugelyje „Linux“platinimų iš oficialios svetainės (https://www.orangepi.org/downloadresources/) šis skaidinys yra FAT32 ir gali būti lengvai matomas bet kuriame „Windows“kompiuteryje. Tai tikrai supaprastina dalykus, nes vis dar nėra patikimo būdo įrašyti į „Linux ext2“skaidinius iš „Windows“.
Mums nepasisekė, kad „script.bin“konfigūracijos failo dvejetainis formatas yra visiškai nedraugiškas žmonių redagavimui. Norint iššifruoti ir sušifruoti atgal po būtinų pakeitimų, reikia tam tikros programinės įrangos. Ir toks įrankių rinkinys egzistuoja. Tai liūdnai pagarsėję SUNXI-TOOLS. Labai paprasta, kad jis skirtas veikti naudojant „Linux“, ir mes arba turime turėti tam skirtą „Linux“mašiną, kad galėtume naudoti tik „sunxi“įrankius, arba rasti būdą, kaip juos surinkti „Windows“.
Galėčiau tiesiog ją surinkti ir bendrinti vykdomąjį failą, tačiau niekada nežinoma, ar jie norėtų išleisti naują versiją, ir jums reikės kuo greičiau sukurti naują kompiliaciją. Taigi nusprendžiau parengti vadovą, kaip iš šaltinių surinkti esminę priemonę. Pradėkime.
1 veiksmas: atsisiųskite „Sunxi-tools“
Gaukite naujausią (arba būtiną) „sunxi-tools“šaltinio kodo versiją. Eikite į URL: https://github.com/linux-sunxi/sunxi-tools/releases ir pasirinkite atsisiųsti kaip ZIP archyvą.
2 veiksmas: išpakuokite šaltinio kodą
Kai atsisiuntimas bus baigtas, išpakuokite šaltinio kodą į pasirinktą aplanką. (toliau darysiu prielaidą, kad šis aplankas yra c: / sunxitools \, todėl pakeiskite šį kelią savo keliu).
3 veiksmas: atsisiųskite kodą:: blokai
Jei turite įdiegtą operacinio „c ++“kompiliatoriaus, skirto „Windows“, kopiją. ir jei žinote, kaip juo naudotis, galite tiesiogiai pereiti prie 3 veiksmo. Kiti turėtų gauti tinkamą „c ++“kompiliatorių ir apvalkalą (IDE), kad galėtų patogiai juo naudotis. Mano pasirinkimas yra kodas:: blokai „Windows“kartu su iš anksto įdiegta „MinGW“įrankių grandinė. Jį galite gauti čia:
Atsisiųskite ir įdiekite.
4 žingsnis: išbandykite savo IDE
Norėdami patikrinti, ar viskas gerai, paleiskite kodo blokavimą, spustelėkite „sukurti naują projektą“, pasirinkite „konsolės programa“, pasirinkite c arba c ++, įveskite kasos projekto pavadinimą, kitame lange nepamirškite numatytųjų ir spustelėkite „Baigti“.
5 žingsnis: Užbaikite testą
Tada viršutiniame IDE skydelyje spustelėkite žalią trikampį arba naudokite meniu „Build-> Run“tašką. Jei viskas pavyko teisingai, juodame „DOS“lange turėtumėte matyti pranešimą iš savo automatiškai sukurtos programos „Labas pasaulis“.
Jei ne, tai reiškia, kad IDE ir kompiliatorius neveikia tinkamai ir turėsite ištirti, kaip tai teisingai nustatyti. Tikriausiai turėsite atsisiųsti kitą programavimo įrankių versiją arba patikrinti jų leidimus užkardoje/antivirusinėje programinėje įrangoje.
6 veiksmas: sukurkite naują projektą
Dabar savo kompiuterio aplanke c: sunxitools turėtumėte turėti veikiantį C/C ++ programuotojo įrankių rinkinį ir neišpakuotus „sunxi-tools“šaltinio kodus. Atėjo laikas surinkti projektą. Sukurkite naują projektą savo IDE. Pasirinkite paprastą C (ne c ++) projektą „konsolės programa“.
Įsitikinkite, kad kuriate projektą aplanke c: sunxitools, o ne kitoje vietoje. (EG kodo blokai linkę sukurti poaplankį tokiu pačiu pavadinimu, kaip ir projektas. Taigi, jei pavadinote savo projektą, pasakykite „test“ir pabandykite įdėti jį į c: / sunxitools \, galite baigti projektą į c: / sunxitools / test / jei nesate pakankamai dėmesingas.) Sunxi įrankiuose yra keletas komunalinių paslaugų, tačiau mūsų tikslui mums reikės tik vienos: vadinamosios "fexc" priemonės.
7 veiksmas: pridėkite failų prie projekto
Tiksliai „fexc“programa yra atsakinga už scenarijaus.bin konvertavimą į teksto formatą ir už atgalinį konvertavimą į dvejetainį. Svarbu, kad šios programos vykdomoji programa būtų pavadinta „fexc.exe“, todėl gerai, jei savo projektą pavadinote „fexc“. Tačiau galite naudoti bet kurį kitą projekto pavadinimą, nes po kompiliacijos visada galite pervadinti vykdomąjį failą arba galite pasirinkti „Projektas-> Ypatybės“iš viršutinio išskleidžiamojo meniu ir pasirodžiusiame lange spustelėkite skirtuką „Sukurti tikslus“, ir ten redaguokite lauką „Išvesties failo pavadinimas“, kad nepaisytumėte vykdomojo failo pavadinimo.
Prie savo automatiškai sugeneruoto projekto turėtumėte pridėti tik penkis šaltinio failus:
- fexc.c
- scenarijus.c
- script_bin.c
- script_fex.c
- script_uboot.c
ir septyni antraštės failai:
- list.h (perkelkite jį iš formos c: / sunxitools / include / aplanką į c: / sunxitools / aplanką)
- fexc.h
- scenarijus.h
- script_bin.h
- script_fex.h
- script_uboot.h
- versija.h
Būtinai pašalinkite iš projekto automatiškai sukurtą main.c, nes fexc.c jau turi funkciją „int main“. (Atminkite, kad bet kuri programa turėtų atlikti tik vieną pagrindinę funkciją?).
Visi reikalingi šaltinio kodo failai jau yra pakatalogyje, į kurį išpakavote šaltinio kodus. Antraštės failai nusipelno poros žodžių, kur juos gauti. „list.h“- paprastai yra neišpakuotų šaltinių kodų rinkinio poaplankyje „include“. "version.h" - tiesiog sukurkite tai patys. Įdėkite tokią eilutę:
#define VERSIJA „Win32“
Tada išsaugokite ir uždarykite failą. (Jei norite, galite papuošti #define ir #ifdef.)
Jei dabar bandysite surinkti projektą, jis bus skundžiamasi dėl daugybės klaidų ir vieno trūkstamo failo. Klaidos dažniausiai kyla dėl šiek tiek per didelės stiliaus laisvės, „Sunxi-tools“programuotojai, kurie taikydavo, o trūkstamas failas yra priklausomybė, neįtraukta į šaltinio kodo paketą. Leiskite tai spręsti žingsnis po žingsnio.
8 veiksmas: paprašykite Gcc laikytis 1999 m. ISO C kalbos standarto
Kad kompiliatorius nesiskųstų pernelyg laisvu programavimo stiliumi, nustatykite kompiliacijos standartą „с99“. Kodo blokuose eikite į meniu „Projektas -> Sukurti parinktis“ir skiltyje „Kompiliatoriaus nustatymai -> Kompiliatoriaus vėliavos“pažymėkite žymimąjį laukelį „Ar gcc laikytis 1999 m. ISO C kalbos standarto“. Arba galite tiesiog pridėti „-std = c99“į savo kompiliatoriaus parinkčių eilutę. Dabar, jei bandysite kompiliuoti projektą, turėtų atsirasti daugybė klaidų, ir jūs esate vienas prieš vieną su trūkstama priklausomybe.
9 veiksmas: raskite trūkstamą priklausomybę
Trūkstama priklausomybė yra „mman.h“failas - tam tikros rūšies „Linux“atminties tvarkyklės antraštė. Iš pradžių „Windows C“tokio failo neturi, bet, laimei, yra „Windows“prievadas. Eikite į https://github.com/witwall/mman-win32, skirtą „Windows“. Atsisiųskite „git“saugyklos momentinę nuotrauką.
10 veiksmas: išpakuokite „Mman“
Išpakuokite failus mman.c ir mman.h, įdėkite juos į aplanką c: sunxitools \.
11 veiksmas: pridėkite juos prie projekto
12 žingsnis: teisingas kelias
Failo „fex.c“raplece eilutėje:
#įtraukti
į
#įtraukti „mman.h“
Šiame žingsnyje jūsų kompiliatorius neturėtų nieko skųstis ir kaip išvestį gausite ilgą laukimą fexc.exe. Nebūk laimingas per anksti. Naudingumas vis dar nėra visiškai funkcionalus. Tai galite užtikrinti iššifravę galiojantį „script.bin“failą į teksto formą - „script.fex“failą ir užšifravę „script.fex“failą atgal į „script.bin“. Galite pastebėti, kad gauto scenarijaus.bin dydis šiek tiek skiriasi nuo pradinio scenarijaus.bin dydžio. Ir jei dar kartą bandysite iššifruoti gautą rezultatą, tai nepavyks. Nei oranžinis PI neveiks su šiuo scenarijumi.bin. Norėdami gauti funkcinę naudą, turime išleisti kodinę bombą, kurią kažkas įdėjo į „sunxi-tools“šaltinio kodą. Tai bus kitas mūsų žingsnis.
13 žingsnis: egzorcizmas
Norėdami iškrauti kodinę bombą, atidarykite „fexc.c“kodo failą ir suraskite kito turinio teksto eilutę:
else if ((out = open (failo pavadinimas, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {
Tiesiog pakeiskite jį kita eilute:
else if ((out = open (failo pavadinimas, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {
Jei ne blogieji skaitmenys „666“pirmoje eilutėje, manau, kad koduotojas tiesiog pamiršo naudoti O_BINARY vėliavą. Tačiau „Žvėries numeris“skaidriai paaiškina jo ketinimus. Supraskite, koks tai išradingas: dėl nedidelio skirtumo, kaip failai apdorojami sistemoje „Windows“ir „Linux“, bomba neturi jokio poveikio, kai programa sukompiliuota ir naudojama naudojant „Linux“. Bet tai sugadina viską, kai programa naudojama „Windows“.
Po to, kai bomba buvo nuginkluota, pagaliau galite sukompiliuoti ir saugiai naudoti fexc įrankį savo „Windows“staliniame kompiuteryje.
14 žingsnis: PASTABOS
1) Norėdami patogiai naudotis fexc programa, turėtumėte gauti du paketinius failus:
bin2fex.bat - ir - fex2bin.bat.
Galite juos gauti iš kai kurių „faily fexc.exe“versijų, skirtų „Windows“, arba galite jas įvesti patys:
- „bin2fex.bat“turėtų būti „fexc -I bin -O fex script.bin script.fex“
- fex2bin.bat turi būti "fexc -O bin -I fex script.fex script.bin"
2) Jei sunku rasti „Windows“skirtą „mman“tvarkyklę, galite visiškai išvengti jos naudojimo. Tačiau reikia daug daugiau redaguoti fexc.c failą ir reikia bent šiek tiek žinių apie c. Jūsų įsitikinimui dalinuosi redaguotu „fexc“šaltinio kodu iš „sunxi-tools v1.4“be priklausomybės nuo „mman.h“, kartu su „codeblocks“projekto failu ir su scenarijaus pavyzdžiu. Galite atsisiųsti fexc_nomman.zip
3) Gali būti, kad vėlesnėse „Sunxi“įrankių versijose jie pridės dar keletą priklausomybių. Nesivaržykite jų rasti internete ir įtraukti į savo kompiliacijos projektą.
5) Galiausiai čia yra iš anksto sukompiliuota „fexc.exe“versija, skirta „Win32“:
fexc_nomman.zip
Jei esate pakankamai tingus, nedvejodami naudokite ver. Tačiau saugokitės, kad jis nebus atnaujintas, jei/kada bus prieinamos naujesnės „SunxiTools“/„Windows“versijos. Taigi manau, kad geriau išmokti juos surinkti, nei priklausyti nuo tam tikros fiksuotos dvejetainės konstrukcijos.
4) „Oranžinis PI“, „Code:: Blocks“, „Windows“, „Linux“, „Sunxi-Tools“, „Allwinner“ir tt… yra atitinkamų jų savininkų prekių ženklai.
5) Jei kompiliatorius skundžiasi neradęs mman funkcijų, tokių kaip:
neapibrėžta nuoroda į „_imp_mmap“
atminkite, kad „mman“plėtros bendruomenės mėgėjai pamiršo, kad kodą galima surinkti ne tik kaip „DLL“biblioteką. Tai taip pat gali būti statinė biblioteka arba atskiras kodas, kokį turime čia. Norėdami išspręsti problemą, redaguokite „mman.h“failą taip:
a) raskite eilutes:
#if apibrėžta (MMAN_LIBRARY)
#define MMANSHARED_EXPORT _declspec (dllexport) #else #define MMANSHARED_EXPORT _declspec (dllimport) #endif
b) pridėkite eilutę
#define MMANSHARED_EXPORT
tik žemiau eilučių, rastų ankstesniame žingsnyje
Rekomenduojamas:
Kaip apsaugoti „Flash“įrenginius slaptažodžiu sistemoje „Windows 10“: 16 žingsnių
Kaip apsaugoti „Flash“įrenginius slaptažodžiu sistemoje „Windows 10“: vis labiau populiarėjant debesies saugykloms, tokioms kaip „Google“diskas, vienas diskas ir „Dropbox“, „flash“diskų populiarumas mažėja. Tačiau vis dar yra tam tikrų „flash“diskų pranašumų, palyginti su saugykla debesyje. Kai kurie iš jų apima prieigą prie
„Microsoft Office“taisymas sistemoje „Windows 10“: 11 žingsnių
„Microsoft Office“taisymas sistemoje „Windows 10“: Klientų sistemų technikui labai svarbu mokėti analitiškai mąstyti ir išspręsti įprastas kompiuterio problemas, su kuriomis kasdien gali susidurti daugelis vartotojų! Turėsite išklausyti vartotoją, suprasti, kokią problemą jie bando išspręsti
Kaip pakeisti belaidžio adapterio pavadinimą sistemoje „Windows 8/10“: 10 žingsnių
Kaip pakeisti belaidžio adapterio pavadinimą sistemoje „Windows 8/10“: norite sužavėti savo draugus? Norite, kad jie pasakytų „Oho! Kaip tu tai padarei? &Quot;. Gerai perskaitykite šią instrukciją ir netrukus sulauksite nuostabių reakcijų
„Orange PI HowTo“: nustatykite jį naudoti su 5 colių HDMI TFT LCD ekranu: 8 žingsniai (su paveikslėliais)
„Orange PI HowTo“: nustatykite jį naudoti su 5 colių HDMI TFT LCD ekranu: jei buvote pakankamai apdairus užsisakyti HDMI TFT LCD ekraną kartu su „Orange PI“, tikriausiai jus atgrasina sunkumai bandant priversti jį veikti . Nors kiti net negalėjo pastebėti jokių kliūčių. Svarbiausia, kad yra
„Raspberry Pi Bluetooth“į „PuTTY“sistemoje „Windows 10“: 3 žingsniai (su paveikslėliais)
„Raspberry Pi Bluetooth“į „PuTTY“sistemoje „Windows 10“: „Raspberry Pi 3 B“ir „Raspberry Pi Zero W“turi „Bluetooth“funkciją. Galite atlaisvinti nuoseklųjį prievadą tokiems dalykams kaip GPS įrenginys, vietoj to sukonfigūruodami „Bluetooth“siųstuvą -imtuvą visam prieigai prie apvalkalo. Patrickas Hundalis parašė puikų kūrinį