MCU'lar için uygun çeşitli açık kaynaklı önyükleyiciler

İçindekiler

MCUboot Bootloader

Mikrodenetleyicide önyükleyicinin kullanılıp kullanılmayacağı, ürünün tasarım gereksinimlerine bağlıdır. Ürünün çevrimiçi olarak güncellenmesi gerekiyorsa veya güvenli önyükleme ile ilgili hususlar söz konusuysa, bazı açık kaynaklı önyükleyicilerin kullanılması bu ihtiyaçları daha iyi karşılayabilir. Tek çipli mikrobilgisayar sistemleri için uygun olan bazı küçük önyükleyicileri tanıtalım.

WolfBoot

wolfBoot
wolfBoot (Kaynak: Github)

WolfBoot, güvenli önyüklemeyi destekleyen ve güvenli bir ürün yazılımı güncelleme mekanizması sunan, açık kaynaklı ve taşınması kolay küçük bir önyükleyicidir. Doğrulanmış güncellemeyi aldıktan ve yükledikten sonra, wolfBoot normal şekilde çalışabilen eski ürün yazılımının bir kopyasını yedekler. Yeni yüklenen görüntü çeşitli nedenlerle başlatılamazsa, wolfBoot sistemin bozulmamasını sağlamak için normal şekilde çalışabilen yedeklenmiş eski ürün yazılımını yükler.

Şu anda, wolfBoot, stm32'nin cortex M serisi tek çipli mikrobilgisayarı gibi bir düzineden fazla tek çipli mikrobilgisayar platformuna entegre edilmiştir.

OpenBLT

OpenBLT, herhangi bir mikrodenetleyicide çalışabildiğini ve yazılım güncellemelerini gerçekleştirmek için her türlü iletişim arayüzünü kullanabildiğini iddia eden bir açık kaynaklı önyükleyicidir.

fetch.php?w=900&tok=b1cce5&media=manual:openblt architecture
OpenBLT Önyükleyici (Görsel: Feaser)

Kodu temel olarak üç bölüme ayrılmıştır:

  1. Özelleştirilebilir Bootloader işlevi. Bu bölümdeki kod, Bootloader'ı projenin özel ihtiyaçlarına göre özelleştirmek için kullanılır. Ana işlev, yapılandırma dosyası ve kanca işlevi gibi.
  2. Bağımsız yükleme güncelleme işlevi. Bu bölüm, Bootloader'ın çekirdeğini oluşturur. Yazılımın güncellenmesi sırasında, firmware dosyasından belleğe veri aktarımını yönetir. Ana bilgisayar ile Bootloader arasındaki iletişim, genel bir ölçüm ve kalibrasyon protokolü olan XCP 1.0 protokolünü izler. Ayrıntılar için lütfen ilgili kılavuza bakın.
  3. Platforma özgü özellikler. Bu bölüm, Bootloader'ı yeni bir platform denetleyicisine taşırken değiştirilmelidir. İletişim, zamanlayıcılar ve depolama aygıtlarına erişim için sürücüler içerir.

RT-FOTA

RT-OTA, STM32 tabanlı bir açık kaynaklı önyükleyici çerçevesidir. RT-OTA, RT-Thread tarafından resmi olarak piyasaya sürülen STM32 serisi mikrodenetleyiciler için genel amaçlı bir önyükleyicidir (ticari nitelikte olup kaynak kodu açıklanmamıştır); RT-FOTA ise RT-OTA projesinin halk tarafından geliştirilen açık kaynaklı versiyonu olarak değerlendirilebilir.

poweron
RT-FOTA Önyükleyici (Görsel kaynağı: Github)

RT-FOTA'nın temel işlevleri:

  • RTT'nin resmi RBL paketleme yazılımını destekler ve aynı şekilde kullanır. Şu anda CRC32, AES256, quicklz ve fastlz gibi işlevleri destekler;
  • Komut satırı modunu (FINSH bileşeni) ve fabrika ayarlarına geri dönme özelliğini destekler;
  • FLASH bölümünü destekler (FAL bileşeni);
  • İşlev genişletmesini destekler (RTT bileşeni);

MCU önyükleyicisi

MCUboot, JuulLabs-OSS kuruluşu tarafından sürdürülen bir açık kaynaklı önyükleyici projesidir; bu proje, MCU uygulama güvenlik güncellemelerini kolayca uygulamanıza olanak sağladığını iddia etmektedir (bunu kullanmış olanlar, tek kelime etmeden gülümserler)

MCUboot Bootloader
MCUboot Bootloader

mcuboot, belirli bir MCU donanım platformuyla hiçbir ilgisi olmayan 32 bit MCU'lar için uygundur. Şu anda bu proje nispeten aktif durumdadır ve halen geliştirilip güncellenmektedir. Aşağıdaki işletim sistemlerine uyarlanmıştır:

  • Zephyr
  • Apache Mynewt
  • Apache NuttX
  • RIOT
  • Mbed OS

Abone ol

Aylık blog güncellemeleri, teknoloji haberleri ve vaka analizleri almak için abone listemize katılın. Asla spam göndermeyeceğiz ve istediğiniz zaman aboneliğinizi iptal edebilirsiniz.

Yazar Hakkında

Picture of Aidan Taylor
Aidan Taylor

I am Aidan Taylor and I have over 10 years of experience in the field of PCB Reverse Engineering, PCB design and IC Unlock.

Yardıma mı ihtiyacınız var?

Scroll to Top

Anında Fiyat Teklifi

Instant Quote