Cuprins:
- Pasul 1: Descărcați instrumentele Sunxi
- Pasul 2: dezarhivați codul sursă
- Pasul 3: Descărcați Codul:: blocuri
- Pasul 4: testați IDE-ul
- Pasul 5: Finalizați testul
- Pasul 6: Creați un proiect nou
- Pasul 7: Adăugați fișiere la proiect
- Pasul 8: Solicitați Gcc să respecte standardul de limbă ISO C din 1999
- Pasul 9: Găsiți dependența care lipsește
- Pasul 10: Despachetați Mman
- Pasul 11: Și adăugați-le la proiect
- Pasul 12: Calea corectă
- Pasul 13: Exorcism
- Pasul 14: NOTE
Video: Orange PI HowTo: Compilați instrumentul Sunxi pentru Windows sub Windows: 14 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
PRECIZITĂȚI:
Vei avea nevoie
- Un computer (desktop) care rulează Windows.
- O conexiune la Internet.
- O placă Orange PI.
Ultimul este opțional, dar sunt sigur că îl aveți deja. În caz contrar, nu veți citi acest lucru instructiv.
Când cumpărați computerul cu o singură placă Orange PI, acesta rămâne doar o bucată de metal mort până când este configurat corect. Și fișierul său principal de configurare: „script.bin” este prima cheie care îl aduce în viață. Acest fișier se află în partiția de boot a cardului SD bootabil. Și din fericire pentru noi, în majoritatea distribuțiilor Linux de pe site-ul oficial (https://www.orangepi.org/downloadresources/) această partiție este FAT32 și poate fi văzută cu ușurință de orice computer Windows. Simplifică într-adevăr lucrurile, deoarece nu există încă o modalitate fiabilă de a scrie în partițiile Linux ext2 de sub Windows.
Din nefericire pentru noi, fișierul de configurare script.bin are un format binar complet neprietenos pentru editare umană. Este nevoie de un fel de instrument software pentru a-l decripta și a cripta înapoi după ce au fost făcute modificările necesare. Și un astfel de set de instrumente există. Este infam SUNXI-TOOLS. Mersul în unguent este că este destinat să ruleze sub Linux și fie trebuie să păstrăm o mașină Linux dedicată doar pentru a folosi sunxi-tools, fie pentru a găsi o modalitate de a le compila pentru Windows.
Aș putea pur și simplu să-l compilez și să împart executabilul, dar nu se știe niciodată dacă ar dori să facă o nouă versiune și veți avea nevoie de o nouă compilație cât mai curând posibil. Așa că am decis să fac un ghid pentru a compila instrumentul esențial din surse. Să începem.
Pasul 1: Descărcați instrumentele Sunxi
Obțineți cea mai recentă (sau necesară) versiune a codului sursă sunxi-tools. Accesați adresa URL: https://github.com/linux-sunxi/sunxi-tools/releases și alegeți să descărcați ca arhivă zip.
Pasul 2: dezarhivați codul sursă
Odată ce descărcarea s-a încheiat, dezarhivați codul sursă în dosarul la alegere. (în continuare, voi presupune că acest folder este c: / sunxitools \, deci înlocuiți această cale cu calea proprie).
Pasul 3: Descărcați Codul:: blocuri
Dacă aveți o copie instalată a unui compilator c ++ operațional pentru Windows. și dacă știți cum să îl utilizați, puteți trece direct la pasul 3. Alții ar trebui să obțină un compilator c ++ adecvat și un shell (IDE) pentru al utiliza confortabil. Alegerea mea este code:: blocks pentru Windows, împreună cu lanțul de instrumente MinGW preinstalat. O puteți obține de aici:
Descărcați-l și instalați-l.
Pasul 4: testați IDE-ul
Pentru a testa dacă lucrurile merg bine, porniți coduri, faceți clic pe „creați un proiect nou”, alegeți „aplicație consolă”, alegeți c sau c ++, tastați titlul proiectului de verificare, păstrați valorile implicite neatinse în fereastra următoare și faceți clic pe „terminați”.
Pasul 5: Finalizați testul
Apoi faceți clic pe un triunghi verde pe panoul superior al IDE sau utilizați punctul de meniu Build-> Run. Dacă lucrurile au mers bine, ar trebui să vedeți un mesaj din aplicația dvs. „Hello world” autogenerată în fereastra neagră „DOS”.
Dacă nu, înseamnă că IDE și compilatorul nu funcționează corect și va trebui să investigați cum să o setați corect. Probabil va trebui să descărcați o altă versiune a instrumentelor de programare sau să verificați permisiunile acestora în firewall-ul / software-ul antivirus.
Pasul 6: Creați un proiect nou
Acum ar trebui să aveți un set de instrumente de programare C / C ++ operațional și codurile sursă sunxi-tools neambalate în folderul c: / sunxitools / de pe computer. Este timpul să asamblați un proiect. Creați un proiect nou în IDE-ul dvs. Alegeți proiectul simplu C (nu c ++) de tipul „aplicației consolă”.
Asigurați-vă că creați proiectul în folderul c: / sunxitools / și nu în alt loc. (Blocurile de cod EG tind să creeze un subfolder cu același nume ca și proiectul. Deci, dacă ați numit proiectul dvs., spuneți „testați” și încercați să-l plasați în c: / sunxitools \, puteți termina cu proiectul plecat la c: / sunxitools / test / dacă nu sunteți suficient de atent.) Sunxi-tools conține mai multe utilități, dar pentru scopul nostru vom avea nevoie doar de unul: așa-numitul utilitar „fexc”.
Pasul 7: Adăugați fișiere la proiect
Exact utilitarul „fexc” este responsabil pentru conversia script.bin în format text și pentru conversia din spate în binar. Este esențial ca executabilul acestui utilitar să aibă numele „fexc.exe”, deci este bine dacă ați numit proiectul dvs. „fexc”. Cu toate acestea, puteți utiliza orice alt nume al proiectului, deoarece puteți redenumi întotdeauna executabilul după compilare sau puteți alege „Proiect-> Proprietăți” din meniul derulant de sus și în fereastra care apare faceți clic pe fila „Construiți ținte”, și editați câmpul „Numele fișierului de ieșire” acolo pentru a înlocui numele executabilului.
La proiectul dvs. autogenerat ar trebui să adăugați doar cinci fișiere sursă:
- fexc.c
- script.c
- script_bin.c
- script_fex.c
- script_uboot.c
și șapte fișiere antet:
- list.h (mutați-l din formularul c: / sunxitools / include / folder în folderul c: / sunxitools)
- fexc.h
- script.h
- script_bin.h
- script_fex.h
- script_uboot.h
- version.h
Asigurați-vă că excludeți main.c autogenerat din proiect, deoarece fexc.c are deja funcția "int main". (Amintiți-vă că orice program ar trebui să aibă o singură funcție principală?).
Toate fișierele de cod sursă necesare sunt deja în subfolder, unde ați despachetat codurile sursă. Fișierele antet merită o pereche de cuvinte, de unde să le obțineți. „list.h” - este de obicei în subfolderul „include” al setului de coduri surse neambalate. „version.h” - creați-l singur. Puneți acolo un șir de genul:
#define VERSIUNEA "Win32"
Apoi salvați și închideți fișierul. (Puteți să-l decorați cu # define's și # ifdef's dacă doriți.)
Dacă acum încercați să compilați proiectul, acesta se va plânge de multe erori și un fișier lipsă. Erorile se datorează în mare parte un pic de libertate excesivă a stilului, programatorilor sunxi-tools li se aplicau, iar fișierul lipsă este dependența care nu este inclusă în pachetul codului sursă. Să ne ocupăm de acest pas cu pas.
Pasul 8: Solicitați Gcc să respecte standardul de limbă ISO C din 1999
Pentru ca compilatorul să nu se plângă de stilul de programare prea liber, setați standardul „с99” al compilației. În blocuri de cod, accesați meniul „Proiect -> Opțiuni de construcție” și în „Setări compilator -> Semnalizatoare compilator” bifați caseta de selectare „Să aibă gcc să respecte standardul de limbă ISO C 1999”. Sau puteți doar să adăugați „-std = c99” în șirul de opțiuni al compilatorului dvs. Acum, dacă încercați să compilați proiectul, ar trebui să înceapă acele tone de erori și sunteți unul la unu cu lipsa dependenței.
Pasul 9: Găsiți dependența care lipsește
Dependența lipsă este fișierul „mman.h” - antetul unui fel de manager de memorie Linux. Windows C nu are în mod nativ un astfel de fișier, dar din fericire există un port Windows al acestuia. Accesați https://github.com/witwall/mman-win32 pentru Windows. Descărcați instantaneul depozitului git.
Pasul 10: Despachetați Mman
Despachetați fișierele mman.c și mman.h, plasați-le în folderul c: / sunxitools \.
Pasul 11: Și adăugați-le la proiect
Pasul 12: Calea corectă
Și în fișierul "fex.c" linia raplece:
#include
la
#include "mman.h"
În acest pas, compilatorul dvs. nu ar trebui să se plângă de nimic și veți obține lunga așteptare fexc.exe ca ieșire. Nu fi fericit prea devreme. Utilitatea încă nu este pe deplin funcțională. Puteți asigura acest lucru decriptând un fișier script.bin valid în formularul text - fișier script.fex, cu criptarea corespunzătoare a fișierului script.fex înapoi în script.bin. Puteți observa că dimensiunea script-ului rezultat diferă ușor de dimensiunea script-ului original.bin. Și dacă încercați să decriptați din nou rezultatul, acesta va eșua. Nici Orange PI nu va funcționa cu acest script.bin. Pentru a obține utilitatea funcțională, trebuie să descărcăm o bombă de cod, pe care cineva a pus-o în codul sursă sunxi-tools. Va fi următorul nostru pas.
Pasul 13: Exorcism
Pentru a descărca codul bomba, deschideți fișierul de cod fexc.c și găsiți acolo un șir de text al conținutului următor:
else if ((out = deschis (nume de fișier, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {
Doar înlocuiți-l cu următorul șir:
else if ((out = open (nume de fișier, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {
Dacă nu cifrele malefice „666” din primul șir, aș crede că codificatorul tocmai a uitat să folosească steagul O_BINARY. Dar Numărul fiarei își clarifică intențiile în mod transparent. Gândiți-vă, cât de ingenios este: datorită diferenței subtile în modul în care fișierele sunt procesate în Windows și Linux, bomba nu are efect atunci când utilitarul este compilat și utilizat sub Linux. Dar distruge totul atunci când utilitarul este utilizat sub Windows.
După ce bomba a fost dezarmată, puteți compila și utiliza în siguranță utilitarul fexc de pe computerul dvs. Windows.
Pasul 14: NOTE
1) Pentru a utiliza confortabil utilitarul fexc, ar trebui să primiți două fișiere batch:
bin2fex.bat - și - fex2bin.bat.
Puteți să le obțineți dintr-o construcție fexc.exe nereușită pentru Windows sau puteți să le tastați:
- bin2fex.bat ar trebui să conțină „fexc -I bin -O fex script.bin script.fex”
- fex2bin.bat ar trebui să conțină „fexc -O bin -I fex script.fex script.bin”
2) Dacă este dificil să găsiți managerul mman pentru Windows, puteți evita utilizarea acestuia. Cu toate acestea, este nevoie de mult mai multă editare a fișierului fexc.c și necesită cel puțin unele cunoștințe despre c. Pentru convingerea dvs., vă împărtășesc codul sursă editat al fexc din sunxi-tools v1.4, gratuit din dependența de la mman.h, împreună cu fișierul de proiect codeblocks și cu exemplul script.bin din unele pi portocalii. Puteți descărca fexc_nomman.zip
3) Este posibil ca în versiunile consecvente ale sunxi-tools să adauge câteva dependențe. Simțiți-vă liber să le găsiți pe internet și să le adăugați la proiectul dvs. de compilare.
5) În cele din urmă, iată versiunea precompilată a fexc.exe pentru Win32:
fexc_nomman.zip
Dacă sunteți suficient de leneși, nu ezitați să folosiți ver. Cu toate acestea, aveți grijă că nu va fi actualizat dacă / când vor fi disponibile versiunile mai noi de SunxiTools / Windows. Deci, este mai bine să învățăm cum să le compilăm decât să depindem de o construcție binară fixă, presupun.
4) „Orange PI”, „Code:: Blocks”, „Windows”, „Linux”, „Sunxi-Tools”, „Allwinner”, etc … sunt mărci comerciale corespondente ale proprietarilor respectivi.
5) Dacă compilatorul se plânge că nu găsește funcții mman, cum ar fi:
referință nedefinită la „_imp_mmap”
fiți conștienți că definiți iubitorii comunității de dezvoltare mman au uitat că codul poate fi compilat nu numai ca bibliotecă dll. Poate fi, de asemenea, o bibliotecă statică sau un cod independent, așa cum avem noi aici. Pentru a remedia problema, editați fișierul „mman.h” după cum urmează:
a) găsiți șirurile:
#if definit (MMAN_LIBRARY)
#define MMANSHARED_EXPORT _declspec (dllexport) #else #define MMANSHARED_EXPORT _declspec (dllimport) #endif
b) adăugați șirul
#define MMANSHARED_EXPORT
chiar sub șirurile găsite la pasul anterior
Recomandat:
D4E1: Instrumentul de citire 2.0 (Procesul de producție de bază): 9 pași (cu imagini)
D4E1: Instrumentul de citire 2.0 (Procesul de producție de bază): Informații: - Doi studenți Design industrial de produse din Kortrijk (Belgia) au venit cu acest instrument de citire. Am început pe baza unui design existent și l-am dezvoltat într-un alt design. Instrumentul de citire a fost inițial dezvoltat pentru un cli ë nt
Kahoot! Instrumentul Web 2.0 - Instrucțiuni de realizare a testelor pentru profesori: 10 pași
Kahoot! Instrumentul Web 2.0 - Instrucțiuni pentru crearea de teste pentru profesori: Următorul Instructable este destinat să le arate profesorilor cum să utilizeze funcția de testare pentru instrumentul Web 2.0, Kahoot! Kahoot! poate fi folosit ca instrument de joc digital pentru revizuirea și evaluarea cunoștințelor de conținut ale elevilor la diferite discipline și la mai multe
Orange PI HowTo: configurați-l pentru utilizare cu un afișaj LCD TFT HDMI de 5 ": 8 pași (cu imagini)
Orange PI HowTo: configurați-l pentru a fi utilizat cu un afișaj LCD TFT HDMI de 5 ": Dacă ați fost suficient de prudent pentru a comanda un afișaj LCD TFT HDMI împreună cu Orange PI, probabil că sunteți descurajat de dificultățile în încercarea de a-l forța să funcționeze … În timp ce alții nu ar putea observa niciun obstacol. Cheia este că există la
Orange PI HowTo: configurați-l pentru a fi utilizat cu afișajul auto și cu adaptorul HDMI la RCA: 15 pași
Orange PI HowTo: configurați-l pentru a fi utilizat cu afișajul auto din spate și adaptorul HDMI la RCA: FOREWORD. Se pare că fiecare altul folosește un televizor sau un monitor mare sau chiar mai mare cu o placă prostie Orange PI. Și pare un pic excesiv atunci când este destinat sistemelor încorporate. Aici avem nevoie de ceva mic și ceva ieftin. Ca un
Cum se folosește instrumentul Snipping pe Windows 7: 7 Pași
Cum se utilizează instrumentul de tăiere pe Windows 7: Deschideți fereastra pentru care doriți o captură de ecran