Selamün aleyküm ustalarım, yine nuvoton ile karşınızdayım. M031FB0AE denetleyicisi için keilde yazılmış olan ISP_UART bootloader kodunu mcu'ya yükleyeceğim. Bu sayede USB->UART dönüştücü ve ISP programming tool pc programı ile yazdığım kodları bootloader mantığı ile mcu içine yükleme niyetindeyim. Aşağıda verilen adresteki kodu derlediğimde 8KB hex dosyası oluşuyor. Bu hex kodu 2KB olan LDROM hafızasına sığmıyor. Programı biraz kurcaladım page size ayarından başka kurcalanacak bir değer bulamadım. Acaba neyi atlıyorum? Programı sadeleştirmek mi lazım?
Örnek ISP kodu :
https://github.com/OpenNuvoton/M031BSP/tree/master/SampleCode/ISP/ISP_UART/KEIL
Kullandığım MCU bilgi sayfası ;
https://cdn.ozdisan.com/ETicaret_Dosya/576684_1343388.pdf
Anlamadığım bir konu..
fakat 8kb hex 2kb lık rom a nasıl sığar diye düşünürken,
memories özelliklerinde kullanıcı tanımlı ldrom a 8kb a kadar yükleme yapılabilir yazıyor.
Umarım yanlış çevirmedim..
belki çok az bir taşma oluyordur.. neyse bilenler cevap verir..
@Andromeda hocam bakmam lazım belki kaçırdığım nokta odur.
Kaçırdığın nokta 8kb ye kadar yükleyici bellek desteği ve kullanıcı tanımlı yükleyici diyor. Kullanıcı tanımlı 8kb ye kadar flash yükleyici bellek demiyor. Veri kağıdında sayfa 23 de başlayan tablolardan 8 kb bellek boyutuna sahip modellerden seçmen lazım. Senin model 2 kb ile sınırlı maalesef arttırabileceğini belirten bir ifade de göremedim okuduğum kadarıyla.
M031 ailesinde LDROM u 8KB olan iki adet model var. Her ikisinin de 512KB Flash ı, 96K Sram i var.
M031SIAAE (LQFP64)
M031KIAAE (LQFP128)
@quarko ,
@Sozuak öncelikle ilginiz için çok teşekkür ederim. Benim takıldığım nokta madem elimdeki mcu içinde 2KB LDROM buna göre bir ISP programı yok mu acaba? Yoksa bu kodu benim yazmam mı gerekiyor?
dediğiniz gibi mecvut denetleyicimin LDROM kapasitesi 2KB.
(https://i.hizliresim.com/jtwsllq.png) (https://www.hizliresim.com/jtwsllq)
Hiç uğraşmadım ama vardır bir yerlerde belki. Çoğu modelin kapasitesi 2kb .
@Andromeda ,
@quarko ,
@Sozuak sorun çözüldü ilginize teşekkür ederim. Problemin iki kaynağı var,
1 -Ben daha çok hex dosyasına odaklandım ama bu alana kod yüklemek için .bin dosyasını kullanmalıymış.
2 -Kod optimizasyonu yapmak gerekiyor. Yapınca .bin dosyası 1.97KB oldu, hafızaya sığdı. Videosunu da çektim.
Tamamen aklımdan çıkmış iyi hatırlattın :)