Innholdsfortegnelse:
- Trinn 1: Last ned Sunxi-verktøy
- Trinn 2: Pakk ut kildekoden
- Trinn 3: Last ned kode:: blokker
- Trinn 4: Test IDE -en din
- Trinn 5: Fullfør testen
- Trinn 6: Opprett nytt prosjekt
- Trinn 7: Legg til filer i Project
- Trinn 8: La Gcc følge 1999 ISO C Language Standard
- Trinn 9: Finn den manglende avhengigheten
- Trinn 10: Pakk ut Mman
- Trinn 11: Og legg dem til i prosjektet
- Trinn 12: Riktig bane
- Trinn 13: Eksorsisme
- Trinn 14: MERKNADER
Video: Orange PI HowTo: Compile Sunxi Tool for Windows Under Windows: 14 Steps (with Pictures)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
KRAV:
Du vil trenge
- En (stasjonær) datamaskin som kjører Windows.
- En Internett -tilkobling.
- Et oransje PI -kort.
Det siste er valgfritt, men jeg er sikker på at du allerede har det. Ellers vil du ikke lese dette instruerbart.
Når du kjøper Orange PI -enbrettet datamaskin, forblir den bare et stykke dødt metall til den er konfigurert riktig. Og hovedkonfigurasjonsfilen: "script.bin" er den første nøkkelen for å gjøre den levende. Denne filen ligger i oppstartspartisjonen på ditt oppstartbare SD -kort. Og heldigvis for oss, i de fleste Linux -distribusjoner fra det offisielle nettstedet (https://www.orangepi.org/downloadresources/) er denne partisjonen FAT32 og kan lett sees av hvilken som helst Windows -datamaskin. Det forenkler virkelig ting, siden det fortsatt ikke er noen pålitelig måte å skrive inn i Linux ext2 -partisjonene fra under Windows.
Uheldig for oss har script.bin -konfigurasjonsfilen binært format helt uvennlig for menneskelig redigering. Man trenger et slags programvareverktøy for å dekryptere det og kryptere tilbake etter at de nødvendige endringene er gjort. Og et slikt verktøysett eksisterer. Det er beryktet SUNXI-VERKTØY. Fluen i salven er at den er ment å kjøre under Linux, og vi må enten beholde en dedikert Linux-maskin for bare å bruke sunxi-verktøyene, eller for å finne en måte å kompilere dem for Windows.
Jeg kan ganske enkelt kompilere den og dele den kjørbare, men man vet aldri om de vil lage en ny utgave, og du trenger en ny samling ASAP. Så jeg bestemte meg for å lage en veiledning for hvordan jeg skal kompilere det viktige verktøyet fra kildene. La oss komme i gang.
Trinn 1: Last ned Sunxi-verktøy
Få den nyeste (eller nødvendige) versjonen av sunxi-tools sourcecode. Gå til URL: https://github.com/linux-sunxi/sunxi-tools/releases og velg å laste ned som zip-arkiv.
Trinn 2: Pakk ut kildekoden
Når nedlastingen er fullført, pakker du ut kildekoden til mappen du ønsker. (videre vil jeg anta at denne mappen er c: / sunxitools \, så bytt ut denne banen med din egen bane).
Trinn 3: Last ned kode:: blokker
Hvis du har en installert kopi av en operativ c ++ - kompilator for Windows. og hvis du vet hvordan du bruker den, kan du gå direkte til trinn 3. Andre bør få en skikkelig c ++ - kompilator og et skall (IDE) for å bruke den komfortabelt. Valget av mitt er kode:: blokker for Windows sammen med forhåndsinstallert MinGW verktøykjede. Du kan få det herfra:
Last ned og installer den.
Trinn 4: Test IDE -en din
For å teste om det går bra, start kodeblokker, klikk på "opprett et nytt prosjekt", velg "konsollapplikasjon", velg enten c eller c ++, skriv inn tittelen på utsjekkingsprosjektet, behold standardene urørt i neste vindu og klikk "fullfør ".
Trinn 5: Fullfør testen
Klikk deretter på en grønn trekant på toppanelet på IDE eller bruk menypunktet Bygg-> Kjør. Hvis det gikk som det skulle. Du bør se en melding fra din autogenererte "Hei verden" -applikasjon i det svarte "DOS" -vinduet.
Hvis ikke, betyr det at IDE og kompilatoren ikke fungerer som de skal, og du må undersøke hvordan du gjør det riktig. Sannsynligvis må du laste ned en annen versjon av programmeringsverktøyene eller kontrollere tillatelsene i brannmuren/antivirusprogramvaren.
Trinn 6: Opprett nytt prosjekt
Nå bør du ha en operativ C/C ++ programmerers verktøykasse og de utpakkede sunxi-tools kildekodene i c: / sunxitools / mappen på datamaskinen din. Det er på tide å sette sammen et prosjekt. Lag et nytt prosjekt i IDE -en din. Velg vanlig C (ikke c ++) prosjekt av typen "konsollapplikasjon".
Sørg for at du oppretter prosjekt i mappen c: / sunxitools / og ikke på et annet sted. (EG -kodeblokker pleier å lage en undermappe med samme navn som prosjektet har. Så hvis du har navngitt prosjektet ditt, si "test", og prøv å plassere det i c: / sunxitools \, Du kan ende opp med at prosjektet er borte til c: / sunxitools / test / hvis du ikke er oppmerksom nok.) Sunxi-verktøy inneholder flere verktøy, men for vårt formål trenger vi bare ett: det såkalte "fexc" -verktøyet.
Trinn 7: Legg til filer i Project
Nøyaktig "fexc" -verktøyet er ansvarlig for konvertering av script.bin til tekstformat og for bakre konvertering til binær. Det er viktig at den kjørbare av dette verktøyet har navnet "fexc.exe", så det er bra hvis du har kalt prosjektet ditt som "fexc". Du kan imidlertid bruke et hvilket som helst annet navn på prosjektet, siden du alltid kan gi nytt navn til den kjørbare filen etter kompilering, eller enten kan du velge "Prosjekt-> Egenskaper" fra den øverste rullegardinmenyen, og i vinduet som vises, klikker du på "Bygg mål" -fanen, og rediger feltet "Utdata filnavn" for å overstyre det kjørbare navnet.
Til ditt autogenererte prosjekt Du bør bare legge til fem kildefiler:
- fexc.c
- skript. c
- script_bin.c
- script_fex.c
- script_uboot.c
og syv topptekster:
- list.h (flytt den fra c: / sunxitools / include / folder til c: / sunxitools / folder)
- fexc.h
- script.h
- script_bin.h
- script_fex.h
- script_uboot.h
- versjon. h
Sørg for å ekskludere autogenerert main.c fra prosjektet, fordi fexc.c allerede har "int main" -funksjonen i det. (Husk at ethvert program bare skal ha en hovedfunksjon?).
Alle nødvendige kildekodefiler er allerede i undermappen, der du har pakket ut kildekodene. Toppfilene fortjener et par ord, hvor du kan få dem. "list.h" - er vanligvis i "inkludere" -undermappen i det pakkede kildekodesettet. "version.h" - bare lag det selv. Sett det en streng som:
#define VERSJON "Win32"
Lagre og lukk deretter filen. (Du kan dekorere den med #define's og #ifdef's hvis du vil.)
Hvis du nå prøver å kompilere prosjektet, vil det klage på mange feil og en fil som mangler. Feilene skyldes hovedsakelig litt overdreven stilfrihet, sunxi-tools-programmererne pleide å bruke, og den manglende filen er avhengigheten som ikke er inkludert i pakken med kildekoden. La oss håndtere dette trinn for trinn.
Trinn 8: La Gcc følge 1999 ISO C Language Standard
For at kompilatoren ikke skal klage, setter den for gratis programmeringsstilen "с99" standarden for samlingen. I kodeblokker, gå til "Prosjekt -> Byggealternativer" -menyen og i "Kompilatorinnstillinger -> Kompilatorflagg" merker du av for "La gcc følge 1999 ISO C språkstandarden". Eller du kan bare legge til "-std = c99" i strengen for kompilatoralternativer. Hvis du prøver å kompilere prosjektet, bør de mange feilene begynne, og du er en mot en med den manglende avhengigheten.
Trinn 9: Finn den manglende avhengigheten
Den manglende avhengigheten er "mman.h" -fil - overskriften til en slags linux -minnebehandler. Windows C har opprinnelig ingen slik fil, men det er heldigvis en Windows -port på den. Gå til https://github.com/witwall/mman-win32 for Windows. Last ned øyeblikksbildet av git -depotet.
Trinn 10: Pakk ut Mman
Pakk ut mman.c og mman.h filene, plasser dem i mappen c: / sunxitools \.
Trinn 11: Og legg dem til i prosjektet
Trinn 12: Riktig bane
Og i filen "fex.c" raplece line:
#inkludere
til
#inkludere "mman.h"
På dette trinnet skulle kompilatoren ikke klage noe, og du får fexc.exe med lang ventetid som utdata. Ikke vær glad for tidlig. Verktøyet er fremdeles ikke fullt funksjonelt. Du kan sikre dette ved å dekryptere en gyldig script.bin -fil til tekstskjemaet - script.fex -fil med påfølgende kryptering av script.fex -filen tilbake til script.bin. Du kan merke at størrelsen på det resulterende script.bin avviker noe fra størrelsen på det originale script.bin. Og hvis du prøver å dekryptere det resulterende igjen, vil det mislykkes. Verken Orange PI vil fungere med dette script.bin. For å få det funksjonelle verktøyet må vi tømme en kodebombe som noen har lagt inn i sunxi-tools kildekoden. Det blir vårt neste trinn.
Trinn 13: Eksorsisme
For å tømme kodebomben, åpne fexc.c -kodefilen og finn en tekststreng med neste innhold:
annet hvis ((ut = åpent (filnavn, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {
Bare erstatt den med den neste strengen:
annet hvis ((ut = åpent (filnavn, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {
Hvis ikke de onde sifrene "666" i den første strengen vil jeg tro at koderen nettopp har glemt å bruke O_BINARY flagget. Men Antallet av dyret tydeliggjør intensjonene hans på en åpen måte. Finn ut, hvor genialt det er: på grunn av den subtile forskjellen i hvordan filene behandles i Windows og Linux, har bomben ingen effekt når verktøyet kompileres og brukes under Linux. Men det ødelegger alt når verktøyet brukes under Windows.
Etter at bomben har blitt avvæpnet, kan du endelig kompilere og trygt bruke fexc -verktøyet på din stasjonære Windows -datamaskin.
Trinn 14: MERKNADER
1) For å bruke fexc -verktøyet komfortabelt, bør du få to batchfiler:
bin2fex.bat - og - fex2bin.bat.
Du kan få dem fra en fabelaktig fexc.exe -build for Windows der ute, eller du kan skrive dem selv:
- bin2fex.bat skal inneholde "fexc -I bin -O fex script.bin script.fex"
- fex2bin.bat skal inneholde "fexc -O bin -I fex script.fex script.bin"
2) Hvis det er vanskelig å finne mman manager for Windows, kan man unngå bruk i det hele tatt. Imidlertid krever det mye mer redigering av fexc.c -filen og krever minst litt kunnskap om c. For din overbevisning deler jeg den redigerte kildekoden til fexc fra sunxi-tools v1.4 fri fra avhengigheten til mman.h sammen med codeblocks prosjektfil og med eksempel script.bin fra noen oransje pi. Du kan laste ned fexc_nomman.zip
3) Det er mulig at de i påfølgende versjoner av sunxi-verktøy vil legge til flere avhengigheter. Finn dem gjerne over internett og legg dem til i ditt samlingsprosjekt.
5) Endelig er her den forhåndskompilerte versjonen av fexc.exe for Win32:
fexc_nomman.zip
Hvis du er lat nok, bruk gjerne ver. Vær imidlertid oppmerksom på at det ikke vil bli oppdatert om/når de nyere versjonene av SunxiTools/Windows vil være tilgjengelig. Så det er bedre å lære å kompilere dem enn å stole på en fast binær konstruksjon, antar jeg.
4) "Orange PI", "Code:: Blocks", "Windows", "Linux", "Sunxi-Tools", "Allwinner", etc … er korrespondentens varemerker for sine respektive eiere.
5) Hvis kompilatoren din klager over at du ikke finner mman -funksjoner, for eksempel:
udefinert referanse til '_imp_mmap'
Vær oppmerksom på at definere elskere av mman utviklingssamfunn har glemt at koden kan kompileres ikke bare som dll -bibliotek. Det kan også være et statisk bibliotek eller en frittstående kode som vi har her. For å fikse problemet, rediger "mman.h" -fil som følger:
a) finn strengene:
#if definert (MMAN_LIBRARY)
#define MMANSHARED_EXPORT _declspec (dllexport) #else #define MMANSHARED_EXPORT _declspec (dllimport) #endif
b) legg til strengen
#definere MMANSHARED_EXPORT
like under strengene som ble funnet på forrige trinn
Anbefalt:
HowTo - Esp -12F Mini WiFi -modul ESP8266 18650 Nodemcu -batteri 0,96”OLED DEMO Via Arduino GUI: 4 trinn
HowTo - Esp -12F Mini WiFi -modul ESP8266 18650 Nodemcu -batteri 0,96”OLED DEMO Via Arduino GUI: Hallo, hier m ö chte ich Euch zeigen wie Ihr das mit auf der Hauptplatine verbaute OLED Display benutzen/ansteuern k ö nnt. Um es m ö glichst einfach zu halten, benutze ich die ARDUINO GUI zum schreiben des CODEs och zum hochladen der Firmwa
Orange PI HowTo: Sett den i bruk med en 5 "HDMI TFT LCD -skjerm: 8 trinn (med bilder)
Orange PI HowTo: Sett den i bruk med en 5 "HDMI TFT LCD -skjerm: Hvis du var forsiktig nok til å bestille en HDMI TFT LCD -skjerm sammen med din Orange PI, er du sannsynligvis motløs av vanskelighetene med å prøve å tvinge den til å fungere . Mens andre ikke engang kunne merke noen hindringer. Nøkkelen er at det er på
IC / COMPONENT STORAGE BOX UNDER 1 DOLLAR: 5 Steps (med bilder)
IC / COMPONENT STORAGE BOX UNDER 1 DOLLAR: Her skal vi lage en IC / komponentboks under 1 dollar
Orange PI HowTo: Sett den i bruk med bils bakdisplay og HDMI til RCA -adapter: 15 trinn
Orange PI HowTo: Sett den i bruk med bils bakdisplay og HDMI til RCA -adapter: FOREWORD. Det virker som om alle andre bruker store og enda større TV -apparater eller skjermer med et dumt Orange PI -kort. Og det ser ut som litt overkill når det er beregnet på innebygde systemer. Her trenger vi noe lite og noe billig. Som en
Minimalistisk IR -penn: Ingen lodding, under et minutt, under en dollar .: 3 trinn
Minimalistisk IR -penn: Ingen lodding, under et minutt, under en dollar .: Min første instrukserbare, håper den er nyttig: Hvis du vil teste JC Lee (JC står for Johnny Chung, men han gjør litt mirakler også. ..) eller Smoothboard -programmet på www.smoothboard.net (lysår fremover, fordi Boon Jin startet