Bootloader Functions

Başlatan yldzelektronik, 23 Haziran 2020, 09:23:01

yldzelektronik

Herkese selamlar,

Elimde bir pcb var. Üzerinde cpu değil mcu var.

Mcu 64kb dahili hafızaya sahip.

Kart üzerinde USB HS, USD CARD, ETHERNET, RS485, UART var.

Ayrıca üzerinde biri paralel diğeri QSPI iki adet flash var.

Paralel olan 128Mb ve boyutunu yuları yönlü değiştiremem. Donanımsal bir durum.

QSPI flash 128Mb fakat donanımsal değişiklik olmadan boyutu aşağı yukarı yönlü değiştirebilirim.

Kart üzerinde ayrıca SDRAM, 24t Paralel LCD mevcut.

Bu kart için bir bootloader yazmam gerekiyor. Ancak bootloaderdan beklediğim iki ana fonkyon var.

Biri bah geçen belleklerden (geçerli bir image varsa) sistemin boot olmasını sağlamak,

İkincisi yukarıda bahsettiğim yöntemlerden biriyle yeni yazılımı güncellemek.

Tabii bütün bunlar olurken kullanıcıyı ekrandan bilgilendireceğim.

Yeni yazılım yüklenmesi işi bir flash belleğe veri yazmak, basit bir işlem. Burada herhangi bir sorun yok.

Benim odaklandığım kısım daha çok güncelleme algoritması.

Güncelleme ile ilgili olarak aklımdaki yöntem yedekli gitmek. Yani belleği ikiye bölüp önce ilk partition a yüklemeyi yapacağım. Ye güncelleme geldiğinde bunu ikinci partition a yapacağım. Olur da yeni yazılımda bir sorun var da boot olamazsa kolaylıkla çalışan versiyona dönülebilsin diye. Şimdi gelelim soru kısmına.

Elimde 2 bellek var. Bu bellekler bu kart üzerinde her zaman dizili olmayabilir. Bazen biri bazen her ikisi de yer alabilir. Ayrıca kart genelde ekranlı uygulamalar için uygun olduğundan resim vs gibi bilgiler için ayrı bir section daha oluşturuluyor. Yani appcode ve media data gibi section lar. Bunu linker script tarafında ayarlıyoruz. Touchgfx kullananlar daha iyi anlayacaktır.

Bootloader güncelleme işini bu iki belleğin dizi olması veya olmaması durumuna göre nasıl bir yöntemle yazmalı? Hangisini nasıl yapılandırmak gerekir?

Boot olurken de nasıl bir yöntem ile hangi bellekten boot olmaya çalışmak gerekir?

Bu durum windows ta hangi diskten boot olacağını seçmek gibi aslında. CD den mi, hdd den mi network ten mi gibi.

Fikirlerinize ihtiyacım var.
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.