Beberapa langkah untuk pembangunan projek Linux terbenam
Papan pembangunan dan contoh projek perisian yang berkaitan yang disediakan oleh pengeluar mikropengawal selalunya sangat membantu jurutera apabila memulakan reka bentuk baharu. Walau bagaimanapun, selepas peringkat awal projek reka bentuk selesai, perisian yang disediakan oleh pengilang mungkin menyebabkan beberapa masalah semasa mereka bentuk selanjutnya.
Terdapat juga banyak cabaran untuk reka bentuk menggunakan sistem pengendalian masa nyata sebagai platform untuk kod aplikasi. Contohnya, terdapat isu seperti cara memperuntukkan fungsi secara berkesan kepada tugas selari yang berbeza, cara mereka bentuk komunikasi antara proses yang boleh dipercayai dan cara menguji keseluruhan pakej perisian pada perkakasan.
Semakin banyak pengeluar OEM mendapati bahawa cara terbaik untuk mengelakkan masalah di atas adalah dengan memulakan reka bentuk baharu menggunakan sistem pengendalian Linux berdasarkan sumber terbuka, terbukti, berskala dan boleh dijalankan pada pelbagai platform perkakasan. Bilangan pemindahan sistem pengendalian Linux pada pelbagai platform perkakasan komputer juga tiada duanya.
Derivatif Linux telah digunakan secara meluas dalam pelbagai sistem terbenam, termasuk penghala rangkaian, telefon mudah alih, kawalan automasi bangunan, televisyen dan konsol permainan video.
Walaupun Linux digunakan secara meluas dan berjaya, ia tidak bermakna ia mudah digunakan. Linux mengandungi lebih sejuta baris kod dan beroperasi dengan cara yang jelas "Linux" yang mungkin memerlukan sedikit masa untuk membiasakan diri untuk pemula.
Jadi, tujuan artikel ini adalah untuk membantu memulakan projek reka bentuk baharu menggunakan μClinux, versi sistem pengendalian terbenam Linux. Panduan ini akan dipecahkan kepada lima langkah. Untuk menggambarkan panduan, projek μClinux dilaksanakan pada mikropengawal STMicroelectronics STM32F429, yang menggunakan teras ARM Cortex-M4 dengan frekuensi maksimum 180MHz dan menggunakan Pakej Sokongan Papan Linux (BSP) STM32F429 Discovery Emcraft.
Langkah 1: Alat Linux dan Reka Letak Projek
Setiap reka bentuk perisian terbenam bermula dengan memilih alatan yang betul.
Rantaian alat ialah satu set alat pembangunan perisian yang disambungkan (atau dipautkan) bersama-sama Ia termasuk alatan seperti GNU Compiler Collection (GCC), binutils (satu set pemaut, pemasang dan alatan lain untuk pembangunan objek. fail dan arkib) dan glibc (perpustakaan C yang menyediakan panggilan sistem dan fungsi asas, dalam beberapa kes, alat lain seperti penyusun dan penyahpepijat juga boleh disertakan.
Rantai alat yang digunakan untuk pembangunan terbenam ialah rantai alat silang, lebih dikenali sebagai pengkompil silang.
GNUBinutils ialah komponen pertama rantai alat Linux terbenam. GNUBinutils mengandungi dua alat penting:
●"as", pemasang, menukar kod pemasangan (dijana oleh GCC) kepada kod binari
● "ld", penyambung, menyambungkan segmen kod sasaran diskret ke perpustakaan atau membentuk fail boleh laku
Pengkompil ialah komponen penting kedua bagi rantai alat. Dalam Embedded Linux, ia dipanggil GCC dan menyokong pelbagai jenis mikropengawal dan seni bina pemproses.
Seterusnya ialah perpustakaan fungsi C. Ia melaksanakan antara muka pengaturcaraan aplikasi (API) POSIX tradisional Linux, yang boleh digunakan untuk membangunkan aplikasi ruang pengguna. Ia antara muka dengan kernel melalui panggilan sistem dan menyediakan perkhidmatan peringkat tinggi.
Jurutera mempunyai beberapa pilihan perpustakaan fungsi C:
●glibc ialah perpustakaan fungsi C tersedia yang disediakan oleh projek GNU sumber terbuka. Perpustakaan ini berciri penuh, mudah alih dan mematuhi piawaian Linux.
●GLIBC Terbenam (EGLIBC) ialah versi terbitan yang dioptimumkan untuk sistem terbenam. Kodnya diperkemas, menyokong kompilasi silang dan ujian silang, dan kod sumber serta kod binarinya serasi dengan GLIBC.
●uClibc ialah satu lagi perpustakaan C yang boleh digunakan apabila ruang denyar terhad dan/atau penggunaan memori mestilah minimum.
Penyahpepijat biasanya juga sebahagian daripada rantaian alat, kerana penyahpepijat silang diperlukan untuk nyahpepijat aplikasi yang berjalan pada mesin sasaran. Dalam bidang Linux terbenam, GDB ialah penyahpepijat yang biasa digunakan.
Alat di atas sangat diperlukan, tetapi apabila ia berfungsi secara bebas, ia mengambil masa terlalu lama untuk menyusun kod sumber Linux dan menyepadukannya ke dalam imej akhir. Nasib baik, Buildroot mengautomasikan proses membina sistem terbenam lengkap dan memudahkan penyusunan silang dengan menjana mana-mana atau semua tugas berikut:
●Rantai alat kompilasi silang
●Sistem Fail Root
●Imej kernel
●But imej
Untuk pereka bentuk sistem terbenam, ia juga mudah untuk menggunakan alat pengagregatan utiliti, seperti BusyBox, yang menyepadukan alatan yang biasanya paling diperlukan. Menurut halaman maklumat BusyBox, "Ia menggabungkan versi kecil banyak alat UNIX biasa menjadi boleh laku kecil. Ia menyediakan alternatif kepada kebanyakan alat yang biasanya anda lihat dalam alat seperti GNU fileutils dan shellutils. BusyBox Alat dalam BusyBox biasanya kurang terpilih daripada rakan sejawatan GNU berciri penuh mereka; tetapi pilihan yang disertakan menyediakan kefungsian dan tingkah laku yang diharapkan yang hampir sama dengan yang disediakan oleh rakan sejawat GNU Untuk mana-mana sistem kecil atau terbenam, BusyBox menawarkan persekitaran yang cukup lengkap
Alat penting terakhir ialah BSP, yang dibuat khas untuk papan induk yang dilengkapi dengan MCU atau pemproses sasaran projek.BSP termasuk alat prakonfigurasi, serta pemuat but untuk memuatkan sistem pengendalian ke papan induk. Ia juga menyediakan kod sumber untuk pemacu kernel dan peranti (lihat Rajah 1).

Langkah 2: Urutan But, Sistem Jam, Memori dan Antara Muka Bersiri
Jujukan permulaan Linux terbenam biasa adalah seperti berikut:1) Perisian tegar pemuat but (U-Boot dalam projek contoh) berjalan dalam memori flash terbina dalam MCU sasaran (tiada memori luaran diperlukan), dan selepas dihidupkan/set semula, melaksanakan semua kerja permulaan yang diperlukan, termasuk menyediakan port bersiri dan menggunakannya secara luaran Pengawal memori untuk akses memori (RAM).
2) U-Boot memindahkan imej Linux daripada Flash luaran kepada RAM luaran dan menyerahkan kawalan kepada titik masuk kernel dalam RAM. Imej Linux boleh dimampatkan untuk menjimatkan ruang kilat dengan mengorbankan masa penyahmampatan pada masa but.
3) Linux but dan memasang sistem fail berasaskan RAM (initramfs) sebagai sistem fail akar. Apabila projek dibina, Initramfs diisi dengan fail dan direktori yang diperlukan dan kemudian hanya dipautkan ke kernel.
4) Di bawah kernel Linux, laksanakan /sbin/init. Program /sbin/init memulakan sistem mengikut penerangan fail konfigurasi dalam /etc/inittab.
5) Sebaik sahaja proses pemulaan melengkapkan pelaksanaan peringkat larian dan arahan dalam /sbin/init, ia memulakan proses log masuk.
6) Pelaksanaan fail permulaan shell /etc/profile menandakan selesainya proses permulaan.
Anda boleh memendekkan masa permulaan dengan ketara dan meningkatkan prestasi keseluruhan dengan mendayakan pelaksanaan di tempat (ExecuteInPlace - XIP), iaitu kaedah melaksanakan kod daripada memori denyar. Biasanya, kod Linux dimuatkan daripada memori kilat ke memori luaran dan kemudian dilaksanakan daripada memori luaran. Dengan melaksanakan daripada memori kilat, kurang memori diperlukan kerana langkah ini tidak lagi disalin dan ingatan baca sahaja tidak lagi menggunakan ruang program.
Atas ialah kandungan terperinci Beberapa langkah untuk pembangunan projek Linux terbenam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Keperluan Sistem Kod Vs: Sistem Operasi: Windows 10 dan ke atas, MACOS 10.12 dan ke atas, pemproses pengedaran Linux: minimum 1.6 GHz, disyorkan 2.0 GHz dan ke atas memori: minimum 512 MB, disyorkan 4 GB dan ke atas ruang penyimpanan: minimum 250 mb, disyorkan 1 GB dan di atas keperluan lain:

Sebab -sebab pemasangan sambungan kod VS mungkin: ketidakstabilan rangkaian, kebenaran yang tidak mencukupi, isu keserasian sistem, versi kod VS terlalu lama, perisian antivirus atau gangguan firewall. Dengan menyemak sambungan rangkaian, keizinan, fail log, mengemas kini kod VS, melumpuhkan perisian keselamatan, dan memulakan semula kod VS atau komputer, anda boleh menyelesaikan masalah dan menyelesaikan masalah secara beransur -ansur.

Walaupun Notepad tidak dapat menjalankan kod Java secara langsung, ia dapat dicapai dengan menggunakan alat lain: menggunakan pengkompil baris arahan (Javac) untuk menghasilkan fail bytecode (fileName.class). Gunakan Java Interpreter (Java) untuk mentafsir bytecode, laksanakan kod, dan output hasilnya.

VS Kod adalah nama penuh Visual Studio Code, yang merupakan editor kod dan persekitaran pembangunan yang dibangunkan oleh Microsoft. Ia menyokong pelbagai bahasa pengaturcaraan dan menyediakan penonjolan sintaks, penyiapan automatik kod, coretan kod dan arahan pintar untuk meningkatkan kecekapan pembangunan. Melalui ekosistem lanjutan yang kaya, pengguna boleh menambah sambungan kepada keperluan dan bahasa tertentu, seperti debuggers, alat pemformatan kod, dan integrasi Git. VS Kod juga termasuk debugger intuitif yang membantu dengan cepat mencari dan menyelesaikan pepijat dalam kod anda.

