Სარჩევი:

ნარინჯისფერი PI როგორ: შეადგინეთ Sunxi Tool Windows– ისთვის Windows– ში: 14 ნაბიჯი (სურათებით)
ნარინჯისფერი PI როგორ: შეადგინეთ Sunxi Tool Windows– ისთვის Windows– ში: 14 ნაბიჯი (სურათებით)

ვიდეო: ნარინჯისფერი PI როგორ: შეადგინეთ Sunxi Tool Windows– ისთვის Windows– ში: 14 ნაბიჯი (სურათებით)

ვიდეო: ნარინჯისფერი PI როგორ: შეადგინეთ Sunxi Tool Windows– ისთვის Windows– ში: 14 ნაბიჯი (სურათებით)
ვიდეო: Machine Learning with Python! Train, Test, Split for Evaluating Models 2024, ივლისი
Anonim
ნარინჯისფერი PI როგორ: შეადგინეთ Sunxi Tool Windows– ისთვის Windows– ის ქვეშ
ნარინჯისფერი PI როგორ: შეადგინეთ Sunxi Tool Windows– ისთვის Windows– ის ქვეშ

წინაპირობები:

თქვენ დაგჭირდებათ

  1. (დესკტოპის) კომპიუტერი, რომელსაც აქვს Windows.
  2. ინტერნეტ კავშირი.
  3. ნარინჯისფერი PI დაფა.

ბოლო არჩევითია, მაგრამ დარწმუნებული ვარ, რომ თქვენ უკვე გაქვთ ის. წინააღმდეგ შემთხვევაში თქვენ არ წაიკითხავთ ამ ინსტრუქციას.

