Mündəricat:

Narıncı PI HowTo: Windows altında Windows üçün Sunxi Alətini tərtib edin: 14 Addım (Şəkillərlə birlikdə)
Narıncı PI HowTo: Windows altında Windows üçün Sunxi Alətini tərtib edin: 14 Addım (Şəkillərlə birlikdə)

Video: Narıncı PI HowTo: Windows altında Windows üçün Sunxi Alətini tərtib edin: 14 Addım (Şəkillərlə birlikdə)

Video: Narıncı PI HowTo: Windows altında Windows üçün Sunxi Alətini tərtib edin: 14 Addım (Şəkillərlə birlikdə)
Video: 360 TL'lik Raspberry Pi 4 mini bilgisayar ile EBA'ya girdik! 2024, Noyabr
Anonim
Narıncı PI HowTo: Windows altında Windows üçün Sunxi Alətini tərtib edin
Narıncı PI HowTo: Windows altında Windows üçün Sunxi Alətini tərtib edin

TƏKLİFLƏR:

Sizə lazım olacaq

  1. Windows ilə işləyən (masaüstü) kompüter.
  2. İnternet bağlantısı.
  3. Portağal PI lövhəsi.

Sonuncu isteğe bağlıdır, amma əminəm ki, sizdə artıq var. Əks təqdirdə, bu təlimatı oxumayacaqsınız.

Orange PI tək lövhəli kompüter aldıqda, düzgün qurulana qədər yalnız bir parça ölü metal olaraq qalır. Və əsas konfiqurasiya faylı: "script.bin", onu diri hala gətirən ilk açardır. Bu fayl, önyüklenebilir SD kartınızın açılış hissəsində yerləşir. Və xoşbəxtlikdən, Rəsmi saytdan (https://www.orangepi.org/downloadresources/) Linux paylamalarının çoxunda bu bölmə FAT32 -dir və hər hansı bir Windows kompüteri tərəfindən asanlıqla görülə bilər. Windows -un altından Linux ext2 arakəsmələrinə yazmağın etibarlı bir yolu olmadığından işləri çox sadələşdirir.

Bizim üçün şanssız olan script.bin konfiqurasiya faylı, insan redaktəsi üçün tamamilə düşmən olmayan ikili formata malikdir. Lazımi dəyişikliklər edildikdən sonra şifrəni açmaq və geri qaytarmaq üçün bir növ proqram vasitəsinə ehtiyac var. Və belə bir alət dəsti mövcuddur. Məşhur SUNXI-TOOLS. Məlhəmin əsası, Linux altında çalışmaqdır və ya yalnız sunxi alətlərindən istifadə etmək üçün xüsusi bir Linux maşını saxlamalıyıq və ya onları Windows üçün necə tərtib edəcəyimizi tapmalıyıq.

Sadəcə onu tərtib edib icra edilə bilən faylları paylaşa bilərdim, amma heç kim bilmir ki, təzə buraxmaq istərlər və ASAP yeni bir tərtibata ehtiyacınız olacaq. Mən əsas vasitəni mənbələrdən necə tərtib edəcəyimi bələdçi etmək qərarına gəldim. Gəlin başlayaq.

Addım 1: Sunxi alətlərini yükləyin

Sunxi alətlərini yükləyin
Sunxi alətlərini yükləyin
Sunxi alətlərini yükləyin
Sunxi alətlərini yükləyin

Sunxi-tools qaynaq kodunun ən son (və ya lazımlı) versiyasını əldə edin. URL-ə keçin: https://github.com/linux-sunxi/sunxi-tools/releases və zip arxivi olaraq yükləməyi seçin.

Addım 2: Mənbə kodunu açın

Mənbə kodunu açın
Mənbə kodunu açın

Yükləmə başa çatdıqdan sonra qaynaq kodunu seçdiyiniz qovluğa açın. (bundan sonra bu qovluğun c: / sunxitools / olduğunu düşünəcəyəm, buna görə də bu yolu öz yolunuzla əvəz edin).

Addım 3: Kodu yükləyin:: bloklar

Kodu yükləyin:: bloklar
Kodu yükləyin:: bloklar

Windows üçün bəzi əməliyyat c ++ kompilyatorunun quraşdırılmış bir nüsxəsi varsa. və necə istifadə edəcəyinizi bilirsinizsə, 3 -cü addıma keçə bilərsiniz. Digərləri rahat istifadə etmək üçün uyğun bir c ++ tərtibçisi və qabığı (IDE) almalıdır. Mənim seçimim əvvəlcədən quraşdırılmış MinGW alət zənciri ilə birlikdə Windows üçün kod:: bloklarıdır. Buradan əldə edə bilərsiniz:

Yükləyin və quraşdırın.

Addım 4: IDE -ni sınayın

IDE -ni sınayın
IDE -ni sınayın

İşlərin yaxşı olub olmadığını yoxlamaq üçün kod bloklarına başlayın, "yeni bir layihə yaradın" düyməsini basın, "konsol tətbiqi" ni seçin, ya c və ya c ++ seçin, yoxlama layihəsinin adını yazın, növbəti pəncərədə defoltları toxunulmaz saxlayın və "bitir" düyməsini basın. ".

Addım 5: Testi tamamlayın

Testi tamamlayın
Testi tamamlayın

Sonra IDE-nin üst panelindəki yaşıl üçbucağı vurun və ya Build-> Run menyu nöqtəsindən istifadə edin. Hər şey qaydasındadırsa, qara "DOS" pəncərəsində avtomatik yaradılmış "Hello world" tətbiqinizdən bir mesaj görməlisiniz.

Əks təqdirdə, IDE və tərtibçinin düzgün işləmədiyini bildirir və onu necə düzgün quracağınızı araşdırmalı olacaqsınız. Yəqin ki, proqramlaşdırma vasitələrinin başqa bir versiyasını yükləməli və ya firewall/antivirus proqramınızdakı icazələrini yoxlamalı olacaqsınız.

Addım 6: Yeni bir layihə yaradın

Yeni Layihə Yarat
Yeni Layihə Yarat
Yeni Layihə Yarat
Yeni Layihə Yarat
Yeni Layihə Yarat
Yeni Layihə Yarat
Yeni Layihə Yarat
Yeni Layihə Yarat

İndi əməliyyat C/C ++ proqramçı alətlər dəstinə və açılmamış sunxi-tools qaynaq kodlarına kompüterinizdə c: / sunxitools / qovluğunda sahib olmalısınız. Bir layihə toplamaq vaxtıdır. IDE -də yeni bir layihə yaradın. "Konsol tətbiqi" tipli düz C (c ++ deyil) layihəsini seçin.

Layihəni başqa bir yerdə deyil, c: / sunxitools / qovluğunda yaratdığınızdan əmin olun. (EG kod blokları, layihənin adı ilə eyni adı olan bir alt qovluq hazırlamağa meyllidir. Buna görə də layihənizin adını qoymusunuzsa, "test" deyin və c: / sunxitools / 'da yerləşdirməyə çalışın, bitmiş layihə ilə nəticələnə bilərsiniz. to c: / sunxitools / test / Əgər kifayət qədər diqqətli deyilsinizsə.) Sunxi alətlərində bir neçə köməkçi proqram var, amma məqsədimiz üçün yalnız birinə ehtiyacımız olacaq: "fexc" adlı yardım proqramı.

Addım 7: Faylları Layihəyə əlavə edin

Layihəyə Fayl əlavə edin
Layihəyə Fayl əlavə edin

Tam olaraq "fexc" yardım proqramı script.bin -in mətn formatına çevrilməsindən və arxa tərəfin ikili formaya çevrilməsindən məsuldur. Bu köməkçi proqramın "fexc.exe" adına sahib olması vacibdir, buna görə də layihənizi "fexc" adlandırsanız yaxşıdır. Layihənin başqa bir adından istifadə edə bilərsiniz, çünki tərtib edildikdən sonra həmişə icra olunan faylın adını dəyişə bilərsiniz və ya yuxarı açılan menyudan "Layihə-> Xüsusiyyətlər" i seçə bilərsiniz və görünən pəncərədə "Hədəflər qur" sekmesini vurun, və icra olunan adı ləğv etmək üçün "Çıxış fayl adı" sahəsini redaktə edin.

Avtomatik yaradılan layihənizə yalnız beş mənbə faylı əlavə etməlisiniz:

  • fexc.c
  • skript.c
  • script_bin.c
  • script_fex.c
  • script_uboot.c

və yeddi başlıq faylı:

  • list.h (c: / sunxitools / include / qovluğunu c: / sunxitools / qovluğuna köçürün)
  • fexc.h
  • ssenari.h
  • script_bin.h
  • script_fex.h
  • script_uboot.h
  • versiya.h

Autogenerated main.c -ni layihədən çıxardığınızdan əmin olun, çünki fexc.c -də artıq "int main" funksiyası var. (Unutmayın ki, hər hansı bir proqramın yalnız bir əsas funksiyası olmalıdır?).

Bütün lazımi mənbə kodları faylları, qaynaq kodlarını açdığınız alt qovluqdadır. Başlıq sənədləri bir cüt sözə layiqdir, onları haradan əldə etmək olar. "list.h" - ümumiyyətlə açılmamış qaynaq kodlarının "daxil et" alt qovluğundadır. "version.h" - sadəcə özünüz yaradın. Oraya belə bir sim qoyun:

#define VERSION "Win32"

Sonra faylı saxlayıb bağlayın. (İstəsəniz #Defin və #ifdef ilə bəzəyə bilərsiniz.)

İndi layihəni tərtib etməyə çalışsanız, çoxlu səhvlərdən və bir itkin fayldan şikayət edəcək. Səhvlər, bir az həddindən artıq üslub azadlığından, tətbiq etmək üçün istifadə olunan sunxi alətləri proqramçılarından və itkin fayl mənbə kodunun paketinə daxil edilməyən asılılıqdan qaynaqlanır. Gəlin addım -addım bu məsələ ilə məşğul olaq.

Addım 8: Gcc -dən 1999 ISO C Dil Standartına əməl edin

Gcc -dən 1999 -cu il ISO C Dil Standartına əməl edin
Gcc -dən 1999 -cu il ISO C Dil Standartına əməl edin

Tərtibçinin şikayət etməməsi üçün çox sərbəst proqramlaşdırma tərzi tərtibatın "с99" standartını təyin edir. Kod bloklarında "Layihə -> Quraşdırma Seçimləri" menyusuna gedin və "Tərtibçi Ayarları -> Kompilyator Bayraqları" nda "gcc -in 1999 ISO C dil standartına riayət etməsini" yoxlayın. Və ya sadəcə "-std = c99" -u tərtibçi seçimlərinizə əlavə edə bilərsiniz. İndi layihəni tərtib etməyə çalışsanız, o ton səhvlərin getməli olduğunu və itkin asılılıqla bir-bir olduğunuzu söyləyə bilərsiniz.

Addım 9: Eksik olan asılılığı tapın

İtkin asılılığı tapın
İtkin asılılığı tapın

Eksik olan asılılıq, bir növ linux yaddaş menecerinin başlığı olan "mman.h" faylıdır. Windows C -də belə bir fayl yoxdur, amma xoşbəxtlikdən bunun bir Windows portu var. Windows üçün https://github.com/witwall/mman-win32 ünvanına daxil olun. Git deposunun anlıq görüntüsünü yükləyin.

Addım 10: Adamın paketini açın

Adamın paketini açın
Adamın paketini açın

Mman.c və mman.h fayllarını açın, c: / sunxitools / qovluğuna qoyun.

Addım 11: Və onları Layihəyə əlavə edin

Və bunları Layihəyə əlavə edin
Və bunları Layihəyə əlavə edin

Addım 12: Doğru Yol

Düzgün Yol
Düzgün Yol

Və "fex.c" faylında raplece xətti:

#daxil edin

#"mman.h" daxil edin

Bu addımda tərtibçiniz heç bir şeydən şikayət etməməlidir və uzun müddət gözləyən fexc.exe faylını çıxış olaraq alacaqsınız. Çox erkən xoşbəxt olma. Kommunal hələ də tam işləmir. Bunu etibarlı bir script.bin faylının şifrəsini mətn formasına - script.fex faylına çevirərək script.fex faylını yenidən script.bin -ə şifrələməklə təmin edə bilərsiniz. Yaranan script.bin ölçüsünün orijinal script.bin ölçüsündən bir qədər fərqləndiyini qeyd edə bilərsiniz. Və nəticəni bir daha deşifr etməyə çalışsanız, uğursuz olacaq. Nə Orange PI bu script.bin ilə işləməyəcək. Funksional yardım proqramı əldə etmək üçün kimsə sunxi alətləri qaynaq koduna qoyduğu bir kod bombasını boşaltmalıyıq. Növbəti addımımız olacaq.

Addım 13: Şeytan çıxarma

Exorcism
Exorcism

Kod bombasını boşaltmaq üçün fexc.c kod faylını açın və orada növbəti məzmunun mətn sətrini tapın:

else if ((out = açıq (fayl adı, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {

Sadəcə aşağıdakı sim ilə əvəz edin:

else if ((out = açıq (fayl adı, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {

İlk sətirdəki "666" pis rəqəmləri olmasa, kodlaşdırıcının O_BINARY bayrağını istifadə etməyi unutduğunu düşünürəm. Ancaq The Beast of The Beast, niyyətini şəffaf şəkildə aydınlaşdırır. Gedin, nə qədər ağıllıdır: Faylların Windows və Linux -da işlənməsindəki incə fərqə görə, köməkçi proqram Linux -un altında tərtib edilərkən bomba heç bir təsir göstərmir. Ancaq köməkçi proqram Windows altında işlədikdə hər şeyi məhv edir.

Bomba tərksilah edildikdən sonra, nəhayət Windows masa üstü kompüterinizdə fexc yardım proqramını tərtib edib təhlükəsiz istifadə edə bilərsiniz.

Addım 14: QEYDLƏR

QEYDLƏR
QEYDLƏR

1) fexc yardım proqramından rahat istifadə etmək üçün iki toplu fayl almalısınız:

bin2fex.bat - və - fex2bin.bat.

Onları Windows üçün bəzi fexc.exe quruluşlarından əldə edə bilərsiniz və ya özünüz yaza bilərsiniz:

  • bin2fex.bat "fexc -I bin -O fex script.bin script.fex" ehtiva etməlidir
  • fex2bin.bat "fexc -O bin -I fex script.fex script.bin" ehtiva etməlidir

2) Windows üçün mman menecerini tapmaq çətindirsə, onun istifadəsindən tamamilə qaçınmaq olar. Bununla birlikdə, fexc.c faylının daha çox redaktəsi tələb olunur və ən azından c haqqında bəzi məlumatları tələb edir. Sizin inandırıcılığınız üçün mən cxnblocks layihə faylı və bəzi narıncı pi nümunə script.bin ilə birlikdə mman.h asılılığından azad olan sunxi-tools v1.4-dən fexc-in redaktə edilmiş qaynaq kodunu paylaşıram. Fexc_nomman.zip yükləyə bilərsiniz

3) Sunxi alətlərinin sonrakı versiyalarında daha bir neçə asılılıq əlavə edəcəkləri mümkündür. Onları İnternetdə tapmaqdan və tərtibat layihənizə əlavə etməkdən çəkinməyin.

5) Nəhayət burada Win32 üçün fexc.exe -nin əvvəlcədən tərtib edilmiş versiyası:

fexc_nomman.zip

Kifayət qədər tənbəlsinizsə, ver istifadə etməkdən çekinmeyin. Ancaq unutmayın ki, SunxiTools/Windows -un yeni versiyaları əlçatan olanda/yenilənməyəcək. Güman edirəm ki, müəyyən bir ikili quruluşdan asılı olmaqdan daha çox onları necə tərtib etməyi öyrənmək daha yaxşıdır.

4) "Orange PI", "Code:: Blocks", "Windows", "Linux", "Sunxi-Tools", "Allwinner" və s.… Müvafiq sahiblərinin müxbir ticarət nişanlarıdır.

5) Kompilyator mman funksiyalarının tapılmamasından şikayət edirsə, məsələn:

'_imp_mmap' üçün təyin olunmamış istinad

mman inkişaf ictimaiyyətinin həvəskarlarının kodun yalnız dll kitabxanası olaraq tərtib edilə biləcəyini unutduğunu unutmayın. Buradakı statik kitabxana və ya müstəqil bir kod da ola bilər. Problemi həll etmək üçün "mman.h" faylını aşağıdakı kimi düzəldin:

a) simləri tapın:

#təyin olunarsa (MMAN_KİTABXANASI)

#MMANSHARED_EXPORT _declspec (dllexport) #başqa #MMANSHARED_EXPORT _declspec (dllimport) #endif təyin edin

b) simli əlavə edin

#MMANSHARED_EXPORT təyin edin

əvvəlki addımda tapılan simlərin altında

Tövsiyə: