Isi kandungan:

Orange PI HowTo: Menyusun Alat Sunxi untuk Windows Di Bawah Windows: 14 Langkah (dengan Gambar)
Orange PI HowTo: Menyusun Alat Sunxi untuk Windows Di Bawah Windows: 14 Langkah (dengan Gambar)

Video: Orange PI HowTo: Menyusun Alat Sunxi untuk Windows Di Bawah Windows: 14 Langkah (dengan Gambar)

Video: Orange PI HowTo: Menyusun Alat Sunxi untuk Windows Di Bawah Windows: 14 Langkah (dengan Gambar)
Video: YEAH! Single Board Computer (SBC) 8 Core yang Powerfull dan MURAH - ORANGE PI 5 🔥 2024, November
Anonim
Orange PI HowTo: Menyusun Alat Sunxi untuk Windows Di Bawah Windows
Orange PI HowTo: Menyusun Alat Sunxi untuk Windows Di Bawah Windows

KEPERLUAN:

Anda perlu

  1. Komputer (desktop) yang menjalankan Windows.
  2. Sambungan Internet.
  3. Papan Orange PI.

Yang terakhir adalah pilihan, tetapi saya pasti, bahawa Anda sudah memilikinya. Jika tidak, anda tidak akan membaca arahan ini.

