Satura rādītājs:
- 1. darbība: lejupielādējiet Sunxi-tools
- 2. darbība: izpakojiet avota kodu
- 3. darbība: lejupielādējiet kodu:: bloki
- 4. darbība: pārbaudiet savu IDE
- 5. darbība: pabeidziet pārbaudi
- 6. darbība: izveidojiet jaunu projektu
- 7. darbība: pievienojiet failus projektam
- 8. solis: Gcc ievērojiet 1999. gada ISO C valodas standartu
- 9. darbība. Atrodiet trūkstošo atkarību
- 10. darbība: izpakojiet Mman
- 11. solis: pievienojiet tos projektam
- 12. solis: pareizs ceļš
- 13. solis: eksorcisms
- 14. darbība: PIEZĪMES
Video: Orange PI HowTo: Apkopojiet Sunxi rīku operētājsistēmai Windows operētājsistēmai Windows: 14 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
PRIEKŠLIKUMI:
Jums būs nepieciešams
- (Galddators), kurā darbojas sistēma Windows.
- Interneta savienojums.
- Oranžā PI plāksne.
Pēdējais nav obligāts, bet esmu pārliecināts, ka jums tas jau ir. Pretējā gadījumā jūs neizlasīsit šo pamācību.
Pērkot Orange PI viena paneļa datoru, tas paliek tikai miris metāla gabals, līdz tas ir pareizi konfigurēts. Un tā galvenais konfigurācijas fails: "script.bin" ir pirmā atslēga, kas to atdzīvina. Šis fails atrodas jūsu sāknējamās SD kartes sāknēšanas nodalījumā. Un mums par laimi, lielākajā daļā Linux izplatījumu no oficiālās vietnes (https://www.orangepi.org/downloadresources/) šis nodalījums ir FAT32, un to var viegli redzēt jebkurā Windows datorā. Tas patiešām vienkāršo lietas, jo joprojām nav uzticama veida, kā ierakstīt Linux ext2 nodalījumos no Windows.
Mums nav paveicies, ka konfigurācijas faila script.bin binārais formāts ir pilnīgi nedraudzīgs cilvēku rediģēšanai. Ir nepieciešams kaut kāds programmatūras rīks, lai to atšifrētu un pēc vajadzīgo izmaiņu veikšanas atšifrētu. Un šāds rīku komplekts pastāv. Tas ir bēdīgi slavenie SUNXI-TOOLS. Īsumā ir tas, ka tas ir paredzēts darbam ar Linux, un mums vai nu ir jāsaglabā īpaša Linux mašīna, lai tikai izmantotu sunxi rīkus, vai arī jāatrod veids, kā tos apkopot logiem.
Es varētu vienkārši to apkopot un koplietot izpildāmo failu, taču nekad nevar zināt, vai viņi vēlētos izlaist jaunu versiju, un jums būs nepieciešama jauna kompilācija ASAP. Tāpēc es nolēmu izveidot ceļvedi, kā apkopot būtisko rīku no avotiem. Sāksim.
1. darbība: lejupielādējiet Sunxi-tools
Iegūstiet jaunāko (vai nepieciešamo) sunxi-tools avota koda versiju. Dodieties uz vietrādi URL: https://github.com/linux-sunxi/sunxi-tools/releases un izvēlieties lejupielādēt kā zip arhīvu.
2. darbība: izpakojiet avota kodu
Kad lejupielāde ir pabeigta, izpakojiet avota kodu izvēlētajā mapē. (tālāk es pieņemšu, ka šī mape ir c: / sunxitools \, tāpēc aizstājiet šo ceļu ar savu ceļu).
3. darbība: lejupielādējiet kodu:: bloki
Ja jums ir instalēta kāda Windows operētājsistēmas c ++ kompilatora kopija. un, ja jūs zināt, kā to izmantot, varat tieši pāriet uz 3. darbību. Citiem vajadzētu saņemt atbilstošu c ++ kompilatoru un apvalku (IDE), lai to ērti izmantotu. Mana izvēle ir kods:: bloki operētājsistēmai Windows kopā ar iepriekš instalētu rīku ķēdi MinGW. To var iegūt šeit:
Lejupielādējiet un instalējiet to.
4. darbība: pārbaudiet savu IDE
Lai pārbaudītu, vai viss ir kārtībā, sāciet kodu bloķēšanu, noklikšķiniet uz "izveidot jaunu projektu", izvēlieties "konsoles lietojumprogramma", izvēlieties vai nu c, vai c ++, ierakstiet izrakstīšanās projekta nosaukumu, saglabājiet noklusējuma vērtības neskartas nākamajā logā un noklikšķiniet uz "Pabeigt" ".
5. darbība: pabeidziet pārbaudi
Pēc tam IDE augšējā panelī noklikšķiniet uz zaļa trijstūra vai izmantojiet izvēlnes Build-> Run punktu. Ja viss notika pareizi, melnajā "DOS" logā vajadzētu redzēt ziņojumu no jūsu automātiski ģenerētās lietojumprogrammas "Hello world".
Ja nē, tas nozīmē, ka IDE un kompilators nedarbojas pareizi, un jums būs jāizpēta, kā to pareizi iestatīt. Iespējams, jums būs jālejupielādē cita programmēšanas rīku versija vai jāpārbauda to atļaujas ugunsmūra/pretvīrusu programmatūrā.
6. darbība: izveidojiet jaunu projektu
Tagad jūsu datora mapē c: sunxitools ir jābūt operatīvam C/C ++ programmētāja rīkkopam un neizsaiņotiem sunxi-tools avota kodiem. Ir pienācis laiks apkopot projektu. Izveidojiet jaunu projektu savā IDE. Izvēlieties vienkāršu C (nevis c ++) projektu "konsoles lietojumprogramma".
Pārliecinieties, vai veidojat projektu mapē c: / sunxitools \, nevis kādā citā vietā. (EG koda bloki mēdz izveidot apakšmapi ar tādu pašu nosaukumu, kāds ir projektam. Tātad, ja esat nosaucis savu projektu, sakiet "test" un mēģiniet to ievietot mapē c: / sunxitools \, iespējams, ka projekts būs beidzies uz c: / sunxitools / test / ja neesat pietiekami uzmanīgs.) Sunxi rīkos ir vairākas utilītas, taču mūsu vajadzībām mums būs nepieciešams tikai viens: tā sauktā "fexc" utilīta.
7. darbība: pievienojiet failus projektam
Tieši "fexc" lietderība ir atbildīga par skripta.bin konvertēšanu teksta formātā un par atpakaļ pārveidošanu binārā. Ir būtiski, lai šīs utilītas izpildāmā faila nosaukums būtu "fexc.exe", tāpēc ir labi, ja esat nosaucis savu projektu par "fexc". Tomēr jūs varat izmantot jebkuru citu projekta nosaukumu, jo pēc apkopošanas jūs vienmēr varat pārdēvēt izpildāmo failu, vai arī augšējā nolaižamajā izvēlnē varat izvēlēties "Projekts-> Rekvizīti" un parādītajā logā noklikšķiniet uz cilnes Veidot mērķus, un rediģējiet lauku "Izvades faila nosaukums", lai ignorētu izpildāmā nosaukuma nosaukumu.
Jūsu automātiski ģenerētajam projektam jāpievieno tikai pieci avota faili:
- fexc.c
- skripts.c
- script_bin.c
- script_fex.c
- script_uboot.c
un septiņi galvenes faili:
- list.h (pārvietojiet to no c: / sunxitools / include / mapes uz mapi c: / sunxitools)
- fexc.h
- skripts.h
- script_bin.h
- script_fex.h
- script_uboot.h
- versija.h
Noteikti izslēdziet no projekta automātiski ģenerēto main.c, jo programmā fexc.c jau ir funkcija "int main". (Atcerieties, ka jebkurai programmai vajadzētu būt tikai vienai galvenajai funkcijai?).
Visi nepieciešamie avota koda faili jau atrodas apakšmapē, kur jūs esat izpakojuši avota kodus. Galvenes faili ir pelnījuši pāris vārdu, kur tos iegūt. "list.h" - parasti atrodas neiesaiņoto pirmkodu kopas apakšmapē "include". "version.h" - vienkārši izveidojiet to pats. Ievietojiet šādu virkni:
#define VERSIJA "Win32"
Pēc tam saglabājiet un aizveriet failu. (Ja vēlaties, varat to dekorēt ar #define's un #ifdef.)
Ja jūs tagad mēģināt apkopot projektu, tas sūdzēsies par daudzām kļūdām un vienu trūkstošu failu. Kļūdas lielākoties ir saistītas ar mazliet pārmērīgu stila brīvību, Sunxi-tools programmētājiem, kurus izmantoja, un trūkstošais fails ir atkarība, kas nav iekļauta avota koda pakotnē. Ļaujiet tikt galā ar šo soli pa solim.
8. solis: Gcc ievērojiet 1999. gada ISO C valodas standartu
Lai kompilators nesūdzētos par pārāk brīvo programmēšanas stilu, iestatiet kompilācijas standartu "с99". Kodu blokos dodieties uz izvēlni "Projekts -> Veidot opcijas" un sadaļā "Sastādītāja iestatījumi -> Sastādītāja karogi" atzīmējiet izvēles rūtiņu "Vai gcc ievēro 1999. gada ISO C valodas standartu". Vai arī jūs varat vienkārši pievienot "-std = c99" savā kompilatora opciju virknē. Tagad, ja mēģināt apkopot projektu, šīm kļūdām vajadzētu sākties, un jūs esat viens pret vienu ar trūkstošo atkarību.
9. darbība. Atrodiet trūkstošo atkarību
Trūkstošā atkarība ir fails "mman.h" - kāda veida Linux atmiņas pārvaldnieka galvene. Operētājsistēmā Windows C šāda faila nav, bet par laimi tam ir Windows ports. Lai iegūtu Windows, dodieties uz vietni https://github.com/witwall/mman-win32. Lejupielādējiet git repozitorija momentuzņēmumu.
10. darbība: izpakojiet Mman
Izsaiņojiet failus mman.c un mman.h, ievietojiet tos mapē c: sunxitools.
11. solis: pievienojiet tos projektam
12. solis: pareizs ceļš
Un failā "fex.c" krāšņuma līnija:
#iekļaut
uz
#ietver "mman.h"
Šajā solī jūsu kompilatoram nevajadzētu neko sūdzēties, un jūs kā izvadi saņemsiet ilgu gaidīšanas laiku fexc.exe. Neesi laimīgs pārāk agri. Lietderība joprojām nav pilnībā funkcionāla. To varat nodrošināt, teksta formā atšifrējot kādu derīgu failu script.bin - failu script.fex, un šifrējot failu script.fex atpakaļ šifrēšanas failā script.bin. Jūs varat atzīmēt, ka iegūtā script.bin izmērs nedaudz atšķiras no sākotnējā script.bin lieluma. Un, ja jūs vēlreiz mēģināsit atšifrēt iegūto rezultātu, tas neizdosies. Ne Orange PI nedarbosies ar šo skriptu.bin. Lai iegūtu funkcionālu lietderību, mums jāizlādē koda bumba, ko kāds ir ievietojis sunxi-tools avota kodā. Tas būs mūsu nākamais solis.
13. solis: eksorcisms
Lai izlādētu koda bumbu, atveriet fexc.c koda failu un atrodiet nākamā satura teksta virkni:
else if ((out = open (faila nosaukums, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {
Vienkārši nomainiet to ar nākamo virkni:
else if ((out = open (faila nosaukums, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {
Ja ne ļaunie cipari "666" pirmajā virknē, es domāju, ka kodētājs ir vienkārši aizmirsis izmantot O_BINARY karodziņu. Bet zvēra numurs pārredzami izskaidro viņa nodomus. Iedomājieties, cik tas ir ģeniāli: pateicoties nelielajai atšķirībai failu apstrādē operētājsistēmā Windows un Linux, bumba neietekmē, ja utilīta tiek apkopota un izmantota Linux. Bet tas visu sabojā, ja utilīta tiek izmantota operētājsistēmā Windows.
Pēc tam, kad spridzeklis ir atbruņots, jūs beidzot varat apkopot un droši izmantot utilītu fexc savā Windows galddatorā.
14. darbība: PIEZĪMES
1) Lai ērti lietotu fexc utilītu, jums vajadzētu iegūt divus pakešu failus:
bin2fex.bat - un - fex2bin.bat.
Jūs varat tos iegūt no kādas faily fexc.exe Windows versijas, vai arī varat tos ierakstīt pats:
- bin2fex.bat jāiekļauj "fexc -I bin -O fex script.bin script.fex"
- fex2bin.bat jāiekļauj "fexc -O bin -I fex script.fex script.bin"
2) Ja ir grūti atrast Windows operētājsistēmas pārvaldnieku, varat vispār izvairīties no tā izmantošanas. Tomēr tas prasa daudz vairāk fexc.c faila rediģēšanas un prasa vismaz zināmas zināšanas par c. Jūsu pārliecībai es dalos ar rediģēto avota kodu fexc no sunxi-tools v1.4 bez atkarības no mman.h, kā arī koda bloķēšanas projekta failu un parauga skriptu.bin no kāda oranža pi. Jūs varat lejupielādēt fexc_nomman.zip
3) Iespējams, ka turpmākajās sunxi rīku versijās tie pievienos vēl dažas atkarības. Jūtieties brīvi atrast tos internetā un pievienot tos savam apkopošanas projektam.
5) Visbeidzot, šeit ir iepriekš apkopota fexc.exe versija Win32:
fexc_nomman.zip
Ja esat pietiekami slinks, lūdzu, izmantojiet ver. Tomēr uzmanieties, ka tas netiks atjaunināts, ja/kad būs pieejamas jaunākās SunxiTools/Windows versijas. Tāpēc es domāju, ka labāk ir iemācīties tos apkopot, nekā paļauties uz noteiktu fiksētu bināro uzbūvi.
4) "Orange PI", "Code:: Blocks", "Windows", "Linux", "Sunxi-Tools", "Allwinner" utt … ir to īpašnieku atbilstošās preču zīmes.
5) Ja jūs sastādītājs sūdzas, ka netiek atrastas mman funkcijas, piemēram:
nenoteikta atsauce uz '_imp_mmap'
ņemiet vērā, ka Mman attīstības kopienas cienītāji ir aizmirsuši, ka kodu var apkopot ne tikai kā dll bibliotēku. Tā var būt arī statiska bibliotēka vai atsevišķs kods, kāds mums ir šeit. Lai novērstu problēmu, rediģējiet failu "mman.h" šādi:
a) atrodiet virknes:
#ja definēts (MMAN_LIBRARY)
#define MMANSHARED_EXPORT _declspec (dllexport) #else #define MMANSHARED_EXPORT _declspec (dllimport) #endif
b) pievienojiet virkni
#define MMANSHARED_EXPORT
tieši zem virknēm, kas atrastas iepriekšējā solī
Ieteicams:
Izveidojiet “galīgo Craigslist paziņojumu rīku”: 5 soļi
Izveidojiet “Ultimate Craigslist Notification Tool”: Brīdinājums: šis projekts ir paredzēts Mac lietotājiem. Labi. Visiem craigslist lietotājiem tas ir noticis vienu vai divas reizes. Jūs esat iepumpējies par šo jauno USB kafijas krūzes sildītāju par 10 ASV dolāriem, un jūs uzzināsit, ka jūsu kaimiņu kaimiņš to vispirms nopirka. "Ja tikai," jūs vēlaties & quo
Kā pārvērst aukstumu par noderīgu rīku: 6 soļi
Kā pārvērst aukstumu par noderīgu rīku: NĒ !!! Jūs nopirkāt Coldheat !!! Ko tu ar to darīsi? Es zinu, jūs varētu to pārvērst par kaut ko noderīgu, piemēram, lukturīti! Šeit ir soli pa solim veids, kā pārvērst savu miskasti par spilgtu, funkcionējošu lukturīti, kas ir lieliski piemērots jūsu
Kā izveidot Lego USB disku, izmantojot tikai vienu rīku !: 4 soļi
Kā izveidot Lego USB disku, izmantojot tikai vienu rīku! man nav stabila roka
Kā izveidot koka divotu remonta rīku: 8 soļi
Kā izgatavot koka divotu remonta rīku: Divot labošanas rīks jeb Pitchfork tiek izmantots, lai palīdzētu noņemt ievilkumu, kas radies golfa bumbiņas piezemēšanās dēļ. Lai gan viens no tiem nav jālabo, tas parasti ir pieklājīgi. Šeit ir Vikipēdijas raksts, es
Kā lietot runas rīku operētājsistēmā Mac Os X 10.5 Leopard: 3 soļi
Kā lietot runas rīku operētājsistēmā Mac OS X 10.5 Leopards: Esmu liels Harija Potera cienītājs un vienmēr esmu vēlējies spēlēt. Vai nebūtu forši, ja varētu kādu izsist, sakot vienu vārdu? Vai kā būtu, ja varētu atslēgt durvis bez atslēgas? Tad es uzdūros šim norādījumam