Indholdsfortegnelse:
- Trin 1: Download Sunxi-værktøjer
- Trin 2: Udpak kildekoden
- Trin 3: Download kode:: blokke
- Trin 4: Test din IDE
- Trin 5: Fuldfør testen
- Trin 6: Opret nyt projekt
- Trin 7: Føj filer til Project
- Trin 8: Få Gcc til at følge ISO ISO -sprogstandarden fra 1999
- Trin 9: Find den manglende afhængighed
- Trin 10: Pak Mman ud
- Trin 11: Og tilføj dem til projektet
- Trin 12: Korrekt sti
- Trin 13: Eksorcisme
- Trin 14: BEMÆRKNINGER
Video: Orange PI HowTo: Kompilér Sunxi -værktøj til Windows under Windows: 14 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
KRAV:
Du får brug for
- En (stationær) computer, der kører Windows.
- En internetforbindelse.
- Et orange PI -kort.
Det sidste er valgfrit, men jeg er sikker på, at du allerede har det. Ellers vil du ikke læse dette instruerbart.
Når du køber Orange PI -enkeltkortcomputeren, forbliver den bare et stykke dødt metal, indtil den er konfigureret korrekt. Og dens vigtigste konfigurationsfil: "script.bin" er den første nøgle til at bringe den til live. Denne fil er placeret i bootpartitionen på dit bootable SD -kort. Og heldigvis for os er denne partition i de fleste Linux -distributioner fra det officielle websted (https://www.orangepi.org/downloadresources/) FAT32 og kan let ses af enhver Windows -computer. Det forenkler virkelig tingene, da der stadig ikke er nogen pålidelig måde at skrive til Linux ext2 -partitionerne fra under Windows.
Uheldig for os har script.bin konfigurationsfilen binært format fuldstændig uvenligt til menneskelig redigering. Man har brug for en slags softwareværktøj for at dekryptere det og kryptere tilbage, efter at de nødvendige ændringer er foretaget. Og sådan et værktøjssæt findes. Det er berygtet SUNXI-VÆRKTØJ. Fluen i salven er, at den er beregnet til at køre under Linux, og vi skal enten beholde en dedikeret Linux-maskine for kun at bruge sunxi-værktøjerne, eller for at finde en måde at kompilere dem til Windows.
Jeg kunne simpelthen kompilere det og dele den eksekverbare, men man ved aldrig, om de gerne vil lave en ny udgivelse, og du får brug for en ny samling ASAP. Så jeg besluttede at lave en guide til, hvordan man kompilerer det væsentlige værktøj ud fra kilderne. Lad os komme igang.
Trin 1: Download Sunxi-værktøjer
Få den nyeste (eller nødvendige) version af kildekoden sunxi-tools. Gå til webadressen: https://github.com/linux-sunxi/sunxi-tools/releases, og vælg at downloade som zip-arkiv.
Trin 2: Udpak kildekoden
Når overførslen er færdig, skal du pakke kildekoden ud til den ønskede mappe. (yderligere vil jeg antage, at denne mappe er c: / sunxitools \, så erstat denne sti med din egen sti).
Trin 3: Download kode:: blokke
Hvis du har en installeret kopi af en operativ c ++ - kompilator til Windows. og hvis du ved, hvordan du bruger det, kan du direkte gå videre til trin 3. Andre bør få en ordentlig c ++ - kompilator og en shell (IDE) til at bruge den komfortabelt. Valget af mit er kode:: blokke til Windows sammen med forudinstalleret MinGW værktøjskæde. Du kan få det herfra:
Download og installer det.
Trin 4: Test din IDE
For at teste, om det går ok, start kodeblokke, klik på "opret et nyt projekt", vælg "konsolprogram", vælg enten c eller c ++, skriv titlen på kasseprojektet, behold standarderne urørte i det næste vindue og klik på "afslut ".
Trin 5: Fuldfør testen
Klik derefter på en grøn trekant på øverste panel i IDE, eller brug menupunktet Byg-> Kør. Hvis det gik rigtigt, skulle du se en meddelelse fra din autogenererede "Hej verden" -applikation i det sorte "DOS" -vindue.
Hvis ikke, betyder det, at IDE og kompilatoren ikke fungerer korrekt, og du bliver nødt til at undersøge, hvordan du indstiller det rigtigt. Sandsynligvis bliver du nødt til at downloade en anden version af programmeringsværktøjerne eller kontrollere deres tilladelser i din firewall/antivirus -software.
Trin 6: Opret nyt projekt
Nu skal du have en operativ C/C ++ programmerings værktøjskasse og de udpakkede sunxi-tools kildekoder i c: / sunxitools / mappe på din computer. Det er tid til at samle et projekt. Opret nyt projekt i din IDE. Vælg det almindelige C (ikke c ++) projekt af typen "konsolprogram".
Sørg for, at du opretter et projekt i mappen c: / sunxitools / og ikke et andet sted. (EG -kodeblokke har en tendens til at lave en undermappe med samme navn som projektet har. Så hvis du har navngivet dit projekt, sig "test", og prøv at placere det i c: / sunxitools \, Du kan ende med at projektet er væk til c: / sunxitools / test / hvis du ikke er opmærksom nok.) Sunxi-værktøjer indeholder flere værktøjer, men til vores formål har vi kun brug for en: det såkaldte "fexc" -værktøj.
Trin 7: Føj filer til Project
Netop "fexc" -værktøjet er ansvarlig for konvertering af script.bin til tekstformat og for bagkonvertering til binær. Det er vigtigt, at den eksekverbare af dette værktøj har navnet "fexc.exe", så det er godt, hvis du har navngivet dit projekt som "fexc". Du kan dog bruge ethvert andet navn på projektet, da du altid kan omdøbe den eksekverbare fil efter kompilering, eller enten kan du vælge "Projekt-> Egenskaber" fra den øverste rullemenu og i vinduet, der vises, skal du klikke på fanen "Byg mål", og rediger feltet "Output filnavn" for at tilsidesætte det eksekverbare navn.
Til dit autogenererede projekt Du bør kun tilføje fem kildefiler:
- fexc.c
- script.c
- script_bin.c
- script_fex.c
- script_uboot.c
og syv header -filer:
- list.h (flyt den fra c: / sunxitools / include / folder til c: / sunxitools / folder)
- fexc.h
- script.h
- script_bin.h
- script_fex.h
- script_uboot.h
- version.h
Sørg for at udelukke den autogenererede main.c fra projektet, fordi fexc.c allerede har "int main" -funktionen i det. (Husk at ethvert program kun skal have en hovedfunktion?).
Alle de nødvendige kildekodefiler er allerede i undermappen, hvor du har pakket kildekoderne ud. Hovedfilerne fortjener et par ord, hvor de kan hentes. "list.h" - er normalt i undtagermappen "inkludere" i det pakkede kildekodesæt. "version.h" - bare opret det selv. Sæt en streng som:
#define VERSION "Win32"
Gem og luk derefter filen. (Du kan dekorere den med #define's og #ifdef's, hvis du vil.)
Hvis du nu prøver at kompilere projektet, klager det over mange fejl og en manglende fil. Fejlene skyldes for det meste en smule overdreven stilfrihed, de sunxi-tools programmerere, der plejede at anvende, og den manglende fil er afhængigheden, der ikke er inkluderet i pakken med kildekoden. Lad os håndtere dette trin for trin.
Trin 8: Få Gcc til at følge ISO ISO -sprogstandarden fra 1999
For at kompilatoren ikke skal klage, stiller den for gratis programmeringsstil "с99" standarden for kompilationen. I kodeblokke skal du gå til menuen "Projekt -> Byggeindstillinger" og i "Compilerindstillinger -> Compilerflag" markere afkrydsningsfeltet "Har gcc følg 1999 ISO C -sprogstandarden". Eller du kan bare tilføje "-std = c99" til din kompilatorindstillingsstreng. Nu, hvis du forsøger at kompilere projektet, skulle disse tonsvis af fejl begynde, og du er en til en med den manglende afhængighed.
Trin 9: Find den manglende afhængighed
Den manglende afhængighed er "mman.h" -fil - overskriften på en slags linux memory manager. Windows C har oprindeligt ingen sådan fil, men der er heldigvis en Windows -port til den. Gå til https://github.com/witwall/mman-win32 for Windows. Download snapshot af git repository.
Trin 10: Pak Mman ud
Pak mman.c- og mman.h -filerne ud, anbring dem i mappen c: / sunxitools \.
Trin 11: Og tilføj dem til projektet
Trin 12: Korrekt sti
Og i filen "fex.c" raplece line:
#omfatte
til
#inkluder "mman.h"
På dette trin skal din kompilator ikke klage over noget, og du får fexc.exe med lang ventetid som output. Vær ikke glad for tidligt. Værktøjet er stadig ikke fuldt ud funktionelt. Du kan sikre dette ved at dekryptere en gyldig script.bin -fil til tekstformularen - script.fex -fil med deraf følgende kryptering af script.fex -filen tilbage til script.bin. Du bemærker muligvis, at størrelsen på det resulterende script.bin afviger en smule fra størrelsen på det originale script.bin. Og hvis du prøver at dekryptere det resulterende igen, vil det mislykkes. Hverken Orange PI fungerer med dette script.bin. For at få det funktionelle værktøj skal vi aflade en kodebombe, som nogen har lagt i kildekoden sunxi-tools. Det bliver vores næste trin.
Trin 13: Eksorcisme
For at aflade kodebomben skal du åbne fexc.c -kodefilen og finde en tekststreng med det næste indhold:
ellers hvis ((ud = åbent (filnavn, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {
Bare erstat det med den næste streng:
ellers hvis ((ud = åbent (filnavn, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {
Hvis ikke de onde cifre "666" i den første streng, vil jeg tro, at koderen lige har glemt at bruge O_BINARY -flaget. Men dyrets antal tydeliggør hans hensigter gennemsigtigt. Find ud af, hvor genialt det er: på grund af den subtile forskel i, hvordan filerne behandles i Windows og Linux, har bomben ingen effekt, når værktøjet kompileres og bruges under Linux. Men det ødelægger alt, når værktøjet bruges under Windows.
Efter at bomben er blevet afvæbnet, kan du endelig kompilere og sikkert bruge fexc -værktøjet på din Windows stationære computer.
Trin 14: BEMÆRKNINGER
1) Hvis du vil bruge fexc -værktøjet komfortabelt, skal du få to batchfiler:
bin2fex.bat - og - fex2bin.bat.
Du kan få dem fra en let fexc.exe -build til Windows derude, eller enten kan du skrive dem selv:
- bin2fex.bat skal indeholde "fexc -I bin -O fex script.bin script.fex"
- fex2bin.bat skal indeholde "fexc -O bin -I fex script.fex script.bin"
2) Hvis det er svært at finde mman manager til Windows, kan man slet ikke undgå brugen. Det kræver dog meget mere redigering af fexc.c -filen og kræver i det mindste en vis viden om c. For din overbevisning deler jeg den redigerede kildekode til fexc fra sunxi-tools v1.4 fri fra afhængigheden til mman.h sammen med codeblocks projektfil og med eksempel script.bin fra nogle orange pi. Du kan downloade fexc_nomman.zip
3) Det er muligt, at de i efterfølgende versioner af sunxi-værktøjer tilføjer nogle flere afhængigheder. Find dem gerne over internettet og tilføj dem til dit kompilationsprojekt.
5) Endelig er her den forudkompilerede version af fexc.exe til Win32:
fexc_nomman.zip
Hvis du er doven nok, er du velkommen til at bruge ver. Vær dog opmærksom på, at det ikke opdateres, hvis/hvornår de nyere versioner af SunxiTools/Windows vil være tilgængelige. Så det er bedre at lære at kompilere dem end at afhænge af en fast binær build, formoder jeg.
4) "Orange PI", "Code:: Blocks", "Windows", "Linux", "Sunxi-Tools", "Allwinner" osv … er korrespondentens varemærker tilhørende deres respektive ejere.
5) Hvis din kompiler klager over ikke at finde mman -funktioner, som:
udefineret reference til '_imp_mmap'
vær opmærksom på, at definere elskere af mman -udviklingssamfundet har glemt, at koden ikke kun kan kompileres som dll -bibliotek. Det kan også være et statisk bibliotek eller en selvstændig kode, som vi har her. For at løse problemet skal du redigere filen "mman.h" som følger:
a) find strengene:
#if defineret (MMAN_LIBRARY)
#define MMANSHARED_EXPORT _declspec (dllexport) #else #define MMANSHARED_EXPORT _declspec (dllimport) #endif
b) tilføj strengen
#definer MMANSHARED_EXPORT
lige under strengene fundet på det foregående trin
Anbefalede:
Mini Magic Mirror til under $ 60 USD: 5 trin (med billeder)
Mini Magic Mirror til under $ 60 USD: Et 'Magic MIrror' er et projekt, hvor et tovejsspejl er placeret over en slags skærm. Hvor skærmen viser sorte pixels, er spejlet reflekterende. Hvor skærmen viser hvide eller lysere pixels, skinner de igennem. Dette skaber en effekt af b
Lav dit eget smarte spejl til under $ 80 - Brug af Raspberry Pi: 6 trin (med billeder)
Lav dit eget smarte spejl for under $ 80 - Brug af Raspberry Pi: I dette projekt bygger vi et smart spejl, der viser dig nyttige oplysninger, mens du gør dig klar om morgenen. Det hele burde koste under $ 80, hvilket gør det anstændigt overkommeligt for de fleste mennesker. Denne vejledning lærer dig kun
Attiny85 -tastatur til under $ 8 !: 11 trin (med billeder)
Attiny85 -tastatur til under $ 8 !: Dette lille tastatur blev lavet med et par passive komponenter, noget tomt PCB -materiale, en summer, en LED, en Attiny85 og masser af kærlighed! Målet med projektet var at lave et tastatur, der er sjovt og let at lave, og som ikke koster en formue at lave
Orange PI HowTo: Konfigurer den til brug med et 5 "HDMI TFT LCD -display: 8 trin (med billeder)
Orange PI Sådan gør du det: Brug det med et 5 "HDMI TFT LCD -display: Hvis du var forsigtig nok til at bestille et HDMI TFT LCD -display sammen med dit Orange PI, er du sandsynligvis modløs af vanskelighederne med at forsøge at tvinge det til at fungere . Mens andre endda ikke kunne bemærke nogen forhindringer. Nøglen er, at der er ved
Orange PI HowTo: Konfigurer den til brug sammen med bilens bagskærm og HDMI til RCA -adapter: 15 trin
Orange PI Sådan gør du det: Brug det med bilens bagskærm og HDMI til RCA -adapter: FOREWORD. Det ser ud til, at hver anden bruger et stort og endnu større tv -apparat eller en skærm med et fjollet Orange PI -kort. Og det ligner lidt overkill, når det er beregnet til integrerede systemer. Her har vi brug for noget lille og noget billigt. Som en