Talaan ng mga Nilalaman:

Orange PI HowTo: Compile Sunxi Tool para sa Windows Sa ilalim ng Windows: 14 Mga Hakbang (na may Mga Larawan)
Orange PI HowTo: Compile Sunxi Tool para sa Windows Sa ilalim ng Windows: 14 Mga Hakbang (na may Mga Larawan)

Video: Orange PI HowTo: Compile Sunxi Tool para sa Windows Sa ilalim ng Windows: 14 Mga Hakbang (na may Mga Larawan)

Video: Orange PI HowTo: Compile Sunxi Tool para sa Windows Sa ilalim ng Windows: 14 Mga Hakbang (na may Mga Larawan)
Video: HOW TO HACK PISO WIFI | BUG IN PISO WIFI UNLIMITED TIME 999 DAYS! 2024, Hulyo
Anonim
Orange PI HowTo: Magtipon ng Sunxi Tool para sa Windows Sa ilalim ng Windows
Orange PI HowTo: Magtipon ng Sunxi Tool para sa Windows Sa ilalim ng Windows

PREQUISITES:

Kakailanganin mong

  1. Isang (desktop) computer na nagpapatakbo ng Windows.
  2. Isang koneksyon sa Internet.
  3. Isang board ng Orange PI.

Ang huli ay opsyonal, ngunit sigurado ako, na mayroon ka na. Kung hindi, hindi mo ito babasahin ng itinuturo.

Kapag Bumili ka ng solong board ng Orange PI na computer ay mananatili lamang ito ng isang piraso ng patay na metal hanggang sa ma-configure nang maayos. At ang pangunahing file ng pagsasaayos: "script.bin" ang unang susi upang mabuhay ito nang buhay. Ang file na ito ay matatagpuan sa partition ng boot ng Iyong bootable SD card. At sa kabutihang palad sa amin, sa karamihan ng mga pamamahagi ng Linux mula sa Opisyal na site (https://www.orangepi.org/downloadresource/) ang pagkahati na ito ay FAT32 at madaling makita ng anumang Windows computer. Talagang pinapasimple nito ang mga bagay, dahil wala pa ring maaasahang paraan upang magsulat sa mga Linux na part2 na ext2 mula sa ilalim ng Windows.

Malas sa amin ang file ng pagsasaayos ng script.bin ay may binary format na ganap na hindi kanais-nais para sa pag-edit ng tao. Kailangan ng isang uri ng tool ng software upang mai-decrypt ito at bumalik sa crypt pagkatapos magawa ang kinakailangang mga pagbabago. At tulad ng isang toolet ay mayroon. Ito ay kasumpa-sumpa na SUNXI-TOOLS. Ang mabilisang pamahid ay inilaan na tumakbo sa ilalim ng Linux at dapat naming panatilihin ang isang nakatuon na Linux-machine para lamang magamit ang mga sunxi-tool, o upang makahanap ng isang paraan kung paano ito maiipon para sa mga bintana.

Maaari ko lamang itong ipunin at ibahagi ang maipapatupad, ngunit hindi alam ng isa kung nais nilang gumawa ng isang sariwang paglaya at kakailanganin mo ng isang bagong pagsasama-sama sa lalong madaling panahon. Kaya't nagpasya akong gumawa ng isang gabay kung paano mag-ipon ang mahahalagang tool mula sa mga mapagkukunan. Magsimula na tayo.

Hakbang 1: Mag-download ng mga tool sa Sunxi

Mag-download ng mga tool sa Sunxi
Mag-download ng mga tool sa Sunxi
Mag-download ng mga tool sa Sunxi
Mag-download ng mga tool sa Sunxi

Kunin ang pinakabagong (o kinakailangan) na bersyon ng mga sunxi-tool sourcecode. Pumunta sa URL: https://github.com/linux-sunxi/sunxi-tools/releases at piliing mag-download bilang zip archive.

Hakbang 2: I-unzip ang Sourcecode

I-unzip ang Sourcecode
I-unzip ang Sourcecode

Kapag natapos na ang pag-download, i-unzip ang sourcecode sa folder na Iyong pinili. (karagdagang ipalagay ko na ang folder na ito ay c: / sunxitools \, kaya palitan ang landas na ito sa pamamagitan ng iyong sariling landas).

Hakbang 3: I-download ang Code:: mga bloke

I-download ang Code:: mga bloke
I-download ang Code:: mga bloke

Kung Mayroon kang isang naka-install na kopya ng ilang pagpapatakbo c ++ tagatala para sa mga bintana. at kung Alam mo kung paano ito gamitin, maaari kang direktang magpatuloy sa hakbang 3. Ang iba ay dapat makakuha ng tamang c ++ tagatala at isang shell (IDE) upang magamit ito nang kumportable. Ang pinili ko ay code:: mga bloke para sa Windows kasama ang paunang naka-install na MinGW toolchain. Maaari mo itong makuha mula rito:

I-download at i-install ito.

Hakbang 4: Subukan ang Iyong IDE

Subukan ang Iyong IDE
Subukan ang Iyong IDE

Upang masubukan kung ok ang mga bagay, simulan ang mga codeblock, i-click ang "lumikha ng isang bagong proyekto", piliin ang "application ng console", piliin ang alinman sa c o c ++, i-type ang pamagat ng proyekto sa pag-checkout, panatilihing hindi nagalaw ang mga default sa susunod na window at i-click ang "tapusin ".

Hakbang 5: Kumpletuhin ang Pagsubok

Kumpletong Pagsubok
Kumpletong Pagsubok

Pagkatapos mag-click sa isang berdeng tatsulok sa tuktok na panel ng IDE o gamitin ang Build-> Run menu point. Kung naging tama ang mga bagay Dapat mong makita ang isang mensahe mula sa Iyong autogenerated na "Hello world" na application sa itim na window ng "DOS".

Kung hindi, nangangahulugan ito na ang IDE at ang tagatala ay hindi gumagana nang maayos at Kailangan mong siyasatin kung paano ito itatakda nang tama. Marahil ay kakailanganin mong mag-download ng isa pang bersyon ng mga tool sa pagprograma o upang suriin ang kanilang mga pahintulot sa Iyong firewall / antivirus software.

Hakbang 6: Lumikha ng Bagong Project

Lumikha ng Bagong Project
Lumikha ng Bagong Project
Lumikha ng Bagong Project
Lumikha ng Bagong Project
Lumikha ng Bagong Project
Lumikha ng Bagong Project
Lumikha ng Bagong Project
Lumikha ng Bagong Project

Ngayon ay dapat kang magkaroon ng isang toolkit ng programmer ng C / C ++ programmer at ang hindi naka-unpack na mga sunxi-tool sourcecode sa c: / sunxitools / folder sa Iyong computer. Oras nito upang magtipon ng isang proyekto. Lumikha ng bagong proyekto sa Iyong IDE. Piliin ang proyekto ng simpleng C (hindi c ++) ng uri ng "application ng console".

Tiyaking Lumilikha ka ng proyekto sa folder na c: / sunxitools / at hindi sa ilang ibang lugar. (Ang mga EG codeblock ay may posibilidad na gumawa ng isang subfolder na may parehong pangalan tulad ng mayroon ang proyekto. Kaya't kung pinangalanan mo ang Iyong proyekto, sabihin ang "pagsubok", at subukang ilagay ito sa c: / sunxitools \, Maaari kang magtapos sa proyekto na wala na to c: / sunxitools / test / kung Hindi ka sapat na maasikaso.) Naglalaman ang mga tool ng sunxi ng maraming mga kagamitan, ngunit para sa aming hangarin kakailanganin namin ang isa lamang: ang tinaguriang "fexc" na utility.

Hakbang 7: Magdagdag ng Mga File sa Project

Magdagdag ng Mga File sa Project
Magdagdag ng Mga File sa Project

Ang eksaktong "fexc" na utility ay responsable para sa pag-convert ng script.bin sa format ng teksto at para sa back conversion sa binary. Mahalaga na ang maipatupad ng utility na ito ay may pangalang "fexc.exe", kaya't mabuti kung pinangalanan mo ang Iyong proyekto bilang "fexc". Gayunpaman Maaari kang gumamit ng anumang iba pang pangalan ng proyekto, dahil Maaari mong palaging palitan ang pangalan na maipatupad pagkatapos ng pagtitipon, o maaari kang pumili ng "Project-> Mga Katangian" mula sa tuktok na menu ng pulldown at sa lumilitaw na window i-click ang tab na "Bumuo ng mga target", at i-edit ang patlang na "Output filename" doon upang ma-override ang maipapatupad na pangalan.

Sa Iyong autogenerated na proyekto Dapat kang magdagdag ng limang mga file ng mapagkukunan lamang:

  • fexc.c
  • iskrip.c
  • script_bin.c
  • script_fex.c
  • script_uboot.c

at pitong mga file ng header:

  • list.h (ilipat ito form c: / sunxitools / isama / folder sa c: / sunxitools / folder)
  • fexc.h
  • iskrip.h
  • script_bin.h
  • script_fex.h
  • script_uboot.h
  • bersyon.h

Tiyaking ibukod ang autogenerated main.c mula sa proyekto, dahil ang fexc.c ay mayroon nang "int main" na function dito. (Tandaan na ang anumang programa ay dapat magkaroon lamang ng isang pangunahing pagpapaandar?).

Ang lahat ng kinakailangang mga file ng mapagkukunan ng code ay nasa subfolder, kung saan mo na-unpack ang mga sourcecode. Ang mga file ng header ay karapat-dapat sa isang pares ng mga salita, kung saan makuha ang mga ito. Ang "list.h" - ay karaniwang nasa "isama" na subfolder ng itinakdang mga hindi naka-pack na sourcecode. "bersyon.h" - lumikha lamang ng Iyong Sarili. Maglagay doon ng isang string tulad ng:

# tukuyin ang VERSION "Win32"

Pagkatapos ay i-save at isara ang file. (Maaari mong palamutihan ito ng # kahulugan at # ifdef kung nais mo.)

Kung susubukan mo ngayon na buuin ang proyekto magreklamo ito tungkol sa maraming mga error at isang nawawalang file. Ang mga pagkakamali ay kadalasang sanhi ng kaunting labis na kalayaan sa istilo, ang mga programmer ng sunxi-tool na ginamit upang mag-apply, at ang nawawalang file ay ang pagsalig na hindi kasama sa pack ng source code. Hinahayaan ang hakbang na ito sa hakbang-hakbang.

Hakbang 8: Sundin ang Gcc sa Pamantayang Wika ng ISO ISO 1999

Sundin ang Gcc sa Pamantayan sa Wika ng ISO ISO 1999
Sundin ang Gcc sa Pamantayan sa Wika ng ISO ISO 1999

Upang hindi magreklamo ang tagatala ang masyadong libreng istilo ng pagprograma itakda ang "с99" na standart ng pagtitipon. Sa mga codeblock pumunta sa menu na "Project -> Build Opsyon" at sa menu na "Mga Setting ng Compiler -> Mga Flag ng Compiler" lagyan ng check ang "Sundin ang gcc sa pamantayang 1999 ISO C wika na pamantayan". O Maaari mo lamang idagdag ang "-std = c99" sa Iyong mga pagpipilian sa compiler string. Ngayon kung susubukan mong mag-compile ng proyekto ang mga toneladang error na iyon ay dapat na maganap at Isa ka sa isang nawawalang pagpapakandili.

Hakbang 9: Hanapin ang Nawawalang Pag-asa

Hanapin ang Nawawalang Pag-asa
Hanapin ang Nawawalang Pag-asa

Ang nawawalang pagpapakandili ay "mman.h" file - ang header ng ilang uri ng linux memory manager. Ang Windows C ay katutubo na walang ganoong file, ngunit sa kabutihang palad mayroong isang windows port nito. Pumunta sa https://github.com/witwall/mman-win32 para sa mga bintana. I-download ang snapshot ng git repository.

Hakbang 10: I-unpack ang Mman

I-unpack ang Mman
I-unpack ang Mman

I-unpack ang mga file na mman.c at mman.h, ilagay ang mga ito sa folder na c: / sunxitools \.

Hakbang 11: At Idagdag ang mga ito sa Proyekto

At Idagdag Sila sa Proyekto
At Idagdag Sila sa Proyekto

Hakbang 12: Tamang Landas

Tamang Landas
Tamang Landas

At sa file na "fex.c" na linya ng raplece:

# isama

sa

# isama ang "mman.h"

Sa hakbang na ito Ang iyong tagatala ay hindi dapat magreklamo ng anumang bagay at Makakakuha ka ng mahabang paghihintay na fexc.exe bilang output. Dont be happy too maaga. Ang utility ay hindi pa rin ganap na gumagana. Maaari mong matiyak ito sa pamamagitan ng pag-decrypt ng ilang wastong script.bin file sa form ng teksto - script.fex file na may kinahinatnang pag-encrypt ng script.fex file pabalik sa script.bin. Maaari mong tandaan na ang laki ng nagresultang script.bin ay bahagyang naiiba mula sa laki ng orihinal na script.bin. At kung susubukan mong i-decrypt ang nagresultang muli muli itong mabibigo. Hindi gagana ang Orange PI sa script na ito.bin. Upang makuha ang functional utility kailangan nating maglabas ng isang code bomb, na ang isang tao ay inilagay sa sunxi-tool sourcecode. Ito ang aming susunod na hakbang.

Hakbang 13: Exorcism

Exorcism
Exorcism

Upang maipalabas ang code bomb buksan ang fexc.c code file at hanapin doon ang isang text string ng susunod na nilalaman:

kung hindi man ((out = open (filename, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {

Palitan lamang ito ng susunod na string:

kung hindi ((labas = bukas (filename, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {

Kung hindi ang mga masasamang digit na "666" sa unang string ay iisipin kong nakalimutan lamang ng coder na gamitin ang O_BINARY flag. Ngunit ang Bilang ng The Beast ay malinaw na linawin ang kanyang mga hangarin. Pumunta sa figure, kung gaano ito talino: dahil sa banayad na pagkakaiba sa kung paano iproseso ang mga file sa Windows at Linux ang bomba ay walang epekto kapag ang utility ay naipon at ginamit sa ilalim ng Linux. Ngunit sinisira nito ang lahat kapag ang utility ay ginagamit sa ilalim ng Windows.

Matapos ma-disarmahan ang bomba, Maaari ka ring makaayos at ligtas na magamit ang utility na fexc sa Iyong Windows desktop computer.

Hakbang 14: TANDAAN

TANDAAN
TANDAAN

1) Upang magamit nang komportable ang fexc utility, Dapat kang makakuha ng dalawang mga file ng batch:

bin2fex.bat - at - fex2bin.bat.

Maaari mong makuha ang mga ito mula sa ilang faily fexc.exe build para sa Windows doon, o alinman Maaari mong i-type ang mga ito sa Iyong Sarili:

  • ang bin2fex.bat ay dapat maglaman ng "fexc -ako bin -O fex script.bin script.fex"
  • dapat maglaman ang fex2bin.bat ng "fexc -O bin -Ako fex script.fex script.bin"

2) Kung mahirap hanapin ang mman manager para sa Windows ay maiiwasan ang paggamit nito sa lahat. Gayunman, tumatagal ito ng higit na pag-edit ng file na fexc.c at kinukuha ang hindi bababa sa ilang kaalaman sa c. Para sa Iyong paninindigan ibinabahagi ko ang na-edit na sourcecode ng fexc mula sa mga sunxi-tool v1.4 na libre mula sa pagtitiwala sa mman.h kasama ang file ng proyekto ng codeblocks at may sample na script.bin mula sa ilang orange pi. Maaari mong i-download ang fexc_nomman.zip

3) Posibleng sa mga kinahinatnan na bersyon ng mga sunxi-tool ay magdaragdag sila ng ilang higit pang mga dependency. Huwag mag-atubiling hanapin ang mga ito sa internet at idagdag ang mga ito sa Iyong proyekto sa pagtitipon.

5) Sa wakas narito ang precompiled na bersyon ng fexc.exe para sa Win32:

fexc_nomman.zip

Kung Ikaw ay tamad na sapat huwag mag-atubiling gamitin ang ver. Gayunpaman mag-ingat na hindi ito maa-update kung / kapag ang mga mas bagong bersyon ng SunxiTools / Windows ay magagamit. Kaya't mas mahusay na malaman kung paano isulat ang mga ito kaysa sa umasa sa ilang nakapirming pagbuo ng binary, ipinapalagay ko.

4) Ang "Orange PI", "Code:: Blocks", "Windows", "Linux", "Sunxi-Tools", "Allwinner", atbp… Ay ang mga tumutukoy na trademark ng kani-kanilang mga may-ari.

5) Kung Nagreklamo ka ng compiler tungkol sa hindi paghanap ng mga pagpapaandar ng mman, tulad ng:

hindi natukoy na sanggunian sa '_imp_mmap'

magkaroon ng kamalayan na tukuyin ang mga mahilig sa komunidad ng pag-unlad ng mman ay nakalimutan na ang code ay maaaring maiipon hindi lamang bilang dll library. Maaari rin itong maging isang static na aklatan o isang standalone code tulad ng mayroon kami dito. Upang ayusin ang problema i-edit ang "mman.h" file tulad ng sumusunod:

a) hanapin ang mga string:

# kung tinukoy (MMAN_LIBRARY)

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

b) idagdag ang string

# tukuyin ang MMANSHARED_EXPORT

sa ibaba lamang ng mga string na natagpuan sa nakaraang hakbang

Inirerekumendang: