Ynt: Hafıza boyu kısaltma

Başlatan mistek, 06 Nisan 2014, 18:18:04

mistek

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
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

z

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)
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mistek

boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

mistek

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.)
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

z

Alıntı yapılan: mistek - 07 Nisan 2014, 00:38:57
Buradan mı hocam?

(Resim gizlendi görmek için tıklayın.)[/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.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com