Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Konuyu başlatan: mistek - 06 Nisan 2014, 18:18:04

Başlık: Ynt: Hafıza boyu kısaltma
Gönderen: mistek - 06 Nisan 2014, 18:18:04
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
Başlık: Ynt: Hafıza boyu kısaltma
Gönderen: z - 07 Nisan 2014, 00:35:12
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)
Başlık: Ynt: Hafıza boyu kısaltma
Gönderen: mistek - 07 Nisan 2014, 00:38:57
Buradan mı hocam?

(http://s22.postimg.cc/3yfg0213h/Ekran_Al_nt_s.jpg) (http://postimg.cc/image/3yfg0213h/)
Başlık: Ynt: Hafıza boyu kısaltma
Gönderen: mistek - 07 Nisan 2014, 10:14:40
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.)
Başlık: Ynt: Hafıza boyu kısaltma
Gönderen: z - 07 Nisan 2014, 12:16:04
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.