Di bawah pengembangan Harap dicatat: Firmware ini saat ini sedang dalam tahap pengembangan. Fitur dapat berubah, dan kode mungkin berisi bug. Gunakan dengan hati -hati dan laporkan masalah apa pun yang Anda hadapi.
Bootloader ini untuk mikrokontroler STM32 menyediakan solusi yang kuat dan kaya fitur untuk pembaruan firmware. Bootloader dirancang untuk memfasilitasi pembaruan firmware melalui antarmuka USB atau UART internal, menggunakan flash SPI eksternal untuk menyimpan firmware sementara.

Penyimpanan Firmware Slot Ganda: Bootloader mengelola dua slot terpisah dalam flash SPI eksternal untuk menyimpan berbagai versi firmware. Ini memungkinkan pembaruan firmware yang aman dengan kemampuan rollback.
Firmware Rollback: Dalam hal kegagalan pembaruan, bootloader dapat kembali ke firmware kerja sebelumnya, memastikan perangkat tetap operasional.
Validasi CRC32: Setiap firmware yang disimpan dalam flash SPI divalidasi menggunakan cek CRC32 untuk memastikan integritas data dan mencegah firmware yang rusak dari dieksekusi.
Penyimpanan Terenkripsi: Bootloader menyimpan semua data firmware yang disimpan dalam SPI Flash dalam bentuk terenkripsi, meningkatkan keamanan terhadap akses yang tidak sah.
Manajemen Versi: Bootloader dapat melaporkan versi firmware saat ini, membantu menjaga dan melacak versi firmware yang digunakan pada perangkat.
Skrip Python Eksternal: Skrip python disediakan untuk membantu memuat firmware baru ke perangkat. Skrip ini juga memfasilitasi pelaporan versi dan operasi terkait bootloader lainnya.
FW FILE ) dan melampirkan metadata penting seperti versi firmware, nama firmware, ID firmware, waktu membangun, dan tanggal ke file output ( BIN FILE ).Lock Bin menggabungkan input ini dengan file firmware dan mengenkripsi paket untuk memastikan keamanannya selama transmisi.BIN FILE ) yang dengan aman berisi firmware terenkripsi bersama dengan metadata tertanam..fw yang aman dan terenkripsi yang berisi semua metadata, termasuk waktu dan tanggal pembuatan.Host App bertanggung jawab untuk mengirimkan file firmware terenkripsi ke mikrokontroler..fw terenkripsi, mengekstrak metadata yang diperlukan untuk tujuan logging atau validasi, dan membuat koneksi dengan mikrokontroler melalui port COM (misalnya, USB/UART).Host App melalui USB/UART. Pipa ini dengan aman menangani pembaruan firmware, memastikan integritas proses dari enkripsi ke instalasi. Penambahan waktu dan tanggal pembuatan dalam file .fw menawarkan penelusuran lebih lanjut untuk setiap versi firmware.
Klon Repositori ini:
git clone https://github.com/mayankpatel97/STM32-SPIFLASH-UART-BOOTLOADER.git
cd STM32-SPIFLASH-UART-BOOTLOADERKonfigurasikan bootloader menggunakan IDE pilihan Anda (misalnya, STM32Cubeide) atau melalui baris perintah.
Bangun proyek bootloader dan kembalikan ke mikrokontroler STM32 Anda.
Hubungkan perangkat STM32 Anda ke komputer Anda melalui USB atau UART.
Jalankan skrip Python yang disediakan untuk memuat firmware baru:
python firmware_loader.py --port /dev/ttyUSB0 --file firmware.binSkrip akan secara otomatis menangani transfer, validasi, dan manajemen versi.
Setelah firmware berhasil dimuat, bootloader akan melakukan pemeriksaan CRC16 dan baik boot ke firmware baru atau kembali ke versi sebelumnya jika kesalahan terdeteksi.
Dalam hal masalah dengan firmware yang baru dimuat, bootloader secara otomatis kembali ke firmware sebelumnya yang disimpan di slot lain, memastikan perangkat tetap operasional.
Untuk memeriksa versi firmware yang sedang berjalan, gunakan perintah berikut:
python firmware_loader.py --port /dev/ttyUSB0 --versionProyek ini dilisensikan di bawah lisensi MIT - lihat file lisensi untuk detailnya.
Jangan ragu untuk berkontribusi pada proyek ini dengan mengirimkan permintaan tarik atau membuka masalah untuk setiap bug atau permintaan fitur.
Terima kasih khusus kepada komunitas open-source untuk menyediakan alat dan perpustakaan yang membantu dalam pengembangan bootloader ini.