STM32 READ / ERASE / WRİTE FLASH

Başlatan cagri_dinc, 19 Şubat 2014, 09:34:36

görkem

sorun çözüldü hal kütüphanesinde sorun var FLASH->CR register ında page erase biti sürekli 1 de kalıyormuş yazarken sıfırlamak gerekiyor.

matter

Eğer yazdığınız page'yi okumuyorsa derleyicinin optimizasyonunu kapatırsanız sorun çözülebilir çünkü bende aynı sorunla karşılaştım.

e135193

Yazılmayan sektör kısımları 0xFF olarak okunacaktır.

izturk

Merhabalar,

Ben de bu kodlarla yazıp siliyordum problem yoktu. kodlar artmaya başladıkça yazmamaya başladı. şimdi programın başına bir sonsuz döngü ekleyip yazıp sildiğimde program boyutu küçülüyor ve yazmaya okumaya başlıyor. ama gerçek programı aktif ettiğimde yazma silme yapmıyor.

işlemcim 32f103vct6 0x0803f000 adresinden başlatıyorum.

Benim kodum ne kadar tutuyor neresi boş hangi adrese yazmalıyım bi babayiğit açıklayabilir mi?

e-zeki

Alıntı yapılan: izturk - 27 Eylül 2018, 17:09:26Merhabalar,

Ben de bu kodlarla yazıp siliyordum problem yoktu. kodlar artmaya başladıkça yazmamaya başladı. şimdi programın başına bir sonsuz döngü ekleyip yazıp sildiğimde program boyutu küçülüyor ve yazmaya okumaya başlıyor. ama gerçek programı aktif ettiğimde yazma silme yapmıyor.

işlemcim 32f103vct6 0x0803f000 adresinden başlatıyorum.

Benim kodum ne kadar tutuyor neresi boş hangi adrese yazmalıyım bi babayiğit açıklayabilir mi?


hocam asıl program bloğu nerede bitiyor ona baktınız mı? yani sizin program bloğunuz 0x0803f200 de bitiyor ve siz 0x0803f000 dan yazıp silmeye başlıyorsanız kendi program bloğunuzu siliyorsunuz demektir bu da programınızı kullanlılmaz hale getirir.
2. bir durum da
FLASH-zAR  register'ına yazdığınız adres page yapınız 1kb ise 1024, 2kb ise 2048 in katları olarak artmlaı.
aynı page içinde farklı adreslerden silme yapmaya çalıştığında 10-15 erase işleminden sonra çakılıyor. neden olduğunu bilmiyorum fakat başıma geldi ve bu şekilde çözdüm.