Keil'de stm32f100c6 çipine program yazdım.
Flash hafızanın bir kısmını eeprom olarak kullanıyorum. Derleyici kodu yazacağı adresleri oluştururken hafızanın 30kb olduğunu varsaysın buranın dışına taşmasın istiyorum.
Ayarlama nereden yapılıyor?
mesaj birleştirme:: 06 Nisan 2014, 18:37:18
Adreslerde şu şekilde
Başlangıç adresi: 0x0800 0000
Bitiş adresi: 0x0800 7800
Option ayarlarinda rom ram boyu islemciye gore otomatik geliyor. Burada baslangic adresleri ve uzunluklari girilebiliyor.
Buradan degistirebilirsin.
Ancak ayarlari ilk menuden al diye bir secenek daha var. Onu da tiklaman lazim. (Linker menude olabilir)
Buradan mı hocam?
(http://s22.postimg.cc/3yfg0213h/Ekran_Al_nt_s.jpg) (http://postimg.cc/image/3yfg0213h/)
stm32f100c6 çipine
Keilden
Program Size: Code=37006 RO-data=770 RW-data=892 ZI-data=1860
Bu boyuttaki kodu yüklüyorum. Programlarken altta adresleri gösteren yeri takip ediyorum. 0x0800 9400 adresine kadar veri yazıyor. Bu nasıl olur?
Çipin hafızası 32kb en son adresi 0x0800 8000.
Nereye yazılıyor bu kod?
(Program şuan doğru çalışıyor gibi gözüküyor.)
Alıntı yapılan: mistek - 07 Nisan 2014, 00:38:57
Buradan mı hocam?
(http://s22.postimg.cc/3yfg0213h/Ekran_Al_nt_s.jpg)[/url]
Evet.
Burada IROM Size 0x10000 imiş. Bunu küçültmeyi dene.
Yalnız Linker menüde "Use Layout From Target Dialog" kutucuğunu tıklamayı unutma.
Aksi takdirde resimdeki tabloda girilen IROM size vs değerleri dikkate alınmaz.