Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Cortex ARM => Konuyu başlatan: yamak - 03 Mart 2014, 20:07:53

Başlık: Stm32f407'de flash'a alanına yazma okuma
Gönderen: yamak - 03 Mart 2014, 20:07:53
Stm32f407'de çalışma esnasında flash hafızaya bazı verileri kayıt etmek istiyorum.
Bu konu ile ilgili yararlanacağım döküman vs. var mı acaba.Application Note'lara baktım bulamadım sizin bildiğiniz varsa paylaşabilir misiniz?
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: mistek - 03 Mart 2014, 20:11:16
F100 den çok farklı olmayabilir.

https://www.picproje.org/index.php/topic,44814.0.html (https://www.picproje.org/index.php/topic,44814.0.html)
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: yamak - 03 Mart 2014, 20:20:07
Hocam burayı okudum ama aynı olup olmadığını bilmediğim için sorayım dedim.
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: LukeSkywalker - 03 Mart 2014, 22:13:07
MikroC'de bu iş için kütüphane var.
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: muhittin_kaplan - 03 Mart 2014, 23:20:35
eeprom emulasyonunda yazıyorsun belirlediğin adrese, incele istersen..
https://www.picproje.org/index.php/topic,44814.0.html (https://www.picproje.org/index.php/topic,44814.0.html)
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: mistek - 03 Mart 2014, 23:21:42
Pişti olduk Muhittin hocam :)
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: muhittin_kaplan - 03 Mart 2014, 23:22:19
 :-[
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: fgokcegoz - 03 Mart 2014, 23:28:19
Alıntı yapılan: yamak - 03 Mart 2014, 20:07:53
Stm32f407'de çalışma esnasında flash hafızaya bazı verileri kayıt etmek istiyorum.
Bu konu ile ilgili yararlanacağım döküman vs. var mı acaba.Application Note'lara baktım bulamadım sizin bildiğiniz varsa paylaşabilir misiniz?

STM32F10x için yapılmış örnek paylaşılmılştı... Çok farklı değildir herhalde...

https://www.picproje.org/index.php/topic,51574.msg391567/topicseen.html#msg391567 (https://www.picproje.org/index.php/topic,51574.msg391567/topicseen.html#msg391567)
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: yamak - 03 Mart 2014, 23:47:40
Stm32f4xx Std Library'deki flash kütüphanesindeki kodları biraz inceledim.Ufak tefek farklılıklar gözüme çarptı ama baya benziyo.
Fakat şöyle bir sorum var.Belki verdiğiniz linkte bir yerlerde yazıyo ama 10 sayfa olduğu için gözümden kaçırmış olabilirim.
Flash'ta bir yere veri yazarken yazacağımız yeri nasıl seçiyoruz.Yani yazacağımız yerde program kodlarından bir parça olabilir.Son sektörlerden birine mi yazıyoruz yoksa yazmadan önce okuyup ona göre mi yazıyoruz?
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: muhittin_kaplan - 04 Mart 2014, 00:06:36
EEPROM emulatorunde istersen okursun, yazarsın. ama yaz dediğinde bilgi varmı diye bakmıyor.(diye hatırlıyorum)
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: yamak - 04 Mart 2014, 19:39:48
Stm32f4 için yazılmış bir eeprom emülasyonu bulamadım.Ayrıca eeprom emülasyonuna ihtiyacım yok.Yani yazacağım verinin çok hızlı yazılmasına gerek yok gerekli bölgeye silip yazabilirim.Bir kaç konfigürasyon ayarı ve ufak bir veri tabanı saklamak istiyorum.
Yazacağım yerin kontrolunu nasıl yaparım.
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: muhittin_kaplan - 04 Mart 2014, 21:21:25
Aradım Taradım Buldum Yamak,

http://www.4shared.com/rar/golaaYkCba/STM32F4xx_EEPROM_Emulation.html (http://www.4shared.com/rar/golaaYkCba/STM32F4xx_EEPROM_Emulation.html)

Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: muhittin_kaplan - 04 Mart 2014, 22:43:24
Yamak Keil Kullanmadım, Memoryi görüntülüyormu bilmiyorum.  ben CoIde ile yazıp StmUtil ile bakıyordum.
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: yamak - 04 Mart 2014, 23:09:43
Hocam çok sağolun.Gerçekten çok makbule geçti.Allah razı olsun.
Aklıma şöyle bişey geldi eğer paylaştığınız kütüphaneyi kullanıp flash'a veri yazabilirsem deneyecem.
Mesela 100 byte lık const bir dizi tanımlayıp daha sonra bu 100 byte lık alana flash register ları aracığılıyla veri yazsam olur mu acaba?Bu alana veri yazarken kontrol etmeme de gerek kalmaz.
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: Burak B - 04 Mart 2014, 23:22:33
Kullandığınız MCU' nun flash page(sektör) yapısına dikkat edin. Yoksa farkında olmadan program kodunuzun bir kısmını da silmeniz mümkün. Flash hafızaların çalışma mantığını iyi anlamak gerek.

Alıntı yapılan: yamak - 04 Mart 2014, 23:09:43
Hocam çok sağolun.Gerçekten çok makbule geçti.Allah razı olsun.
Aklıma şöyle bişey geldi eğer paylaştığınız kütüphaneyi kullanıp flash'a veri yazabilirsem deneyecem.
Mesela 100 byte lık const bir dizi tanımlayıp daha sonra bu 100 byte lık alana flash register ları aracığılıyla veri yazsam olur mu acaba?Bu alana veri yazarken kontrol etmeme de gerek kalmaz.

İşte bu 100 byte olayı problem. Çünkü flash hafızalar sektör olarak silinip yazılmalı. Yani minimum sektörünüz 2K ise o 2K alanı silip sonra veri yazabiliyorsunuz.
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: yamak - 04 Mart 2014, 23:38:26
Onu hiç düşünmemiştim hocam :)
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: EMP_Otto - 23 Temmuz 2014, 22:13:46
Konu acılmışken bende sorumu sorayım:)
Şimdi ben 50 adet 1_11.11.2011 gibi bir log tutmak istiyorum flashta.Flash hakkında yazılanları okudum.Ve bu loglar sıralı sekilde duracak yani 50 tane log tuttum 51. log gelince en eski log silinecek yeni gelen log eklenecek gibi ....

Fikirlerinizi almak istedim.Nasıl yapmalıyım.

Saygılarımla....
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: yamak - 25 Temmuz 2014, 07:43:38
Hocam flash'a bu verileri sıraylayla yazın.51.log geldimi onu da daha önce yazdığınız 50.log un hemen ardına yazın.Ama 1. log u silmeyin.Çünkü çünkü herhangi biyeri silmek için o sektörü komple silmeniz gerekir.Okumak istediğinizde de sektörü sondan itibaren tarayın FF hariç okuduğunuz ilk veri sizin son yazdığınız log un son byte ı olacak.Sonra bu byte tan itibaren sayarak istediğiniz log a ulaşabilirsiniz.Eğer yazmaya çalıştığınızda sektör dolmuşsa son 50 log'unuz bir sonraki boş sektöre kopyalayın.Bir öncek sektörü de silin.Yeni sektör de dolunca tekrar bi önceki sektöre dönüp aynı işlemleri tekrarlayın.Bu şekilde 2 sektörü yedeklemeli olarak kullanabilirsiniz.
Başlık: Ynt: Stm32f407'de flash'a alanına yazma okuma
Gönderen: EMP_Otto - 25 Temmuz 2014, 08:54:19
Cevabınız için teşekkür ederim hocam sağolun.