როდესაც ყიდულობთ Orange PI ერთ დაფაზე კომპიუტერს, ის რჩება მხოლოდ მკვდარი ლითონის ნაჭრებად, სანამ არ იქნება კონფიგურირებული. და მისი ძირითადი კონფიგურაციის ფაილი: "script.bin" არის პირველი გასაღები, რომელიც მას გაცოცხლებს. ეს ფაილი მდებარეობს თქვენი ჩამტვირთავი SD ბარათის ჩატვირთვის დანაყოფში. და ჩვენთვის საბედნიეროდ, Linux– ის უმეტეს ნაწილში ოფიციალური საიტიდან (https://www.orangepi.org/downloadresources/) ეს დანაყოფი არის FAT32 და მისი ნახვა ადვილია ნებისმიერი Windows კომპიუტერის მიერ. ეს მართლაც ამარტივებს ნივთებს, ვინაიდან ჯერ კიდევ არ არსებობს საიმედო გზა Linux– ის ext2 დანაყოფებში ჩაწეროთ Windows– ის ქვეშ.

ჩვენ არ გაგვიმართლა script.bin კონფიგურაციის ფაილს აქვს ორობითი ფორმატი სრულიად არამეგობრული ადამიანის რედაქტირებისთვის. ადამიანს სჭირდება რაიმე სახის პროგრამული უზრუნველყოფის ინსტრუმენტი, რათა გაიშიფროს იგი და უკან დაიხიოს საჭირო ცვლილებების შემდეგ. და ასეთი ინსტრუმენტების ნაკრები არსებობს. ეს არის სამარცხვინო SUNXI-TOOLS. მალამოში გაფრენა ის არის, რომ ის გამიზნულია Linux– ის ქვეშ და ჩვენ ან უნდა შევინარჩუნოთ Linux– ის გამოყოფილი მანქანა მხოლოდ sunxi ინსტრუმენტების გამოსაყენებლად, ან ვიპოვოთ გზა როგორ შევადგინოთ ისინი Windows– ისთვის.

მე შემიძლია უბრალოდ შევაგროვო და გავუზიარო შესრულებადი, მაგრამ არავინ იცის, სურთ თუ არა მათ ახალი გამოშვება და თქვენ დაგჭირდებათ ახალი კრებული სასწრაფოდ. ამიტომ გადავწყვიტე შემექმნა გზამკვლევი, თუ როგორ უნდა შემეგროვებინა აუცილებელი ინსტრუმენტი წყაროებიდან. Დავიწყოთ.

ნაბიჯი 1: ჩამოტვირთეთ Sunxi- ინსტრუმენტები

ჩამოტვირთეთ Sunxi ინსტრუმენტები
ჩამოტვირთეთ Sunxi ინსტრუმენტები
ჩამოტვირთეთ Sunxi ინსტრუმენტები
ჩამოტვირთეთ Sunxi ინსტრუმენტები

მიიღეთ sunxi-tools წყაროს კოდის უახლესი (ან აუცილებელი) ვერსია. გადადით URL– ზე: https://github.com/linux-sunxi/sunxi-tools/releases და შეარჩიეთ zip არქივის სახით გადმოწერა.

ნაბიჯი 2: გახსენით წყაროს კოდი

გახსენით წყაროს კოდი
გახსენით წყაროს კოდი

გადმოტვირთვის დასრულების შემდეგ, გახსენით წყაროს კოდი თქვენი არჩევანის საქაღალდეში. (შემდგომში ვივარაუდებ, რომ ეს საქაღალდე არის c: / sunxitools \, ასე რომ შეცვალეთ ეს გზა თქვენივე ბილიკით).

ნაბიჯი 3: ჩამოტვირთეთ კოდი:: ბლოკები

ჩამოტვირთეთ კოდი:: ბლოკები
ჩამოტვირთეთ კოდი:: ბლოკები

თუ თქვენ გაქვთ დაინსტალირებული რამდენიმე ოპერატიული c ++ შემდგენელი Windows- ისთვის. და თუ თქვენ იცით, როგორ გამოიყენოთ იგი, შეგიძლიათ პირდაპირ გააგრძელოთ ნაბიჯი 3. სხვებმა უნდა მიიღონ შესაბამისი c ++ შემდგენელი და გარსი (IDE), რომ ის კომფორტულად გამოიყენონ. ჩემი არჩევანი არის კოდი:: ბლოკები Windows– ისთვის და წინასწარ დაინსტალირებული MinGW ინსტრუმენტთა ქსელი. შეგიძლიათ მიიღოთ აქედან:

გადმოწერეთ და დააინსტალირეთ.

ნაბიჯი 4: შეამოწმეთ თქვენი IDE

შეამოწმეთ თქვენი IDE
შეამოწმეთ თქვენი IDE

იმის შესამოწმებლად, ყველაფერი კარგად არის, დაიწყეთ კოდის დაბლოკვა, დააწკაპუნეთ "შექმენით ახალი პროექტი", შეარჩიეთ "კონსოლის აპლიკაცია", შეარჩიეთ c ან c ++, ჩაწერეთ გადახდის პროექტის სათაური, შეინახეთ ნაგულისხმევი ხელუხლებელი შემდეგ ფანჯარაში და დააწკაპუნეთ "დასრულება ".

ნაბიჯი 5: სრული ტესტირება

სრული ტესტი
სრული ტესტი

შემდეგ დააწკაპუნეთ მწვანე სამკუთხედზე IDE- ს ზედა პანელზე ან გამოიყენეთ Build-> Run მენიუს წერტილი. თუ საქმეები სწორად წარიმართა თქვენ უნდა ნახოთ შეტყობინება თქვენი ავტოგენერირებული "Hello world" პროგრამის შავ "DOS" ფანჯარაში.

თუ არა, ეს ნიშნავს, რომ IDE და შემდგენელი არ მუშაობს სწორად და თქვენ მოგიწევთ გამოიკვლიოთ, თუ როგორ უნდა დააყენოთ ის სწორად. ალბათ თქვენ უნდა გადმოწეროთ პროგრამირების ინსტრუმენტების სხვა ვერსია ან შეამოწმოთ მათი უფლებები თქვენს firewall/ანტივირუსულ პროგრამულ უზრუნველყოფაში.

ნაბიჯი 6: შექმენით ახალი პროექტი

შექმენით ახალი პროექტი
შექმენით ახალი პროექტი
შექმენით ახალი პროექტი
შექმენით ახალი პროექტი
შექმენით ახალი პროექტი
შექმენით ახალი პროექტი
შექმენით ახალი პროექტი
შექმენით ახალი პროექტი

ახლა თქვენ უნდა გქონდეთ ოპერატიული C/C ++ პროგრამისტის ინსტრუმენტარიუმი და დაუფუთავი sunxi-tools წყაროს კოდები თქვენს კომპიუტერში c: / sunxitools / საქაღალდეში. დროა შევიკრიბოთ პროექტი. შექმენით ახალი პროექტი თქვენს 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 / საქაღალდეში c: / sunxitools / საქაღალდეში)
  • fecc.h
  • სკრიპტი.ჰ
  • script_bin.h
  • script_fex.h
  • script_uboot.h
  • ვერსია. თ

აუცილებლად გამორიცხეთ ავტოგენერირებული main.c პროექტიდან, რადგან fexc.c- ს უკვე აქვს "int main" ფუნქცია. (გახსოვდეთ, რომ ნებისმიერ პროგრამას უნდა ჰქონდეს მხოლოდ ერთი ძირითადი ფუნქცია?).