Apabila anda membeli komputer papan tunggal Orange PI, ia hanya tinggal sekeping logam mati sehingga dikonfigurasikan dengan betul. Dan fail konfigurasi utamanya: "script.bin" adalah kunci pertama untuk menghidupkannya. Fail ini terletak di partition boot dari kad SD anda yang dapat di-boot. Dan bernasib baik kepada kami, di sebilangan besar pengedaran Linux dari laman rasmi (https://www.orangepi.org/downloadresources/) partisi ini adalah FAT32 dan dapat dilihat dengan mudah oleh mana-mana komputer Windows. Ini benar-benar mempermudah sesuatu, kerana masih belum ada cara yang boleh dipercayai untuk menulis ke partisi ext2 Linux dari bawah Windows.

Malang bagi kami fail konfigurasi script.bin mempunyai format binari yang tidak ramah untuk penyuntingan manusia. Seseorang memerlukan sejenis alat perisian untuk menyahsulitnya dan membuat penyembunyian semula setelah pengubahsuaian yang diperlukan telah dibuat. Dan set alat seperti itu memang ada. Ia adalah SUNXI-ALAT yang terkenal. Lekapan dalam salap adalah bahawa ia bertujuan untuk berjalan di bawah Linux dan kita harus menyimpan mesin Linux khusus untuk hanya menggunakan alat sunxi, atau untuk mencari cara bagaimana menyusunnya untuk windows.

Saya hanya dapat menyusunnya dan berkongsi yang dapat dilaksanakan, tetapi tidak pernah tahu sama ada mereka ingin membuat rilis baru dan Anda memerlukan kompilasi baru secepat mungkin. Oleh itu, saya memutuskan untuk membuat panduan bagaimana menyusun alat penting dari sumbernya. Mari kita mulakan.

Langkah 1: Muat turun alat Sunxi

Muat turun alat Sunxi
Muat turun alat Sunxi
Muat turun alat Sunxi
Muat turun alat Sunxi

Dapatkan versi terkini (atau perlu) kod sumber alat sunxi. Pergi ke URL: https://github.com/linux-sunxi/sunxi-tools/releases dan pilih untuk memuat turun sebagai arkib zip.

Langkah 2: Buka zip Kod Sumber

Buka zip Kod Sumber
Buka zip Kod Sumber

Setelah muat turun selesai, buka zip kod sumber ke folder pilihan anda. (Selanjutnya saya akan menganggap bahawa folder ini adalah c: / sunxitools \, jadi ganti jalan ini dengan jalan anda sendiri).

Langkah 3: Muat turun Kod:: blok

Muat turun Kod:: blok
Muat turun Kod:: blok

Sekiranya anda mempunyai salinan terpasang beberapa penyusun c ++ operasi untuk windows. dan jika Anda tahu menggunakannya, Anda boleh terus ke langkah 3. Orang lain harus mendapatkan penyusun c ++ dan shell (IDE) yang sesuai untuk menggunakannya dengan selesa. Pilihan saya adalah kod:: blok untuk Windows bersama dengan rantai alat MinGW yang telah dipasang sebelumnya. Anda boleh mendapatkannya dari sini:

Muat turun dan pasangkannya.

Langkah 4: Uji IDE anda

Uji IDE Anda
Uji IDE Anda

Untuk menguji apakah semuanya berjalan lancar, mulakan blok kod, klik "buat projek baru", pilih "aplikasi konsol", pilih c atau c ++, taipkan tajuk projek pembayaran, pastikan lalai tidak tersentuh di tetingkap seterusnya dan klik "selesaikan ".

Langkah 5: Ujian Lengkap

Ujian Lengkap
Ujian Lengkap

Kemudian klik segitiga hijau di panel atas IDE atau gunakan titik menu Build-> Run. Sekiranya semuanya berjalan dengan betul, anda akan melihat mesej dari aplikasi "Hello world" yang dibuat secara automatik di tetingkap hitam "DOS".

Sekiranya tidak, ini bermaksud bahawa IDE dan penyusun tidak berfungsi dengan baik dan Anda harus menyiasat bagaimana menetapkannya dengan betul. Mungkin Anda perlu memuat turun versi lain dari alat pengaturcaraan atau untuk memeriksa kebenarannya dalam perisian firewall / antivirus Anda.

Langkah 6: Buat Projek Baru

Buat Projek Baru
Buat Projek Baru
Buat Projek Baru
Buat Projek Baru
Buat Projek Baru
Buat Projek Baru
Buat Projek Baru
Buat Projek Baru

Sekarang Anda harus mempunyai kit alat pengatur C / C ++ operasi dan kod sumber alat sunxi yang belum dibungkus dalam folder c: / sunxitools / di komputer anda. Sudah tiba masanya untuk menyusun projek. Buat projek baru di IDE Anda. Pilih projek C (bukan c ++) biasa dari jenis "aplikasi konsol".

Pastikan bahawa anda membuat projek di folder c: / sunxitools / dan bukan di tempat lain. (EG codeblock cenderung membuat subfolder dengan nama yang sama dengan projek tersebut. Oleh itu, jika Anda telah menamakan projek Anda, katakan "test", dan cuba letakkan di c: / sunxitools \, Anda mungkin akan berakhir dengan projek tersebut ke c: / sunxitools / test / jika Anda tidak cukup perhatian.) Alat sunxi mengandungi beberapa utiliti, tetapi untuk tujuan kami, kami hanya memerlukan satu: utiliti yang disebut "fexc".

Langkah 7: Tambahkan Fail ke Projek

Tambah Fail ke Projek
Tambah Fail ke Projek

Utiliti "fexc" yang tepat bertanggungjawab untuk penukaran script.bin ke dalam format teks dan untuk penukaran kembali menjadi binary. Penting untuk pelaksanaan utiliti ini mempunyai nama "fexc.exe", jadi ada baiknya jika Anda menamakan projek anda sebagai "fexc". Walau bagaimanapun Anda boleh menggunakan nama lain dari projek, kerana Anda selalu dapat mengubah nama yang dapat dilaksanakan setelah penyusunan, atau salah satu daripada Anda boleh memilih "Project-> Properties" dari menu pulldown teratas dan pada tetingkap yang muncul klik tab "Build target", dan edit bidang "Output filename" di sana untuk menggantikan nama yang boleh dilaksanakan.

Untuk projek autogenerated Anda Anda harus menambahkan hanya lima fail sumber:

  • fexc.c
  • skrip.c
  • script_bin.c
  • script_fex.c
  • script_uboot.c

dan tujuh fail tajuk:

  • list.h (pindahkannya bentuk c: / sunxitools / include / folder ke c: / sunxitools / folder)
  • fexc.h
  • skrip.h
  • script_bin.h
  • script_fex.h
  • script_uboot.h
  • versi.h

Pastikan untuk mengecualikan main.c autogenerated dari projek, kerana fexc.c sudah mempunyai fungsi "int main" di dalamnya. (Ingat bahawa setiap program hanya boleh mempunyai satu fungsi utama?).

Semua fail kod sumber yang diperlukan sudah ada dalam subfolder, di mana Anda telah membongkar kod sumber. Fail tajuk layak untuk sepasang kata, di mana untuk mendapatkannya. "list.h" - biasanya terdapat dalam subfolder "include" dari kod sumber yang belum dibungkus. "version.h" - buat sendiri. Letakkan tali seperti:

#tentukan VERSI "Win32"

Kemudian simpan dan tutup fail. (Anda boleh menghiasnya dengan # define dan # ifdef jika anda mahu.)

Sekiranya anda sekarang cuba menyusun projek, ia akan mengadu banyak kesalahan dan satu fail yang hilang. Kesalahannya kebanyakan disebabkan oleh sedikit kebebasan gaya yang berlebihan, pengaturcara alat sunxi yang biasa digunakan, dan fail yang hilang adalah kebergantungan yang tidak dimasukkan ke dalam paket kod sumber. Mari kita atasi langkah demi langkah ini.

Langkah 8: Minta Gcc Mengikuti Piawaian Bahasa ISO C 1999

Telah Gcc Mengikuti Piawaian Bahasa ISO C 1999
Telah Gcc Mengikuti Piawaian Bahasa ISO C 1999

Agar penyusun tidak mengeluh gaya pengaturcaraan yang terlalu bebas, tetapkan "kompilasi" с99 sebagai standard. Dalam sekatan kod pergi ke menu "Projek -> Pilihan Pembinaan" dan di kotak pilihan "Tetapan Pengkompilasi -> Bendera Penyusun" tandakan kotak "Telah gcc mengikuti standard bahasa ISO C 1999". Atau Anda hanya boleh menambahkan "-std = c99" ke dalam rentetan pilihan penyusun anda. Sekarang jika anda cuba menyusun projek tersebut, banyak kesilapan akan timbul dan Anda satu-satu dengan kebergantungan yang hilang.

Langkah 9: Cari Ketergantungan yang Hilang

Cari Ketergantungan yang Hilang
Cari Ketergantungan yang Hilang

Ketergantungan yang hilang adalah fail "mman.h" - tajuk beberapa jenis pengurus memori linux. Windows C secara asli tidak mempunyai fail seperti itu, tetapi untungnya ada port windows daripadanya. Pergi ke https://github.com/witwall/mman-win32 untuk windows. Muat turun snapshot git repositori.

Langkah 10: Membongkar Mman

Membongkar Mman
Membongkar Mman

Buka fail mman.c dan mman.h, letakkan ke dalam folder c: / sunxitools \.

Langkah 11: Dan Tambahnya ke Projek

Dan Tambahnya ke Projek
Dan Tambahnya ke Projek

Langkah 12: Jalan yang Betul

Jalan yang Betul
Jalan yang Betul

Dan dalam baris raplece "fex.c" fail:

#sertakan

kepada

#sertakan "mman.h"

Pada langkah ini Penyusun anda tidak boleh mengadu apa-apa dan Anda akan mendapat fexc.exe menunggu lama sebagai output. Jangan terlalu gembira. Utiliti tersebut masih belum berfungsi sepenuhnya. Anda boleh memastikannya dengan mendekripsi beberapa file script.bin yang sah ke dalam bentuk teks - file script.fex dengan seterusnya mengenkripsi fail script.fex ke script.bin. Anda mungkin perhatikan bahawa ukuran script.bin yang dihasilkan berbeza sedikit dari ukuran script.bin yang asal. Dan jika Anda cuba menyahsulit hasilnya sekali lagi ia akan gagal. Baik Orange PI akan berfungsi dengan skrip ini.bin. Untuk mendapatkan utiliti fungsional kita harus melepaskan bom kod, yang telah dimasukkan seseorang ke dalam kod sumber sunxi-tools. Ini akan menjadi langkah seterusnya.

Langkah 13: Eksorsisme

Eksorsisme
Eksorsisme

Untuk melepaskan bom kod, buka fail kod fexc.c dan dapatkan rentetan teks dari kandungan seterusnya:

lain jika ((keluar = terbuka (nama fail, O_WRONLY | O_CREAT | O_TRUNC, 0666)) <0) {

Cukup ganti dengan rentetan seterusnya:

lain jika ((keluar = terbuka (nama fail, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 512)) <0) {

Sekiranya tidak, digit jahat "666" pada rentetan pertama saya akan berfikir bahawa pengekod telah lupa menggunakan bendera O_BINARY. Tetapi Number of The Beast memang menjelaskan niatnya secara telus. Perhatikan, betapa cerdiknya: kerana perbezaan halus dalam bagaimana fail diproses di Windows dan Linux, bom tidak berpengaruh ketika utiliti disusun dan digunakan di bawah Linux. Tetapi ia merosakkan segalanya apabila utiliti itu digunakan di bawah Windows.

Setelah bom dilucutkan senjata, Anda akhirnya dapat menyusun dan menggunakan utiliti fexc dengan selamat di komputer desktop Windows Anda.

Langkah 14: CATATAN

CATATAN
CATATAN

1) Untuk menggunakan utiliti fexc dengan selesa, Anda harus mendapatkan dua fail kumpulan:

bin2fex.bat - dan - fex2bin.bat.

Anda boleh mendapatkannya dari beberapa faxc.exe faile untuk Windows di luar sana, atau anda boleh menaipnya sendiri:

  • bin2fex.bat harus mengandungi "fexc -I bin -O fex script.bin script.fex"
  • fex2bin.bat harus mengandungi "fexc -O bin -I fex script.fex script.bin"

2) Sekiranya sukar untuk mencari pengurus mman untuk Windows, seseorang boleh mengelakkan penggunaannya sama sekali. Walau bagaimanapun, memerlukan lebih banyak penyuntingan fail fexc.c dan memerlukan sekurang-kurangnya sedikit pengetahuan mengenai c. Untuk keselesaan anda, saya berkongsi kod sumber fexc yang diedit dari alat sunxi-v1.4 bebas dari kebergantungan kepada mman.h bersama dengan fail projek blok kod dan dengan script script.bin dari beberapa oren pi. Anda boleh memuat turun fexc_nomman.zip

3) Ada kemungkinan bahawa dalam versi alat sunxi yang ada, mereka akan menambahkan lagi kebergantungan. Jangan ragu untuk mencarinya melalui internet dan menambahkannya ke dalam projek kompilasi Anda.

5) Akhirnya, inilah versi fexc.exe yang disusun semula untuk Win32:

fexc_nomman.zip

Sekiranya anda cukup malas, sila gunakan ver. Namun berhati-hatilah bahawa ia tidak akan diperbarui jika / ketika versi SunxiTools / Windows yang lebih baru akan tersedia. Oleh itu, lebih baik kita belajar bagaimana menyusunnya daripada bergantung pada beberapa bina binari tetap, saya anggap.

4) "Orange PI", "Code:: Blocks", "Windows", "Linux", "Sunxi-Tools", "Allwinner", dll … adalah tanda dagangan koresponden pemilik masing-masing.

5) Sekiranya penyusun anda mengeluh kerana tidak menemui fungsi man, seperti:

rujukan yang tidak ditentukan untuk '_imp_mmap'

ketahuilah bahawa definisi pencinta komuniti pembangunan man telah lupa bahawa kod tersebut dapat disusun bukan hanya sebagai perpustakaan dll. Ia juga boleh menjadi perpustakaan statik atau kod yang berdiri sendiri seperti yang kita ada di sini. Untuk menyelesaikan masalah edit fail "mman.h" seperti berikut:

a) cari rentetan:

#jika ditakrifkan (MMAN_LIBRARY)

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

b) tambah rentetan

#tentukan MMANSHARED_EXPORT

tepat di bawah rentetan yang terdapat pada langkah sebelumnya

Disyorkan: