Përmbajtje:

Portokalli PI HowTo: Përpiloni Sunxi Tool për Windows Në Windows: 14 hapa (me fotografi)
Portokalli PI HowTo: Përpiloni Sunxi Tool për Windows Në Windows: 14 hapa (me fotografi)

Video: Portokalli PI HowTo: Përpiloni Sunxi Tool për Windows Në Windows: 14 hapa (me fotografi)

Video: Portokalli PI HowTo: Përpiloni Sunxi Tool për Windows Në Windows: 14 hapa (me fotografi)
Video: SKR 1.4 - Ender3 Dual Extrusion upgrade 2024, Korrik
Anonim
Portokalli PI HowTo: Përpiloni Sunxi Tool për Windows Nën Windows
Portokalli PI HowTo: Përpiloni Sunxi Tool për Windows Nën Windows

KUSHTET:

Do t'ju duhet

  1. Një kompjuter (desktop) me Windows.
  2. Një lidhje interneti.
  3. Një tabelë Orange PI.

E fundit është opsionale, por jam i sigurt, që ju tashmë e keni atë. Përndryshe Ju nuk do ta lexoni këtë udhëzues.

Kur blini kompjuterin Orange PI me një bord ai qëndron vetëm një copë metali të vdekur derisa të konfigurohet siç duhet. Dhe skedari i tij kryesor i konfigurimit: "script.bin" është çelësi i parë për ta sjellë atë në jetë. Ky skedar ndodhet në ndarjen e nisjes së kartës suaj SD të bootable. Dhe për fatin tonë, në shumicën e shpërndarjeve të Linux nga faqja Zyrtare (https://www.orangepi.org/downloadresources/) kjo ndarje është FAT32 dhe mund të shihet lehtësisht nga çdo kompjuter Windows. Me të vërtetë thjeshton gjërat, pasi ende nuk ka një mënyrë të besueshme për të shkruar në ndarjet e Linux ext2 nga nën Windows.

Për fatin tonë të keq skedari i konfigurimit script.bin ka format binar plotësisht jomiqësor për redaktimin njerëzor. Dikush ka nevojë për një lloj mjeti softuerik në mënyrë që ta deshifrojë atë dhe të kriptohet përsëri pasi të jenë bërë modifikimet e nevojshme. Dhe një grup i tillë mjetesh ekziston. Isshtë SUNXI-MJETET famëkeqe. Fluturimi në vaj është se ka për qëllim të funksionojë nën Linux dhe ne ose duhet të mbajmë një makinë Linux të dedikuar vetëm për të përdorur mjetet sunxi, ose për të gjetur një mënyrë se si t'i përpilojmë ato për dritare.

Unë thjesht mund ta përpiloj atë dhe të ndaj programin e ekzekutueshëm, por askush nuk e di nëse ata do të donin të bënin një lëshim të ri dhe Ju do të keni nevojë për një përmbledhje të re ASAP. Kështu që vendosa të bëj një udhëzues se si të përpiloj mjetin thelbësor nga burimet. Le të fillojmë.

Hapi 1: Shkarkoni Sunxi-tools

Shkarkoni mjetet Sunxi
Shkarkoni mjetet Sunxi
Shkarkoni mjetet Sunxi
Shkarkoni mjetet Sunxi

Merrni versionin më të fundit (ose të nevojshëm) të kodit burimor sunxi. Shkoni te URL: https://github.com/linux-sunxi/sunxi-tools/releases dhe zgjidhni ta shkarkoni si arkiv zip.

Hapi 2: Zbërtheni kodin burimor

Zbërtheni kodin burimor
Zbërtheni kodin burimor

Pasi shkarkimi të ketë mbaruar, zbërtheni kodin burimor në dosjen e zgjedhjes suaj. (më tej do të supozoj se kjo dosje është c: / sunxitools \, kështu që zëvendësojeni këtë shteg me rrugën tuajin).

Hapi 3: Shkarkoni kodin:: blloqet

Shkarkoni Kodin:: blloqet
Shkarkoni Kodin:: blloqet

Nëse keni një kopje të instaluar të një përpiluesi operacional c ++ për Windows. dhe nëse e dini si ta përdorni, mund të vazhdoni drejtpërdrejt në hapin 3. Të tjerët duhet të marrin një përpilues të duhur c ++ dhe një predhë (IDE) për ta përdorur atë në mënyrë komode. Zgjedhja ime është kodi:: blloqet për Windows së bashku me zinxhirin e parainstaluar të veglave MinGW. Mund ta merrni nga këtu:

Shkarkoni dhe instaloni atë.

Hapi 4: Testoni IDE -në tuaj

Provoni IDE -në tuaj
Provoni IDE -në tuaj

Për të provuar nëse gjërat shkojnë mirë, filloni bllokimet e kodit, klikoni "krijoni një projekt të ri", zgjidhni "aplikacionin e tastierës", zgjidhni ose c ose c ++, shkruani titullin e projektit të arkës, mbani të paprekur parazgjedhjet në dritaren tjetër dhe klikoni "përfundo ".

Hapi 5: Testi i plotë

Test i plotë
Test i plotë

Pastaj klikoni një trekëndësh të gjelbër në panelin e sipërm të IDE ose përdorni Pika e menusë Build-> Run. Nëse gjërat shkuan mirë Ju duhet të shihni një mesazh nga aplikacioni juaj i autogjeneruar "Përshëndetje botë" në dritaren e zezë "DOS".

Nëse jo, do të thotë që IDE dhe përpiluesi nuk po punojnë siç duhet dhe ju do të duhet të hetoni se si ta vendosni atë në rregull. Ndoshta Ju do të duhet të shkarkoni një version tjetër të mjeteve të programimit ose të kontrolloni lejet e tyre në firewall/programin tuaj antivirus.

Hapi 6: Krijoni një Projekt të Ri

Krijo Projekt të Ri
Krijo Projekt të Ri
Krijo Projekt të Ri
Krijo Projekt të Ri
Krijo Projekt të Ri
Krijo Projekt të Ri
Krijo Projekt të Ri
Krijo Projekt të Ri

Tani duhet të keni një vegël programuese C/C ++ operacionale dhe burime të paketuara të sunxi-tools në dosjen c: / sunxitools / në kompjuterin tuaj. Itsshtë koha për të mbledhur një projekt. Krijoni një projekt të ri në IDE -në tuaj. Zgjidhni projektin e thjeshtë C (jo c ++) të llojit të "aplikacionit të tastierës".

Sigurohuni që jeni duke krijuar projekt në dosjen c: / sunxitools / dhe jo në ndonjë vend tjetër. (Bllokuesit e kodit EG kanë tendencë të bëjnë një nën -dosje me të njëjtin emër siç ka projekti. Pra, nëse e keni emëruar projektin tuaj, thoni "test" dhe përpiquni ta vendosni në c: / sunxitools \, mund të përfundoni me përfundimin e projektit për c: / sunxitools / test / nëse nuk jeni mjaft të vëmendshëm.) Sunxi-tools përmbajnë disa shërbime, por për qëllimin tonë do të na duhet vetëm një: i ashtuquajturi mjet "fexc".

Hapi 7: Shtoni skedarë në projekt

Shtoni skedarë në projekt
Shtoni skedarë në projekt

Pikërisht mjeti "fexc" është përgjegjës për shndërrimin e script.bin në format teksti dhe për konvertimin e pasmë në binar. Essentialshtë thelbësore që ekzekutivi i këtij programi të ketë emrin "fexc.exe", kështu që është mirë nëse e keni quajtur projektin tuaj si "fexc". Sidoqoftë, mund të përdorni ndonjë emër tjetër të projektit, pasi që gjithmonë mund ta riemërtoni ekzekutuesin pas përpilimit, ose ose Mund të zgjidhni "Project-> Properties" nga menyja e sipërme e tërhequr dhe në dritaren që shfaqet klikoni në skedën "Ndërto objektiva", dhe redaktoni fushën "Output filename" atje për të anashkaluar emrin e ekzekutueshëm.

Në projektin tuaj të prodhuar automatikisht Ju duhet të shtoni vetëm pesë skedarë burimi:

  • fexc.c
  • shkrimi.c
  • script_bin.c
  • script_fex.c
  • script_uboot.c

dhe shtatë skedarë me kokë:

  • list.h (zhvendoseni atë nga c: / sunxitools / include / folder / në c: / sunxitools / folder)
  • fexc.h
  • shkrimi.h
  • script_bin.h
  • script_fex.h
  • script_uboot.h
  • versioni.h

Sigurohuni që të përjashtoni main.c të automatizuar nga projekti, sepse fexc.c tashmë ka funksionin "int main" në të. (Mos harroni se çdo program duhet të ketë vetëm një funksion kryesor?).

Të gjithë skedarët e nevojshëm të kodit burimor janë tashmë në nën -dosjen, ku keni shpaketuar kodet burimore. Skedarët e titujve meritojnë një palë fjalë, ku t'i merrni. "list.h" - është zakonisht në nën -dosjen "përfshi" të vendosur kodet burimore të paketuara. "version.h" - thjesht krijojeni vetë. Vendosni një varg si:

#define VERSION "Win32"

Pastaj ruani dhe mbyllni skedarin. (Mund ta dekoroni me #definicione dhe #ifdef nëse dëshironi.)

Nëse tani përpiqeni të përpiloni projektin, ai do të ankohet për shumë gabime dhe një skedar që mungon. Gabimet janë kryesisht për shkak të një lirie të tepruar të stilit, programuesit sunxi-tools që aplikoheshin dhe skedari që mungon është varësia që nuk përfshihet në paketën e kodit burimor. Le ta trajtojmë këtë hap pas hapi.

Hapi 8: Bëni që Gcc Ndiqni Standardin e Gjuhës ISO C 1999

Ndiqni Gcc Ndiqni Standardin e Gjuhës ISO C të vitit 1999
Ndiqni Gcc Ndiqni Standardin e Gjuhës ISO C të vitit 1999

Në mënyrë që përpiluesi të mos ankohet, stili shumë i lirë i programimit vendos standardin "с99" të përpilimit. Në bllokimet e kodit shkoni te menyja "Projekt -> Opsionet e ndërtimit" dhe në "Cilësimet e përpiluesit -> Flamujt e përpiluesit" kontrolloni kutinë e zgjedhjes "Kini gcc ndiqni standardin e gjuhës ISO C 1999". Ose thjesht mund të shtoni "-std = c99" në vargun e opsioneve të përpiluesit tuaj. Tani nëse përpiqeni të përpiloni projektin, ato mijëra gabime duhet të fillojnë dhe Ju jeni një me një me varësinë që mungon.

Hapi 9: Gjeni varësinë që mungon

Gjeni varësinë e munguar
Gjeni varësinë e munguar

Varësia që mungon është skedari "mman.h" - titulli i një lloj menaxheri të kujtesës linux. Windows C nuk ka një skedar të tillë, por për fat të mirë ekziston një portë e Windows. Shkoni te https://github.com/witwall/mman-win32 për Windows. Shkarkoni pamjen e magazinës git.

Hapi 10: Shpaketoni Mmanin

Shpaketoni Mmanin
Shpaketoni Mmanin

Shpaketoni skedarët mman.c dhe mman.h, vendosini në dosjen c: / sunxitools \.

Hapi 11: Dhe i shtoni ato në projekt

Dhe Shtoji ato në Projekt
Dhe Shtoji ato në Projekt

Hapi 12: Rruga e saktë

Rruga e Saktë
Rruga e Saktë

Dhe në skedarin "fex.c" rreshti i rrallë:

#përfshi

te

#përfshi "mman.h"

Në këtë hap, përpiluesi juaj nuk duhet të ankohet për asgjë dhe ju do të merrni pritjen e gjatë fexc.exe si dalje. Mos u gëzo shumë herët. Shërbimi nuk është ende plotësisht funksional. Ju mund ta siguroni këtë duke deshifruar disa skedarë të vlefshëm script.bin në formën e tekstit - skedar script.fex me pasojë kriptimin e skedarit script.fex përsëri në script.bin. Ju mund të vini re se madhësia e skriptit që rezulton ndryshon pak nga madhësia e shkrimit origjinal.bin. Dhe nëse përpiqeni të deshifroni rezultatin edhe një herë, ai do të dështojë. As PI -ja e Portokallisë nuk do të punojë me këtë skenar.bin. Për të marrë mjetin funksional ne duhet të shkarkojmë një bombë kodike, që dikush e ka futur në kodin burimor sunxi-tools. Do të jetë hapi ynë i radhës.

Hapi 13: Ekzorcizmi

Ekzorcizëm
Ekzorcizëm

Për të shkarkuar bombën e kodit hapni skedarin e kodit fexc.c dhe gjeni atje një varg teksti të përmbajtjes tjetër:

tjetër nëse ((jashtë = hapur (emri i skedarit, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {

Vetëm zëvendësojeni atë me vargun tjetër:

tjetër nëse ((jashtë = hapur (emri i skedarit, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {

Nëse jo shifrat e këqija "666" në vargun e parë do të mendoja se koduesi sapo ka harruar të përdorë flamurin O_BINARY. Por Numri i Bishës i sqaron qëllimet e tij në mënyrë transparente. Shikoni, sa gjeniale është: për shkak të ndryshimit të hollë në mënyrën se si përpunohen skedarët në Windows dhe Linux bomba nuk ka asnjë efekt kur programi përpilohet dhe përdoret nën Linux. Por prish gjithçka kur programi përdoret nën Windows.

Pasi të jetë çarmatosur bomba, më në fund mund të përpiloni dhe përdorni me siguri mjetin fexc në kompjuterin tuaj desktop Windows.

Hapi 14: SH NOTNIME

SHENIMET
SHENIMET

1) Për të përdorur mjetin fexc në mënyrë të qetë, duhet të merrni dy skedarë grumbull:

bin2fex.bat - dhe - fex2bin.bat.

Ju mund t'i merrni ato nga ndonjë ndërtesë e gabuar fexc.exe për Windows atje, ose ose mund t'i shkruani ato vetë:

  • bin2fex.bat duhet të përmbajë "fexc -I bin -O fex script.bin script.fex"
  • fex2bin.bat duhet të përmbajë "fexc -O bin -I fex script.fex script.bin"

2) Nëse është e vështirë të gjesh menaxherin mman për Windows, mund të shmangësh përdorimin e tij fare. Megjithatë kërkon shumë më tepër redaktim të skedarit fexc.c dhe kërkon të paktën disa njohuri për c. Për bindjen tuaj, unë ndaj kodin burimor të redaktuar të fexc nga sunxi-tools v1.4 pa varësi nga mman.h së bashku me skedarin e projektit të kodit dhe me script.bin shembull nga disa pi portokalli. Mund të shkarkoni fexc_nomman.zip

3) isshtë e mundur që në versionet pasuese të mjeteve sunxi ata të shtojnë disa varësi të tjera. Mos ngurroni t'i gjeni në internet dhe t'i shtoni në projektin tuaj të përpilimit.

5) Së fundi këtu është versioni i para -përpiluar i fexc.exe për Win32:

fexc_nomman.zip

Nëse jeni mjaft dembel, mos ngurroni të përdorni ver. Sidoqoftë, kini kujdes që nuk do të përditësohet nëse/kur do të jenë në dispozicion versionet më të reja të SunxiTools/Windows. Pra, është më mirë të mësosh se si t'i përpilosh ato sesa të varet nga ndonjë strukturë fikse binare, supozoj.

4) "Orange PI", "Code:: Blocks", "Windows", "Linux", "Sunxi-Tools", "Allwinner", etj … janë markat tregtare korresponduese të pronarëve të tyre përkatës.

5) Nëse Ju përpiluesi ankohet për mos gjetjen e funksioneve mman, si:

referencë e papërcaktuar për '_imp_mmap'

jini të vetëdijshëm se përkufizuesit e bashkësisë së zhvillimit mman kanë harruar që kodi mund të përpilohet jo vetëm si bibliotekë dll. Mund të jetë gjithashtu një bibliotekë statike ose një kod i pavarur siç kemi këtu. Për të rregulluar problemin, redaktoni skedarin "mman.h" si më poshtë:

a) gjeni vargjet:

#nëse është përcaktuar (MIJA_LIBRARA)

#define MMANSHARED_EXPORT _declspec (dllexport) #sele #define MMANSHARED_EXPORT _declspec (dllimport) #endif

b) shtoni vargun

#përcakto MMANSHARED_EXPORT

vetëm nën vargjet e gjetura në hapin e mëparshëm

Recommended: