Pusat Pengembang SoC FPGA Bootloader
Pusat Pengembang SoC FPGA Bootloader menyediakan bootloader SoC yang tersedia dengan karakteristik utama, cara memulai, dan sumber daya tambahan.
Intel® SoC FPGAs menggunakan bootloader untuk memuat dan menjalankan aplikasi pengguna akhir pada sistem prosesor keras (HPS). Aplikasi pengguna akhir dapat berupa aplikasi bare-metal sederhana atau sistem operasi yang kompleks seperti sistem operasi Linux*.
Halaman ini menjelaskan apa itu bootloader, daftar boot loader yang tersedia dan karakteristik utamanya, menjelaskan cara memulai bootloader, dan mencantumkan sumber daya tambahan.
1. Apa itu Bootloader
Definisi Bootloader
Ketika perangkat SoC boot, perangkat lunak yang disebut BootROM pertama kali dijalankan. Karena beberapa alasan, BootROM memiliki fungsi terbatas berikut:
- Itu harus muat dalam ROM on-chip sehingga harus kecil
- Sangat mahal untuk diubah sehingga harus sangat kuat, yang menyiratkan lebih sedikit fitur
- Ia tidak tahu bagaimana sistem dikonfigurasi sehingga tidak dapat memunculkan semuanya
Aplikasi pengguna akhir di sisi lain biasanya besar dan membutuhkan sistem untuk dikonfigurasi seperti yang diinginkan oleh pengguna akhir sebelum dapat berjalan.
Tugas bootloader adalah menjembatani kesenjangan antara BootROM dan aplikasi pengguna akhir.
Bootloader Satu Tahap
Tugas Bootloader Umum
- Mengonfigurasi multiplexing pin dan pengaturan pin, seperti slew rate, tegangan, dan pull-up/pull-down
- Mengonfigurasi jam di pohon jam
- Memunculkan dan mengkalibrasi SDRAM
- Menginisialisasi memori flash
- Mengonfigurasi fabric FPGA
- Memuat aplikasi akhir dari memori flash
- Meneruskan kontrol ke aplikasi akhir
Selain fitur-fitur yang tercantum di atas, bootloader juga menawarkan fitur-fitur canggih berikut yang dapat memungkinkan penyebaran yang lebih kompleks dan pengembangan yang lebih nyaman:
- Akses jaringan yang membawa aplikasi pengguna akhir dari cloud.
- Alat debugging yang memungkinkan diagnosis masalah yang lebih nyaman.
- Antarmuka baris perintah untuk perintah interaktif.
- Aplikasi menjalankan kerangka kerja yang dapat memungkinkan aplikasi pengguna akhir sederhana dimuat dan dijalankan hingga selesai oleh bootloader. Setelah aplikasi selesai, kontrol diteruskan kembali ke bootloader.
Bootloader Multitahap
Terkadang proses bootloader dapat dibagi menjadi beberapa tahap, biasanya dua.
Untuk Cyclone® V SoC, BootROM hanya dapat memuat boot loader hingga ukuran 64 KB karena SDRAM belum muncul pada tahap tersebut. Demikian pula untuk Intel® Arria® 10 SoC, BootROM hanya dapat memuat bootloader hingga ukuran 256 KB. Karena keterbatasan ukuran ini, fitur-fitur canggih seperti jaringan atau akses sistem file yang kompleks tidak dapat dicapai. Jika fitur tersebut diinginkan, tahap pertama bootloader memunculkan SDRAM dan kemudian memuat tahap kedua dengan lebih banyak fungsi. Bootloader dua tahap adalah opsi default untuk Cyclone V SoC, Arria® V SoC, dan Arria® 10 SoC.
Bootloader untuk Perangkat Berbasis SDM
Untuk Intel® Stratix® 10 SoC, Intel Agilex 7 SoC, dan Intel® Agilex® 5 SoC, bootloader dua tahap biasanya digunakan. Tahap bootloader kecil pertama adalah bagian dari bitstream konfigurasi FPGA dan dimuat oleh manajer perangkat aman (SDM) ke dalam RAM on-chip HPS, sedangkan tahap bootloader kedua yang lebih besar perlu disimpan di lokasi yang dapat diakses oleh HPS.
2. Handoff Perangkat Keras
Ikhtisar Handoff
Semua proyek Intel SoC FPGA dimulai dengan proyek perangkat keras di mana berbagai pengaturan sistem yang berdampak pada HPS dimasukkan oleh pengguna. Ini termasuk:
- Multiplexing pin
- Pengaturan pin
- Pengaturan SDRAM
- Pengaturan jam
Adalah tugas bootloader untuk menerapkan pengaturan ini dan proses bootloader menerima pengaturan ini disebut handoff perangkat keras-ke-perangkat lunak.
Tergantung pada bootloader dan rangkaian perangkat SoC yang tepat, handoff dapat dilakukan dalam berbagai bentuk. Biasanya:
- Untuk Cyclone V dan Arria V SoC, handoff adalah kombinasi dari file XML, file biner, dan file kode sumber, yang dikonversi ke kode sumber dan kemudian dikompilasi ke dalam bootloader
- Untuk Intel Arria 10 SoC, handoff terkandung dalam satu file XML yang dikonversi ke file pohon perangkat dan digunakan oleh bootloader
- Untuk Intel Stratix 10 SoC, Intel Agilex 7 SoC, dan Intel Agilex 5 SoC, informasi handoff adalah bagian dari bitstream konfigurasi FPGA
Metode utama untuk memasukkan atau mengubah informasi handoff adalah dengan mengeditnya di Quartus Platform Designer.
Selain informasi handoff, bootloader juga memiliki berbagai pengaturan yang dapat dipilih oleh pengguna melalui metode berikut:
- Mengedit kode sumber bootloader
- Mengedit pohon perangkat bootloader saat pohon perangkat digunakan
Cyclone V Soc dan Arria V SoC Handoff
Intel Arria 10 SoC Handoff
Intel Stratix 10 SoC, Intel Agilex 7 SoC, dan Intel Agilex 5 SoC Handoff
3. Bootloader yang Tersedia
Ikhtisar Bootloader yang Tersedia
Tabel berikut mencantumkan bootloader yang tersedia, jenis lisensi, SoC yang didukung, dan ketersediaan dukungan dua tahap:
Bootloader |
Jenis Lisensi |
Cyclone V SoC, |
Intel Arria 10 SoC |
Intel Stratix 10 SoC, Intel Agilex 7 SoC, Intel Agilex 5 SoC |
---|---|---|---|---|
U-Boot |
GPL |
Ya |
Ya |
Ya |
ATF |
BSD |
- |
- |
Ya |
U-Boot
U-Boot adalah bootloader yang banyak digunakan oleh industri dan menawarkan berbagai kemampuan:
- Tahap pertama opsional yang disebut "SPL" untuk sistem dengan RAM on-chip terbatas (misalnya, Cyclone V SoC dan Arria V SoC)
- Kemampuan jaringan
- Dukungan memori flash
- Antarmuka baris perintah
- Scripting
- Aplikasi kustom U-Boot
U-Boot dikembangkan di bawah lisensi publik umum (GPL) sehingga setiap kontribusi yang dibuat untuk produk yang sedang dikirim ke publik juga harus dipublikasikan.
Kode sumber U-Boot tersedia di halaman FPGA U-Boot SoC di situs web GitHub.
Halaman beranda U-Boot generik utama terletak di Das U-Boot - halaman web Universal Boot Loader.
ATF
ARM Trusted Firmware (ATF) adalah implementasi referensi perangkat lunak secure world untuk ARMv8-a, menerapkan berbagai standar antarmuka ARM, seperti Trusted Board Boot Requirements (TBBR) dan Secure Monitor Call (SMC).
ATF dikembangkan secara kolaboratif di bawah lisensi BSD, yang memungkinkan pengembangan dan penyebaran yang mudah.
Kode sumber untuk port ATF Intel SoC FPGA dapat diakses di https://github.com/altera-opensource/arm-trusted-firmware.
5. Sumber Daya
Panduan Pengguna
Panduan pengguna berikut tersedia:
Kode Sumber
Kode sumber dapat diperoleh dari situs web berikut:
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.