ყველა საჭირო კოდის ფაილი უკვე არის ქვესაქაღალდეში, სადაც თქვენ გახსენით წყაროს კოდები. სათაურის ფაილები იმსახურებს წყვილ სიტყვას, სად უნდა მოიპოვოს ისინი. "list.h" - ჩვეულებრივ არის "მოიცავს" ქვესაქაღალდეში დაუმუშავებელი წყაროს კოდების კომპლექტში. "version.h" - უბრალოდ შექმენით იგი საკუთარ თავს. განათავსეთ იქ ისეთი სტრიქონი, როგორიცაა:

#განსაზღვრეთ ვერსია "Win32"

შემდეგ შეინახეთ და დახურეთ ფაილი. (თქვენ შეგიძლიათ დაამშვენოთ #განსაზღვრებით და #ifdef- ით, თუ გსურთ.)

თუ თქვენ ახლა ცდილობთ პროექტის შედგენას, ის უჩივის უამრავ შეცდომას და ერთ ფაილს. შეცდომები უმეტესწილად გამოწვეულია სტილის გადაჭარბებული თავისუფლებით, რასაც იყენებდნენ sunxi-tools პროგრამისტები, ხოლო დაკარგული ფაილი არის დამოკიდებულება, რომელიც არ შედის წყაროს კოდის პაკეტში. მოდით გავუმკლავდეთ ამას ეტაპობრივად.

ნაბიჯი 8: დაიცავით Gcc 1999 წლის ISO C ენის სტანდარტი

დაიცავით Gcc დაიცავით 1999 წლის ISO C ენის სტანდარტი
დაიცავით Gcc დაიცავით 1999 წლის ISO C ენის სტანდარტი

იმისათვის, რომ შემდგენელმა არ დაიწუწუნოს, პროგრამირების ძალიან თავისუფალმა სტილმა დააწესა კომპილაციის "с99" სტანდარტი. კოდების ბლოკებში გადადით მენიუში "პროექტი -> შექმნის პარამეტრები" და "შემდგენლის პარამეტრები -> შემდგენლის დროშები" მონიშნეთ ჩამრთველი "დაიცავით gcc დაიცავით 1999 წლის ISO C ენის სტანდარტი". ან თქვენ უბრალოდ შეგიძლიათ დაამატოთ "-std = c99" თქვენს შემდგენელთა პარამეტრების სტრიქონში. ახლა თუ თქვენ ცდილობთ პროექტის შედგენას, ეს ტონა შეცდომები უნდა დაიწყოს და თქვენ ერთი ხართ დაკარგული დამოკიდებულებით.

ნაბიჯი 9: იპოვეთ დაკარგული დამოკიდებულება

იპოვეთ დაკარგული დამოკიდებულება
იპოვეთ დაკარგული დამოკიდებულება

დაკარგული დამოკიდებულება არის ფაილი "mman.h" - ლინუქსის მეხსიერების მენეჯერის სათაური. Windows C- ს არ აქვს ასეთი ფაილი, მაგრამ საბედნიეროდ არსებობს Windows პორტი. გადადით https://github.com/witwall/mman-win32 ფანჯრებისთვის. ჩამოტვირთეთ git საცავის სურათი.

ნაბიჯი 10: გახსენით კაცი

მოხსენი კაცი
მოხსენი კაცი

გახსენით mman.c და mman.h ფაილები, განათავსეთ ისინი c: / sunxitools / საქაღალდეში.

ნაბიჯი 11: და დაამატე ისინი პროექტს

და დაამატე ისინი პროექტს
და დაამატე ისინი პროექტს

ნაბიჯი 12: სწორი გზა

სწორი გზა
სწორი გზა

და ფაილში "fex.c" raplece line:

#ჩართეთ

რომ

#მოიცავს "mman.h"

ამ ეტაპზე თქვენი შემდგენელი არაფერს უჩივის და თქვენ მიიღებთ ხანგრძლივ ლოდინს fexc.exe როგორც გამომავალი. ნუ იქნები ძალიან ბედნიერი ადრე. პროგრამა ჯერ კიდევ არ არის სრულად ფუნქციონირებული. თქვენ შეგიძლიათ ამის უზრუნველყოფა მოახდინოთ ზოგიერთი მოქმედი script.bin ფაილის ტექსტურ ფორმაში - script.fex ფაილში, რის შემდეგაც script.fex ფაილი დაშიფრული იქნება script.bin- ში. თქვენ შეგიძლიათ გაითვალისწინოთ, რომ მიღებული სკრიპტის ზომა. ბინი ოდნავ განსხვავდება ორიგინალური სკრიპტის ზომისგან. და თუ თქვენ შეეცდებით კიდევ ერთხელ გაშიფროთ შედეგი, ის ვერ მოხერხდება. არც ნარინჯისფერი PI არ იმუშავებს ამ სკრიპტით.bin. ფუნქციონალური სარგებლობის მისაღებად ჩვენ უნდა გამოვუშვათ კოდის ბომბი, რომელიც ვიღაცამ ჩადო sunxi- ინსტრუმენტების წყაროს კოდში. ეს იქნება ჩვენი შემდეგი ნაბიჯი.

ნაბიჯი 13: ეგზორციზმი

ეგზორციზმი
ეგზორციზმი

კოდის ბომბის ამოღების მიზნით გახსენით fexc.c კოდის ფაილი და იქ იპოვნეთ შემდეგი შინაარსის ტექსტური სტრიქონი:

else if ((გარეთ = ღია (ფაილის სახელი, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {

უბრალოდ შეცვალეთ იგი შემდეგი სტრიქონით:

else if ((გარეთ = ღია (ფაილის სახელი, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {

რომ არა ბოროტი ციფრები "666" პირველ სტრიქონში, მე ვიფიქრებ, რომ კოდიერმა უბრალოდ დაივიწყა O_BINARY დროშის გამოყენება. მაგრამ მხეცის რიცხვი ნათლად განმარტავს მის განზრახვას. გადახედეთ, რამდენად გენიალურია: ფაილების დამუშავების დახვეწილი განსხვავების გამო Windows და Linux– ში ბომბი არ იმოქმედებს, როდესაც ეს პროგრამა შედგენილია და გამოიყენება Linux– ის ქვეშ. მაგრამ ის ანგრევს ყველაფერს, როდესაც პროგრამა გამოიყენება Windows– ის ქვეშ.

ბომბის განიარაღების შემდეგ, თქვენ შეგიძლიათ საბოლოოდ შეადგინოთ და უსაფრთხოდ გამოიყენოთ fexc პროგრამა თქვენს Windows დესკტოპის კომპიუტერზე.

ნაბიჯი 14: შენიშვნები

შენიშვნები
შენიშვნები

1) რომ გამოიყენოთ fexc პროგრამა კომფორტულად, თქვენ უნდა მიიღოთ ორი სურათის ფაილი:

bin2fex.bat - და - fex2bin.bat.

თქვენ შეგიძლიათ მიიღოთ ისინი Windows– ისთვის failed 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 მენეჯერის მენეჯერის პოვნა, მისი თავიდან აცილება შეიძლება საერთოდ. თუმცა ეს მოითხოვს გაცილებით მეტ რედაქტირებას fexc.c ფაილზე და მოითხოვს სულ მცირე ცოდნას c. თქვენი რწმენისთვის მე ვიზიარებ fexc- ის რედაქტირებულ წყაროს კოდს sunxi-tools v1.4– დან mman.h– ზე დამოკიდებულებისგან თავისუფლად, codeblocks პროექტის ფაილთან ერთად და სკრიპტის ნიმუშთან ერთად. Orange ზოგიერთი pi– დან. შეგიძლიათ ჩამოტვირთოთ fexc_nomman.zip

3) შესაძლებელია, რომ sunxi ინსტრუმენტების შემდგომ ვერსიებში ისინი დაამატებენ სხვა დამოკიდებულებებს. მოგერიდებათ იპოვოთ ისინი ინტერნეტით და დაამატოთ ისინი თქვენს შედგენის პროექტში.

5) დაბოლოს აქ არის fexc.exe– ის წინასწარ შედგენილი ვერსია Win32– ისთვის:

fexc_nomman.zip

თუ საკმარისად ზარმაცი ხართ, შეგიძლიათ გამოიყენოთ ver. ამასთან, ფრთხილად იყავით, რომ ის არ განახლდება, თუ/როდის იქნება ხელმისაწვდომი SunxiTools/Windows– ის ახალი ვერსიები. ასე რომ, უკეთესია ვისწავლოთ მათი შედგენა, ვიდრე ვივარაუდოთ რაიმე ფიქსირებული ორობითი აღნაგობის შესახებ, ვფიქრობ.

4) "ნარინჯისფერი 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

სტრიქონების ქვემოთ ნაპოვნი წინა საფეხურზე

გირჩევთ: