Բովանդակություն:

Orange PI HowTo: Կազմել Sunxi գործիքը Windows- ի համար Windows- ում. 14 քայլ (նկարներով)
Orange PI HowTo: Կազմել Sunxi գործիքը Windows- ի համար Windows- ում. 14 քայլ (նկարներով)

Video: Orange PI HowTo: Կազմել Sunxi գործիքը Windows- ի համար Windows- ում. 14 քայլ (նկարներով)

Video: Orange PI HowTo: Կազմել Sunxi գործիքը Windows- ի համար Windows- ում. 14 քայլ (նկարներով)
Video: Orange Pi PC 2024, Դեկտեմբեր
Anonim
Orange PI HowTo: Կազմել Sunxi գործիքը Windows- ի համար Windows- ի ներքո
Orange PI HowTo: Կազմել Sunxi գործիքը Windows- ի համար Windows- ի ներքո

ՊԱՀԱՆՆԵՐ.

Ձեզ պետք կգա

  1. Windows- ով աշխատող (աշխատասեղան) համակարգիչ:
  2. Ինտերնետ կապ:
  3. Orange PI տախտակ:

Վերջինը կամընտիր է, բայց վստահ եմ, որ այն արդեն ունեք: Հակառակ դեպքում դուք չեք կարդա սա ուսանելի:

Երբ գնում եք Orange PI- ի մեկ տախտակի համակարգիչ, այն մնում է ընդամենը մեռած մետաղի մի կտոր, մինչև ճիշտ կազմաձևվի: Եվ դրա հիմնական կազմաձևման ֆայլը ՝ «script.bin» - ը այն բանալին դարձնելու առաջին բանալին է: Այս ֆայլը գտնվում է ձեր bootable SD քարտի boot partition- ում: Եվ ի ուրախություն մեզ, Պաշտոնական կայքի (https://www.orangepi.org/downloadresources/) Linux բաշխումների մեծ մասում այս բաժինը FAT32 է և հեշտությամբ տեսանելի է ցանկացած Windows համակարգչի կողմից: Դա իսկապես պարզեցնում է իրերը, քանի որ դեռևս չկա Windows- ի տակից Linux ext2 միջնապատերի մեջ գրելու հուսալի միջոց:

Մեզ դժբախտ է, որ script.bin կազմաձևման ֆայլը երկուական ձևաչափ ունի ՝ բոլորովին անբարյացակամ մարդկային խմբագրման համար: Անհրաժեշտ է ինչ -որ ծրագրային գործիք ՝ այն վերծանելու և անհրաժեշտ փոփոխություններից հետո հետ գողանալու համար: Եվ նման գործիքակազմ գոյություն ունի: Դա տխրահռչակ SUNXI-TOOLS է: Քսուքի մեջ թռչելն այն է, որ այն նախատեսված է աշխատելու Linux- ի ներքո, կամ մենք պետք է Linux- ի հատուկ մեքենա պահենք միայն sunxi գործիքներից օգտվելու համար, կամ գտնենք պատուհանների համար դրանք կազմելու միջոց:

Ես կարող էի պարզապես կազմել այն և կիսել գործարկվողը, բայց երբեք չգիտես, արդյոք նրանք կցանկանային նոր թողարկում կատարել, և քեզ անհրաժեշտ կլինի շուտով նոր հավաքածու: Այսպիսով, ես որոշեցի կազմել ուղեցույց, թե ինչպես կազմել հիմնական գործիքը աղբյուրներից: Եկեք սկսենք.

Քայլ 1: Ներբեռնեք Sunxi- գործիքները

Ներբեռնեք Sunxi- գործիքներ
Ներբեռնեք Sunxi- գործիքներ
Ներբեռնեք Sunxi- գործիքներ
Ներբեռնեք Sunxi- գործիքներ

Ստացեք sunxi-tools աղբյուրի կոդի վերջին (կամ անհրաժեշտ) տարբերակը: Գնացեք URL ՝ https://github.com/linux-sunxi/sunxi-tools/releases և ընտրեք ներբեռնել որպես zip արխիվ:

Քայլ 2: Բացեք աղբյուրի ծածկագիրը

Բացեք աղբյուրի ծածկագիրը
Բացեք աղբյուրի ծածկագիրը

Ներբեռնումն ավարտվելուց հետո բացեք աղբյուրի կոդը ձեր ընտրած թղթապանակում: (հետագայում ես ենթադրելու եմ, որ այս թղթապանակը c: / sunxitools / է, այնպես որ փոխարինեք այս ուղին ձեր սեփական ճանապարհով):

Քայլ 3: Ներբեռնեք ծածկագիրը:: բլոկները

Ներբեռնեք ծածկագիրը:: բլոկներ
Ներբեռնեք ծածկագիրը:: բլոկներ

Եթե ունեք Windows- ի համար որոշ գործառնական c ++ կոմպիլյատորի տեղադրված պատճեն: և եթե գիտեք, թե ինչպես օգտագործել այն, կարող եք ուղղակիորեն անցնել 3 -րդ քայլին: Մյուսները պետք է ձեռք բերեն համապատասխան c ++ կոմպիլյատոր և պատյան (IDE) `այն հարմարավետ օգտագործելու համար: Իմ ընտրությունը կոդ:: բլոկներ է Windows- ի համար `նախապես տեղադրված MinGW գործիքաշղթայի հետ միասին: Դուք կարող եք այն ստանալ այստեղից ՝

Ներբեռնեք և տեղադրեք այն:

Քայլ 4: Փորձարկեք ձեր IDE- ն

Փորձարկեք ձեր IDE- ն
Փորձարկեք ձեր IDE- ն

Ստուգելու համար, թե արդյոք ամեն ինչ կարգին է, սկսեք կոդաբլոկները, կտտացրեք «ստեղծել նոր նախագիծ», ընտրեք «մխիթարել ծրագիր», ընտրեք կամ c կամ c ++, մուտքագրեք մուտքի նախագծի անվանումը, հաջորդ պատուհանում անպաշտպան պահեք կանխադրվածները և կտտացրեք «ավարտել».

Քայլ 5: Ամբողջական փորձարկում

Ամբողջական թեստ
Ամբողջական թեստ

Այնուհետև կտտացրեք IDE- ի վերին վահանակի կանաչ եռանկյունուն կամ օգտագործեք Build-> Run ընտրացանկի կետը: Եթե ամեն ինչ ճիշտ ընթացավ, դուք պետք է տեսնեք հաղորդագրություն Ձեր ինքնագեներացված «Բարև աշխարհ» հավելվածի սև «DOS» պատուհանում:

Եթե ոչ, դա նշանակում է, որ IDE- ն և կազմողը ճիշտ չեն աշխատում, և դուք ստիպված կլինեք հետաքննել, թե ինչպես այն ճիշտ դնել: Հավանաբար, դուք ստիպված կլինեք ներբեռնել ծրագրավորման գործիքների մեկ այլ տարբերակ կամ ստուգել դրանց թույլտվությունները ձեր firewall/հակավիրուսային ծրագրաշարում:

Քայլ 6: Ստեղծեք նոր նախագիծ

Ստեղծել նոր նախագիծ
Ստեղծել նոր նախագիծ
Ստեղծել նոր նախագիծ
Ստեղծել նոր նախագիծ
Ստեղծել նոր նախագիծ
Ստեղծել նոր նախագիծ
Ստեղծել նոր նախագիծ
Ստեղծել նոր նախագիծ

Այժմ դուք պետք է ունենաք գործառնական C/C ++ ծրագրավորողի գործիքակազմ և ձեր համակարգչի c: / sunxitools / թղթապանակում չփաթեթավորված sunxi-tools աղբյուրի կոդերը: Itsամանակն է հավաքել նախագիծ: Ստեղծեք նոր նախագիծ ձեր IDE- ում: Ընտրեք «մխիթարել ծրագիր» տիպի պարզ C (ոչ c ++) նախագիծը:

Համոզվեք, որ Դուք նախագիծ եք ստեղծում c: / sunxitools / թղթապանակում և ոչ թե որևէ այլ վայրում: (EG կոդաբլոկները հակված են ենթածրագիր կազմել նույն անունով, ինչ նախագիծն ունի: Այսպիսով, եթե դուք անվանել եք ձեր նախագիծը, ասեք «թեստ» և փորձեք տեղադրել այն c: / sunxitools / - ում, կարող եք ավարտին հասցնել նախագիծը դեպի c: / sunxitools / test \, եթե բավական ուշադիր չեք:) Sunxi- գործիքները պարունակում են մի քանի կոմունալ ծառայություններ, սակայն մեր նպատակի համար մեզ պետք կլինի միայն մեկը `այսպես կոչված« fexc »օգտակար:

Քայլ 7: Ֆայլեր ավելացրեք նախագծին

Ավելացնել ֆայլեր նախագծին
Ավելացնել ֆայլեր նախագծին

Հենց «fexc» կոմունալ ծառայությունը պատասխանատու է script.bin- ը տեքստային ձևաչափի վերածելու և հետադարձային երկուական դարձնելու համար: Կարևոր է, որ այս օգտակար ծրագրի գործադիրն ունենա «fexc.exe» անունը, ուստի լավ է, եթե ձեր նախագիծը անվանել եք «fexc»: Այնուամենայնիվ, կարող եք օգտագործել նախագծի ցանկացած այլ անուն, քանի որ միշտ կարող եք վերանվանել գործարկվողը կազմվելուց հետո, կամ կարող եք ընտրել «Նախագիծ-> հատկություններ» վերևի վերևի ընտրացանկից և հայտնվող պատուհանում սեղմել «Կառուցել թիրախներ» ներդիրը, և այնտեղ խմբագրել «Ելքի ֆայլի անունը» դաշտը `գործածվող անունը չեղարկելու համար:

Ձեր ավտոգեներացված նախագծին Դուք պետք է ավելացնեք ընդամենը հինգ աղբյուրային ֆայլ.

  • fecc.c
  • սցենար.գ
  • script_bin.c
  • script_fex.c
  • script_uboot.c

և վերնագրի յոթ ֆայլ.

  • list.h (այն տեղափոխեք c: / sunxitools / include / folder / c: / sunxitools / folder)
  • fexc.h
  • սցենար.հ
  • script_bin.h
  • script_fex.h
  • script_uboot.h
  • տարբերակ. ժ

Համոզվեք, որ նախագծից բացառեք ինքնավերարտադրվող main.c- ն, քանի որ fexc.c- ն արդեն ունի «int main» գործառույթը: (Հիշո՞ւմ եք, որ ցանկացած ծրագիր պետք է ունենա միայն մեկ հիմնական գործառույթ):

Բոլոր անհրաժեշտ կոդային ֆայլերն արդեն գտնվում են ենթապանակում, որտեղից բացել եք սկզբնաղբյուրները: Վերնագրի ֆայլերը արժանի են զույգ բառերի, որտեղից դրանք ստանալ: «list.h» - սովորաբար գտնվում է չփաթեթավորված կոդերի հավաքածուի «ներառել» ենթապանակում: "version.h" - պարզապես ստեղծեք այն ինքներդ: Տեղադրեք այնտեղ այնպիսի տող, ինչպիսին է.

#սահմանել VERSION «Win32»

Այնուհետև պահեք և փակեք ֆայլը: (Եթե ցանկանում եք, այն կարող եք զարդարել #define- ով և #ifdef- ով):

Եթե այժմ փորձեք կազմել նախագիծը, այն կբողոքի բազմաթիվ սխալների և մեկ բաց թողնված ֆայլից: Սխալները հիմնականում պայմանավորված են ոճի մի փոքր ավելորդ ազատությամբ, նախկինում կիրառվում էին sunxi-tools ծրագրավորողները, իսկ բացակայող ֆայլը կախվածությունն է, որը ներառված չէ աղբյուրի կոդի տուփում: Եկեք քայլ առ քայլ վերաբերվենք դրան:

Քայլ 8. Խնդրեք Gcc- ին հետևել 1999 թվականի ISO C լեզվի ստանդարտին

Հետևեք Gcc- ին հետևել 1999 թվականի ISO C լեզվի ստանդարտին
Հետևեք Gcc- ին հետևել 1999 թվականի ISO C լեզվի ստանդարտին

Որպեսզի կոմպիլյատորը չբողոքի, ծրագրավորման չափազանց ազատ ոճը սահմանեց հավաքածուի «с99» ստանդարտը: Կոդաբլոկներում անցեք «Նախագիծ -> Կառուցեք ընտրանքներ» ընտրացանկին և «Կազմողի կարգավորումներ -> Կոմպիլյատորների դրոշներ» նշեք «Have gcc follow 1999 ISO C language standard» նշանը: Կամ պարզապես կարող եք ավելացնել «-std = c99» ձեր կոմպիլյատորների ընտրանքների տողում: Այժմ, եթե փորձեք կազմել նախագիծը, այդ տոննա սխալները պետք է սկսվեն, և դուք մեկից մեկ բացակայում եք կախվածությունից:

Քայլ 9: Գտեք բացակայող կախվածությունը

Գտեք բացակայող կախվածությունը
Գտեք բացակայող կախվածությունը

Բացակայող կախվածությունը «mman.h» ֆայլն է ՝ ինչ -որ linux հիշողության մենեջերի վերնագիր: Windows C- ն նման ֆայլ չունի, բայց բարեբախտաբար դրա պատուհանների պորտը կա: Գնացեք https://github.com/witwall/mman-win32 պատուհանների համար: Ներբեռնեք git պահեստի լուսանկարը:

Քայլ 10: Բացեք տղամարդը

Բացեք տղամարդը
Բացեք տղամարդը

Բացեք mman.c և mman.h ֆայլերը, տեղադրեք դրանք c: / sunxitools / թղթապանակում:

Քայլ 11: Եվ դրանք ավելացրեք նախագծին

Եվ ավելացրեք դրանք նախագծին
Եվ ավելացրեք դրանք նախագծին

Քայլ 12: rectիշտ ուղի

Corիշտ ուղի
Corիշտ ուղի

Իսկ ֆայլում «fex.c» raplece line:

#ներառում

դեպի

#ներառել «mman.h»

Այս քայլում ձեր կոմպիլյատորը չպետք է բողոքի որևէ բանից, և որպես ելք կստանաք երկար սպասման fexc.exe- ն: Մի՛ ուրախացեք շատ շուտ: Կոմունալը դեռ լիովին չի գործում: Դուք կարող եք դա ապահովել ՝ գաղտնագրելով վավեր script.bin ֆայլը տեքստային ձևի մեջ - script.fex ֆայլ, որի հետևանքով script.fex ֆայլը նորից կծրագրեք script.bin- ին: Կարող եք նկատել, որ ստացված script.bin- ի չափը փոքր -ինչ տարբերվում է սկզբնական script.bin- ի չափից: Եվ եթե փորձեք հերթական անգամ վերծանել արդյունքը, ապա այն ձախողվելու է: Ոչ Orange PI- ն չի աշխատի այս script.bin- ով: Ֆունկցիոնալ օգտակարությունը ստանալու համար մենք պետք է լիցքաթափենք կոդի ռումբ, որը ինչ-որ մեկը տեղադրել է sunxi-tools- ի աղբյուրի կոդի մեջ: Դա կլինի մեր հաջորդ քայլը:

Քայլ 13: Exorcism

Էկզորցիզմ
Էկզորցիզմ

Կոդի ռումբը լիցքաթափելու համար բացեք fexc.c կոդի ֆայլը և այնտեղ գտեք հաջորդ բովանդակության տեքստային տողը.

այլապես եթե ((դուրս = բաց (ֆայլի անունը, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {

Պարզապես փոխարինեք այն հաջորդ տողով.

այլապես, եթե ((դուրս = բաց (ֆայլի անունը, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {

Եթե չլինեին առաջին տողի «666» չար թվերը, ես կարծում էի, որ ծածկագրողը պարզապես մոռացել է օգտագործել O_BINARY դրոշը: Բայց «Գազանի թիվը» իր թափանցիկությամբ հստակեցնում է իր մտադրությունները: Գնացեք, որքան հնարամիտ է. Windows- ի և Linux- ի ֆայլերի մշակման նուրբ տարբերության պատճառով ռումբը որևէ ազդեցություն չի ունենում, երբ կոմունալը կազմվում և օգտագործվում է Linux- ի ներքո: Բայց դա փչացնում է ամեն ինչ, երբ կոմունալն օգտագործվում է Windows- ի տակ:

Ռումբը զինաթափվելուց հետո, վերջապես, կարող եք կազմել և ապահով օգտագործել ձեր Windows աշխատասեղանի համակարգչի վրա օգտագործվող fexc ծրագիրը:

Քայլ 14: ՆՇՈՄՆԵՐ

ՆՇՈՄՆԵՐ
ՆՇՈՄՆԵՐ

1) Fexc կոմունալ ծառայությունից հարմարավետ օգտվելու համար դուք պետք է ստանաք երկու խմբաքանակի ֆայլ.

bin2fex.bat - և - fex2bin.bat.

Դուք կարող եք դրանք ստանալ Windows- ի համար գոյություն ունեցող fexc.exe կառուցվածքից, կամ կարող եք դրանք ինքներդ մուտքագրել.

  • bin2fex.bat- ը պետք է պարունակի «fexc -I bin -O fex script.bin script.fex»
  • fex2bin.bat- ը պետք է պարունակի «fexc -O bin -I fex script.fex script.bin»

2) Եթե Windows- ի համար mman մենեջեր գտնելը դժվար է, կարելի է ընդհանրապես խուսափել դրա օգտագործումից: Այնուամենայնիվ, դա շատ ավելի շատ խմբագրում է fexc.c ֆայլը և պահանջում է գ. Ձեր համոզմունքի համար ես կիսում եմ fexc- ի խմբագրված աղբյուրը sunxi-tools v1.4- ից ՝ mman.h- ից կախվածությունից զերծ, ինչպես նաև codeblocks նախագծի ֆայլից և նմուշային script.bin- ից որոշ նարնջագույն pi- ից: Կարող եք ներբեռնել fexc_nomman.zip

3) Հնարավոր է, որ sunxi- գործիքների հետագա տարբերակներում նրանք ավելացնեն որոշ այլ կախվածություններ: Ազատորեն գտեք դրանք ինտերնետի միջոցով և ավելացրեք դրանք ձեր հավաքածուի նախագծին:

5) Վերջապես, ահա Win32- ի համար fexc.exe- ի նախապես կազմված տարբերակը.

fexc_nomman.zip

Եթե բավական ծույլ եք, ազատ զգացեք օգտագործել ver. Այնուամենայնիվ, զգուշացեք, որ այն չի թարմացվի, եթե/երբ հասանելի կլինեն SunxiTools/Windows- ի նոր տարբերակները: Այսպիսով, ավելի լավ է սովորել, թե ինչպես դրանք կազմել, քան կախված եմ ինչ -որ ֆիքսված երկուական կառուցվածքից, ենթադրում եմ:

4) «Orange PI», «Code:: Blocks», «Windows», «Linux», «Sunxi-Tools», «Allwinner» և այլն … նրանց համապատասխան սեփականատերերի համապատասխան ապրանքային նշաններն են:

5) Եթե Դուք կազմողը բողոքում է mman գործառույթներ չգտնելու համար, ինչպես.

չսահմանված հղում '_imp_mmap' - ին

Տեղյակ եղեք, որ մարդկության զարգացման համայնքի սիրահարները մոռացել են, որ ծածկագիրը կարող է կազմվել ոչ միայն որպես dll գրադարան: Այն կարող է լինել նաև ստատիկ գրադարան կամ առանձին կոդ, ինչպես մենք ունենք այստեղ: Խնդիրը շտկելու համար խմբագրեք «mman.h» ֆայլը հետևյալ կերպ.

ա) գտնել տողերը.

#եթե սահմանված է (MMAN_LIBRARY)

#սահմանել MMANSHARED_EXPORT _declspec (dllexport) #այլ #սահմանել MMANSHARED_EXPORT _declspec (dllimport) #endif

բ) ավելացնել տողը

#սահմանեք MMANSHARED_EXPORT

նախորդ քայլում հայտնաբերված տողերի տակ

Խորհուրդ ենք տալիս: