Nuvoton M031FB0AE mcu LDROM hafızasına ISP kodu sığmıyor.

Başlatan tekosis, 27 Kasım 2022, 23:41:45

tekosis

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   
İlim ilim bilmektir, ilim kendin bilmektir, sen kendin bilmezsin, bu nice okumaktır.

Andromeda

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..
" Tanrı, iradesini hakim kılmak için yeryüzündeki iyi insanları kullanır, yeryüzündeki kötü insanlar ise kendi iradelerini hakim kılmak için Tanrı'yı kullanırlar." ..." Tanrı'dan mesaj gelmiyor, biz Tanrı'ya mesaj gönderiyoruz"

tekosis

İlim ilim bilmektir, ilim kendin bilmektir, sen kendin bilmezsin, bu nice okumaktır.

Sozuak

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.

quarko

M031 ailesinde LDROM u 8KB olan iki adet model var. Her ikisinin de 512KB Flash ı, 96K Sram i var.

M031SIAAE (LQFP64)
M031KIAAE (LQFP128)
"Aslanlar kendi hikayelerini yazmadıkça, avcıların kahramanlık hikayelerini dinlemek zorundayız."

tekosis

@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.


İlim ilim bilmektir, ilim kendin bilmektir, sen kendin bilmezsin, bu nice okumaktır.

Sozuak

Hiç uğraşmadım ama vardır bir yerlerde belki. Çoğu modelin kapasitesi 2kb .

tekosis

@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.



İlim ilim bilmektir, ilim kendin bilmektir, sen kendin bilmezsin, bu nice okumaktır.

Sozuak

Tamamen aklımdan çıkmış iyi hatırlattın :)