Pusat Pengembang Prosesor Bare-Metal Nios® II
Halaman Pusat Pengembang Bare-Metal Prosesor Nios II akan membantu Anda memulai pengembangan bare-metal tanpa sistem operasi (OS) atau sistem operasi real-time (RTOS).
Pengenalan
Pengembangan bare-metal menggunakan lingkungan runtime perangkat lunak tanpa sistem operasi (OS) atau sistem operasi real-time (RTOS). Untuk mendukung pengembangan bare-metal, Intel menawarkan pustaka lapisan abstraksi perangkat keras (HAL) untuk prosesor Nios II dalam Intel® FPGAs. Anda dapat menggunakan pustaka ini sebagai paket driver perangkat untuk sistem prosesor Nios II dalam FPGA dan menyediakan antarmuka yang konsisten ke periferal di sistem Anda.
Tautan berikut akan membantu Anda memulai pengembangan bare-metal di Intel FPGAs. Jika Anda adalah pengguna pertama kali, sebaiknya ikuti sumber daya secara linear.
1. Prasyarat
Buat Akun Intel Saya
- Buat akun My Intel Anda dari halaman My Intel.
- Akun My Intel memungkinkan Anda untuk mengajukan permintaan layanan, mendaftar untuk kursus pelatihan, mengunduh perangkat lunak, mengakses sumber daya, dan banyak lagi.
Pertimbangan Desain
Mengapa Bare Metal?
- Keuntungan menggunakan pendekatan bare-metal adalah:
- Kontrol mutlak perangkat keras
- Peningkatan efisiensi
- Ukuran minimal (flash dan jejak memori)
- Tidak ada ketergantungan pada kode sumber atau pustaka lain
- Kemudahan dalam validasi dan analisis cakupan kode
Anda juga dapat mempertimbangkan pengembangan bare-metal jika Anda:
- Tidak memerlukan operasi multi-tugas atau multi-thread
- Melakukan bring-up board dan perlu fokus pada setiap periferal satu per satu
- Menggunakan kembali kode lama yang sudah ada yang sudah dikembangkan sebagai bare metal
Pertimbangan Bare-Metal
Untuk mengembangkan aplikasi bare-metal untuk prosesor Nios II, Anda harus terbiasa dengan pengembangan kemampuan runtime untuk memastikan bahwa aplikasi Anda memanfaatkan sumber daya yang tersedia di subsistem CPU Anda secara efisien. Contoh dari apa yang mungkin diperlukan adalah sebagai berikut:
- Pengetahuan mendalam tentang platform perangkat keras
- Mengembangkan kemampuan runtime untuk mengelola proses antara inti dan subsistem cache jika Anda ingin memanfaatkan sepenuhnya subsistem CPU, karena aplikasi bare-metal biasa hanya menggunakan satu inti
- Mengembangkan kemampuan untuk mengelola dan menjadwalkan proses, menangani komunikasi antar-proses, dan menyinkronkan peristiwa dalam aplikasi Anda
Jika proyek terjadwal Anda tidak memungkinkan upaya yang diperlukan untuk menjadi terbiasa dengan poin-poin di atas, maka disarankan agar Anda mempertimbangkan untuk menggunakan solusi Linux* atau RTOS komersial.
Alternatif Bare-Metal
Dengan mempertimbangkan pertimbangan di atas, seringkali masuk akal untuk menggunakan sistem operasi untuk mewujudkan kinerja maksimum dari prosesor Nios II dengan sedikit usaha.
Tabel berikut menunjukkan perbandingan dasar antara OS Linux dan RTOS.
Kriteria |
Linux OS |
RTOS |
---|---|---|
Perbedaan utama |
Penjadwalan tugas di OS Linux tidak berbasis prioritas, oleh karena itu semua utas diperlakukan dengan adil. Kebijakan keadilan ini memungkinkan throughput komputasi keseluruhan yang tinggi tetapi dengan kelemahan latensi pengiriman tanpa batas. Latensi penjadwalan di Linux biasanya terakumulasi dengan meningkatnya jumlah thread yang dijadwalkan dan dijalankan. |
RTOS adalah sistem berbasis prioritas dan menyediakan penjadwalan tugas preemptive untuk memastikan respons yang tepat waktu dan deterministik terhadap peristiwa atau interupsi. Thread prioritas tinggi dan kritis waktu dijalankan dalam preferensi untuk thread prioritas yang lebih rendah. Thread dalam RTOS memiliki latensi terbatas. Proses atau thread dijalankan dalam batas waktu yang ditentukan. |
Aplikasi |
Ideal untuk aplikasi yang memerlukan throughput komputasi keseluruhan yang tinggi dan tidak kritis waktu. |
Ideal untuk aplikasi yang membutuhkan respons sangat cepat dan dapat diprediksi. |
Sumber daya |
Memerlukan sumber daya CPU yang signifikan dan jejak memori yang besar. |
Ringan dan memerlukan jejak memori yang lebih kecil. |
Praktek Coding |
Biasanya tidak ada kepatuhan terhadap kebijakan pengkodean yang ketat. |
Mematuhi kebijakan pengkodean yang ketat karena kode harus terus bekerja secara konsisten. |
Linux OS
Dengan diperkenalkannya unit manajemen memori (MMU) untuk prosesor Nios II, Anda memiliki berbagai pilihan penyedia Linux. Dari dukungan komersial, pemimpin industri, hingga distribusi sumber terbuka gratis, mitra Linux tertanam Intel menawarkan tingkat dukungan yang tepat untuk proyek Linux Anda.
- RocketBoards.org - Lihat Panduan Pengguna Linux Nios II untuk distribusi Linux sumber terbuka yang didukung komunitas
- LinuxLink by Timesys - Pilih Intel FPGA dari Produsen di tab filter Papan
- Wind River - Pilih Intel FPGA dari Vendor Perangkat Keras di tab Paket Dukungan Board
- Solusi Tingkat Sistem (SLS) - Pilih Pkgs Dukungan Board yang Anda inginkan di tab Unduhan
RTOS
Menggunakan RTOS sederhana itu mudah. Ini mirip dengan menggunakan pustaka C fungsi yang sudah diterapkan alih-alih menulis fungsi-fungsi itu sendiri. Beberapa RTOS memberikan dukungan penuh untuk semua periferal, sementara yang lain hanya memberikan dukungan untuk subset. Dalam kasus di mana hanya subset periferal yang didukung oleh RTOS yang telah Anda pilih, kode HAL menyediakan dukungan tambahan yang diperlukan. Untuk detailnya, lihat halaman web Ekosistem Prosesor Nios II .
Evaluasi gratis MicroC/OS-II RTOS dan kode sumber ANSI C lengkap disertakan dengan instalasi Nios II Embedded Design Suite (EDS). Untuk detailnya, lihat halaman web Sistem Operasi Real-Time Micrium MicroC/OS-II .
Diagram Alir Desain
Gambar di bawah ini menggambarkan alur pengembangan sistem prosesor Nios II umum.
Alur pengembangan prosesor Nios II terdiri dari tiga elemen sebagai berikut:
- Desain perangkat keras
- Desain perangkat lunak
- Desain sistem, melibatkan perangkat keras dan perangkat lunak
Anda memulai pengembangan prosesor Nios II Anda dengan mengembangkan konsep sistem dan melakukan analisis persyaratan sistem. Selanjutnya, Anda membuat dan menghasilkan sistem di Platform Designer, dan menghasilkan file .sopcinfo. Platform Designer mencakup Nios II inti prosesor, komponen standar, instruksi kustom, dan logika periferal. Setelah pembuatan sistem, alur perangkat keras dan perangkat lunak dapat dimulai.
Untuk pengembangan perangkat keras prosesor Nios II, Anda harus:
- Integrasikan sistem Platform Designer dengan proyek perangkat lunak Intel® Quartus® Prime.
- Tetapkan lokasi pin.
- Mengonfigurasi persyaratan waktu dan batasan desain lainnya.
- Setelah mengkompilasi desain perangkat keras, unduh file .sof ke papan target.
Untuk pengembangan perangkat lunak prosesor Nios II, Anda harus:
- Kembangkan perangkat lunak Anda dengan Nios II Software Build Tools (SBT) untuk Eclipse. Perangkat lunak Nios II mencakup HAL, driver periferal, kode aplikasi C/C++ pengguna, dan pustaka kustom.
- Unduh berkas .elf ke sistem prosesor Nios II pada papan target setelah membangun paket dukungan aplikasi dan papan (BSP). Sistem prosesor Nios II siap untuk pengujian dan debugging.
Jika Anda menemukan bahwa perangkat lunak Anda tidak memenuhi spesifikasi selama pengujian, kembali ke awal alur perangkat lunak dan periksa kode aplikasi, driver, dan BSP untuk memperbaiki kesalahan dan memastikan bahwa sistem prosesor Nios II dijalankan dengan benar.
Jika perangkat keras tidak memenuhi spesifikasi, kembali ke langkah penentuan dan pembuatan sistem Platform Designer, lalu mulai ulang alur perangkat keras dan perangkat lunak. File kunci yang diperlukan untuk menghasilkan perangkat lunak aplikasi adalah file informasi Platform Designer (.sopcinfo). Karena file ini menjelaskan komponen perangkat keras dan koneksi, Anda harus meregenerasi file ini jika Anda membuat perubahan perangkat keras. Sistem akan selesai jika perangkat lunak dan perangkat keras memenuhi spesifikasi.
2. Memulai
Pilih Papan Target
Kami menyarankan untuk memulai pengembangan Anda pada kit evaluasi atau pengembangan yang disediakan oleh Intel karena sebagian besar contoh yang tersedia ditargetkan untuk dijalankan pada board tersebut.
- Nios II kit evaluasi prosesor:
- Biaya rendah, mudah digunakan
- Penuh dengan contoh desain, tutorial, dan contoh perangkat lunak
- Banyak prosesor Nios II menyumbangkan contoh desain dan perangkat lunak yang disumbangkan komunitas prosesor di situs Wiki Intel FPGA
- Contoh: Intel® MAX® 10 FPGA Nios® II Embedded Evaluation Kit (NEEK)
- Intel FPGA kit pengembangan:
- Semua kit baru menyertakan contoh desain prosesor Nios II yang telah dikemas sebelumnya yang berjudul Board Update Portal
- Memulai desain prosesor dan kontrol akses media Ethernet (MAC) dengan aplikasi server web HTML
Lihat Semua Kit Pengembangan untuk daftar board yang tersedia. Untuk melihat daftar contoh desain khusus board yang tersedia di Toko Desain, pilih Development Kit yang Anda inginkan dari menu pull-down.
Menginstal Nios II Embedded Design Suite (EDS)
Untuk menginstal Nios II Embedded Design Suite (EDS), pertama-tama Anda harus mengunduh perangkat lunak Intel® Quartus® Prime dari Pusat Unduhan. Instalasi dan Lisensi Perangkat Lunak Intel FPGA memberikan instruksi terperinci untuk mengunduh dan menginstal perangkat lunak Intel® Quartus® Prime, yang mencakup Nios II EDS.
EDS Nios II adalah paket pengembangan komprehensif untuk desain perangkat lunak Nios II. EDS Nios II tidak hanya berisi alat pengembangan, tetapi juga perangkat lunak, driver perangkat, pustaka HAL bare-metal, perangkat lunak tumpukan jaringan kelas komersial, dan versi evaluasi RTOS.
Buat Sistem Prosesor Nios II Pertama Anda
AN 717: Tutorial Pengembangan Perangkat Keras Nios II dan Buku Pegangan Pengembang Perangkat Lunak Nios® II memperkenalkan Anda pada alur pengembangan sistem untuk prosesor Nios II. Dengan menggunakan perangkat lunak Intel® Quartus® Prime dan EDS Nios II, Anda membangun desain sistem perangkat keras Nios II dan membuat program perangkat lunak yang berjalan pada sistem Nios II dan antarmuka dengan komponen pada board pengembangan Intel®.
3. Membuat Proyek Anda Sendiri
Jenis Proyek Bare-Metal
Ada dua jenis proyek yang dapat dikelola oleh Nios II EDS.
Tabel berikut menggambarkan perbedaan antara dua jenis proyek, selain dari Eclipse GUI.
Fitur |
Proyek Berbasis GUI |
Proyek Berbasis Baris Perintah |
---|---|---|
Deskripsi Jenis Proyek | Proyek berbasis Antarmuka Pengguna Grafis (GUI)
|
Proyek berbasis Baris Perintah
|
Manajemen file sumber proyek |
Tentukan sumber secara otomatis, misalnya, dengan menyeret dan menjatuhkan ke proyek |
Menentukan sumber secara manual menggunakan argumen perintah |
Debugging |
Ya |
Impor proyek ke lingkungan Eclipse |
Terintegrasi dengan skrip shell kustom dan alur alat |
Tidak |
|
Metode yang Disarankan untuk Membuat Proyek Anda
Menulis perangkat lunak untuk prosesor Nios II mirip dengan menulis perangkat lunak untuk keluarga mikrokontroler lainnya. Memodifikasi kode yang ada adalah cara umum dan mudah untuk mempelajari cara menulis perangkat lunak di lingkungan baru. EDS Nios II menyediakan banyak contoh desain perangkat lunak yang dapat Anda periksa, modifikasi, dan gunakan dalam program Anda sendiri.
Setiap contoh program prosesor Nios II terdiri dari proyek aplikasi, proyek pustaka pengguna opsional, dan proyek BSP.
- Proyek aplikasi: terdiri dari kumpulan kode sumber, ditambah makefile. Karakteristik khas dari sebuah aplikasi adalah bahwa salah satu file sumber berisi fungsi main( ). Aplikasi mencakup kode yang memanggil fungsi di perpustakaan dan BSP. Makefile mengkompilasi kode sumber dan menautkannya dengan BSP dan satu atau lebih pustaka opsional untuk membuat file .elf.
- User library project: adalah kumpulan kode sumber yang disusun untuk membuat satu file arsip pustaka (.a). Pustaka sering kali berisi fungsi tujuan umum yang dapat digunakan kembali yang dapat dibagikan oleh beberapa proyek aplikasi. Kumpulan fungsi aritmatika umum adalah salah satu contohnya.
- Proyek BSP: adalah pustaka khusus yang berisi kode dukungan khusus sistem, seperti HAL, pustaka standar newlib C kustom opsional, driver perangkat, paket perangkat lunak opsional, dan sistem operasi real-time opsional.
Ikuti langkah-langkah berikut untuk membuat proyek perangkat lunak dengan SBT Nios II:
- Dapatkan desain perangkat keras tempat perangkat lunak dijalankan. Terlepas dari apakah itu contoh desain prosesor Nios II atau desain yang dikembangkan oleh orang lain, Anda harus memiliki file informasi SOPC (.sopcinfo).
- Buat file pengaturan BSP (settings.bsp) dan selanjutnya, makefile BSP setelah menentukan fitur yang dibutuhkan BSP Anda.
- Buat pustaka pengguna (opsional). Jika Anda perlu menyertakan pustaka pengguna perangkat lunak kustom, kumpulkan file sumber pustaka pengguna dalam satu direktori, dan buat makefile pustaka pengguna.
- Tulis kode sumber aplikasi Anda dan buat makefile aplikasi.
- Bangun proyek perangkat lunak untuk menghasilkan file .elf dan jalankan aplikasi di papan Anda.
SBT Nios II mencakup alat untuk membuat makefile, yang merupakan kunci dalam membangun proyek Nios II C dan C ++. Tidak perlu menggunakan makefile yang dihasilkan jika Anda lebih suka menulis sendiri. Namun, kami sarankan Anda mengelola dan memodifikasi makefile BSP Anda dengan menggunakan SBT.
Untuk mempelajari lebih lanjut, lihat Buku Panduan Pengembang Perangkat Lunak Nios® II.
4. Contoh
Contoh Desain
Ada banyak contoh desain yang tersedia dari Toko Desain Intel untuk membantu Anda memulai produk Intel FPGA. Semua contoh dapat digunakan sebagai titik awal untuk desain Anda sendiri, dan beberapa contoh disesuaikan untuk kit pengembangan tertentu. Cari contoh desain prosesor Nios II dengan memilih Nios II di menu tarik-turun IP Core. Anda juga dapat memfilter kriteria pencarian lainnya, seperti rangkaian perangkat, kit pengembangan, dan versi perangkat lunak Intel® Quartus® Prime.
Bagaimana Cara Mem-boot Aplikasi Prosesor Nios II?
Untuk mempelajari cara mem-boot aplikasi prosesor Nios II, lihat bagian Nios II Konfigurasi dan Solusi Booting di Buku Panduan Desain Tertanam.
Ada berbagai opsi eksekusi boot atau perangkat lunak yang tersedia dengan prosesor Nios II. Anda dapat mengonfigurasi prosesor Nios II untuk boot dan menjalankan perangkat lunak dari lokasi memori yang berbeda.
Nios II memori boot yang didukung prosesor:
- Flash antarmuka flash umum (CFI)
- Memori flash pengguna (UFM) dalam Intel® MAX® 10 perangkat FPGA
- Perangkat konfigurasi EPCQ flash serial
- Flash quad serial peripheral interface (QSPI)
- Memori on-chip (OCRAM)
Nios II opsi booting prosesor:
- Eksekusi di tempat
- Disalin dari memori flash ke RAM menggunakan mesin fotokopi boot
5. Sumber Daya Tambahan
Pusat Bantuan
Bantuan hanya dengan sekali klik! Pusat Dukungan menyediakan sumber daya teknis online mulai dari kelas pelatihan hingga contoh desain hingga forum yang memandu Anda melalui setiap langkah proses desain.
Basis Pengetahuan
Basis Pengetahuan menyediakan sejumlah besar solusi dukungan, artikel referensi, pesan kesalahan, dan panduan pemecahan masalah. Ini juga sepenuhnya dapat dicari.
Komunitas Intel FPGA
Komunitas Intel adalah situs web komunitas yang memungkinkan kolaborasi antara pengguna Intel FPGA. Lihat bagian Nios II Embedded Design Suite (EDS) di bawah Pengembang FPGA. Gunakan mesin pencari untuk menemukan materi yang relevan. Anda juga didorong untuk memperbarui dan berkontribusi.
Intel Saya
Akun My Intel memungkinkan Anda mengajukan permintaan layanan untuk mendapatkan bantuan tentang topik tertentu. Anda juga dapat menggunakannya untuk mendaftar kelas pelatihan dan mengakses sumber daya lainnya. Pendaftaran diperlukan.
Pembelajaran Dasar - Kelas Pelatihan
Tabel berikut mencantumkan kelas pelatihan dasar yang dapat Anda ambil sebelum Anda mulai mengembangkan desain Anda.
Kursus |
Keterampilan yang Dikembangkan |
---|---|
Prosesor Nios® II: Lapisan Abstraksi Perangkat Keras (Kursus Online 34 Menit) |
|
Prosesor Nios II: Pengantar Pengembangan Perangkat Lunak (Kursus Online 30 Menit) |
|
Menggunakan Prosesor Nios II: Komponen dan Instruksi Kustom (Kursus Online 11 Menit) |
|
Menggunakan Prosesor Nios II: Pengembangan Perangkat Keras (Kursus Online 27 Menit) |
|
Dokumentasi dan Sumber Daya Tambahan
Dokumentasi berikut berfungsi sebagai referensi utama untuk prosesor Nios II.
- Buku Panduan Pengembang Perangkat Lunak Nios II menjelaskan informasi dasar yang diperlukan untuk mengembangkan perangkat lunak tertanam untuk prosesor Nios II Gen2. Bab-bab dalam buku panduan ini menjelaskan lingkungan pengembangan perangkat lunak prosesor Nios II, alat Nios II Embedded Design Suite (EDS) yang tersedia dan proses untuk mengembangkan perangkat lunak.
- Buku Panduan Desain Tertanam melengkapi dokumentasi utama untuk pengembangan sistem tertanam. Dokumen ini menjelaskan cara paling efektif menggunakan alat, serta merekomendasikan gaya dan praktik desain untuk mengembangkan, debugging, dan mengoptimalkan sistem tertanam menggunakan alat yang disediakan Intel. Buku panduan ini juga memperkenalkan konsep solusi tertanam Intel kepada pengguna baru, dan membantu meningkatkan efisiensi desain pengguna berpengalaman.
- Panduan Referensi Prosesor Nios II menjelaskan prosesor Nios II Gen2 dari deskripsi konseptual tingkat tinggi hingga detail implementasi tingkat rendah. Bab-bab dalam buku panduan ini menjelaskan arsitektur prosesor Nios II, model pemrograman, dan set instruksi.
- Panduan Pengguna IP Periferal Tertanam menjelaskan inti IP yang disediakan Intel yang bekerja tanpa hambatan dengan prosesor Nios II dan disertakan dalam perangkat lunak desain Intel® Quartus® Prime. Inti IP dioptimalkan untuk perangkat Intel® dan dapat dengan mudah diimplementasikan untuk mengurangi waktu desain dan pengujian.
Untuk daftar lengkap dokumentasi terkait prosesor Nios II, kunjungi halaman Dukungan Prosesor Nios II .
Video Insinyur ke Insinyur
Jelajahi kumpulan video Cara Kerja yang dipersembahkan oleh teknisi Intel®. Video Cepat Intel® FPGA berisi video petunjuk untuk membantu Anda mengembangkan proyek FPGA.
Isi halaman ini adalah kombinasi terjemahan manusia dan komputer dari konten berbahasa Inggris. Konten ini diberikan hanya untuk kenyamanan Anda serta sebagai informasi umum dan tidak bisa dianggap sebagai lengkap atau akurat. Jika terdapat kontradiksi antara versi bahasa Inggris halaman ini dan terjemahannya, versi bahasa Inggris akan didahulukan. Lihat versi bahasa Inggris halaman ini.