STM32 Programı bir "Offset" ile başlatmak

Başlatan baran123, 30 Temmuz 2017, 17:40:38

baran123

@tekosis hocam ben yazılımsal bootloader gibi bir takım çalışmalar yapıyorum bunun için flash'a rahat müdahale edip istediğim gibi şekillendirmem gerekiyor. Bunun için uğraşıyorum. :)
Tabikide datalogger vs için kullanılabilir.
Sonuçta bu sizin kendinize ayırdığınız alan istediğiniz gibi kullanabilirsiniz.
Alan biraz büyük fakat bu değeri örnek olsun diye yaptım.
ARM'da bu Flash işleri bayağı rahatmış örneklerde mevcut.
Sevdim. :)

tekosis

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

MrDarK

#17
Embitz kullanıcıları için konuya bir düzeltme yazayım. Kodun .ld flash ve sram alanlarında değişiklik yaptıktan sonra mutlaka menülerden şu ayarı yapmaları gerek;
Debug-> Interfaces -> GDB Server tabından Settings kısmına girip Vector Table Start adresine programın başlangıç yükleme adresini girmeleri gerekmektedir.

Ayrıca SystemInit fonksiyonu içindeki SCB->VTOR register'ınada ilgili atama yapılarak vector table relocation işleminin yapılması gerekiyor.

Aynı şekilde RAM vb alanlarda bu şekilde ayrılabiliyor. Genelde bu tarz bir chipte birden fazla uygulama bootloader içeren kodlarda oluyor. Veyahut belki hatırlayanlar vardır bunu z hocamızda birden fazla programı free keil ile chip içine koymak için kullanmıştı :)
Picproje Eğitim Gönüllüleri ~ MrDarK