VS Kod boleh didapati di Mac. Ia mempunyai sambungan yang kuat, integrasi git, terminal dan debugger, dan juga menawarkan banyak pilihan persediaan. Walau bagaimanapun, untuk projek yang sangat besar atau pembangunan yang sangat profesional, kod VS mungkin mempunyai prestasi atau batasan fungsi.

Visual Studio Code (VSCode) adalah editor cross-platform, sumber terbuka dan editor kod percuma yang dibangunkan oleh Microsoft. Ia terkenal dengan ringan, skalabilitas dan sokongan untuk pelbagai bahasa pengaturcaraan. Untuk memasang VSCode, sila lawati laman web rasmi untuk memuat turun dan jalankan pemasang. Apabila menggunakan VSCode, anda boleh membuat projek baru, edit kod, kod debug, menavigasi projek, mengembangkan VSCode, dan menguruskan tetapan. VSCode tersedia untuk Windows, MacOS, dan Linux, menyokong pelbagai bahasa pengaturcaraan dan menyediakan pelbagai sambungan melalui pasaran. Kelebihannya termasuk ringan, berskala, sokongan bahasa yang luas, ciri dan versi yang kaya

Penggunaan utama Linux termasuk: 1. Sistem Operasi Pelayan, 2. Sistem Terbenam, 3. Linux cemerlang dalam bidang ini, menyediakan kestabilan, keselamatan dan alat pembangunan yang cekap.

Untuk melihat alamat repositori Git, lakukan langkah -langkah berikut: 1. Buka baris arahan dan navigasi ke direktori repositori; 2. Jalankan perintah "Git Remote -V"; 3. Lihat nama repositori dalam output dan alamat yang sepadan.
