Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Cortex ARM => Konuyu başlatan: volkanunal - 15 Ekim 2019, 11:36:25

Başlık: SD Kart içerisinde bulunan dosyaların zaman zaman silinmesi
Gönderen: volkanunal - 15 Ekim 2019, 11:36:25
Merhabalar,

SD kart içerisinde tuttuğum dosyalar zaman zaman (2-3 hafta belki 3gün) içerisinde, periyodik olmayan zamanlarda içerisinde bulundurduğu bazı dosyaları kendisi silmekte. Her zaman aynı dosyalar değil.

SD kart içerisinde cihazın sadece ayağa kalktığı zamanlarda okuma yaptığı dosyaların yanı sıra, bazı durumlarda 5dk'lık aralıklar bir treshold dosyasını güncelliyor. Gerekli şartlar sağlandıktan sonra dosyayı okuma yaparak veriyi gönderiyor.

Ancak bu silinme olayı, çok can sıkıcı bir durum oluşturmakta. Daha önce böyle bir durumla karşılaşan oldu mu acaba?

Sd kart dosyalama sisteminde FatFs kullanılmakta
Kullanılan sd kart -> Kingston marka sd card.
Başlık: Ynt: SD Kart içerisinde bulunan dosyaların zaman zaman silinmesi
Gönderen: OptimusPrime - 15 Ekim 2019, 19:30:39
Yazilimdaki bir bug dosyalari siliyor veya bir sekilde bozuyor olabilir mi?
Dosya islemleri yaparken cagirilan API lerdeki geri donuslere bakarak error recovery gibi islemler yapiliyor mu? Hic kart uzerinde dosya sistemi hatalirn bakildi mi?

Bunlar ilk anda aklima gelenler  :du:
Başlık: Ynt: SD Kart içerisinde bulunan dosyaların zaman zaman silinmesi
Gönderen: volkanunal - 15 Ekim 2019, 19:50:14
Periyodik olarak olmadığı için sahadaki bir cihazı takip etmem çok mümkün olmuyor, silinmenin yanı sıra bozulmalarda meydana gelebiliyor. Bu durumda sd kartın formatlanması gerekiyor
Başlık: Ynt: SD Kart içerisinde bulunan dosyaların zaman zaman silinmesi
Gönderen: z - 16 Ekim 2019, 06:14:38
Ya senin keni kodlarında ya da SD kart kütüphanesinde bug vardır.

Çok sıkıcı bir hata ayıklama operasyonu gerekecek.
Başlık: Ynt: SD Kart içerisinde bulunan dosyaların zaman zaman silinmesi
Gönderen: OptimusPrime - 16 Ekim 2019, 16:36:41
Zor is bunu bulmak .  :(

Bir cesit log mekanizmasi kurup uzunca bir zaman izlemen gerekiyor. Ozelliklede dosya sistemi ile ilgili API lerin cagirildigi fonksiyonlarin neler yaptigini loglarsan birseyler cikabilir gibi.  :du:
Başlık: Ynt: SD Kart içerisinde bulunan dosyaların zaman zaman silinmesi
Gönderen: taydin - 16 Ekim 2019, 16:49:44
Eğer lojik analizör varsa şöyle birşey de yapılabilir: Lojik analizörü SDCARD sinyallerine bağla, sonra da yazma sinyalinin aktif olmasına trigger tanımla. Böyle yapınca, ne zaman yazıldığını ve ne yazıldığını görebilirsin. Eğer bu sırada işletim sisteminde neler olup bitiyor öğrenmek istiyorsan, bu trigger'i MCU'nun bir GPIO suna bağlarsın ve o GPIO'da trigger'i görünce MCU'ya sağdan soldan veri toplatıp bir kenara yazdırırsın.

Bu sana problem ile ilgili post mortem bir durum raporu sunacak, uçak karakutusu gibi, ve belki de topladığın bilgilerle problemin ne olduğunu anlayabileceksin.
Başlık: Ynt: SD Kart içerisinde bulunan dosyaların zaman zaman silinmesi
Gönderen: volkanunal - 16 Ekim 2019, 18:01:21
Alıntı yapılan: z - 16 Ekim 2019, 06:14:38Ya senin keni kodlarında ya da SD kart kütüphanesinde bug vardır.

Çok sıkıcı bir hata ayıklama operasyonu gerekecek.

Fatfs'in 2014 çıkarmış olduğu sürümde şu an cihazın içinde ki driver, 2019 taşımaya çalışıyorum faka haliyle o zamandan bu yana 3.parti yazılım kısmını geçtim hal kısmında bile bir çok değişiklik olmuş. Hatayı yakalamam zor gibi duruyor gerçekten.


Alıntı yapılan: taydin - 16 Ekim 2019, 16:49:44Eğer lojik analizör varsa şöyle birşey de yapılabilir: Lojik analizörü SDCARD sinyallerine bağla, sonra da yazma sinyalinin aktif olmasına trigger tanımla. Böyle yapınca, ne zaman yazıldığını ve ne yazıldığını görebilirsin. Eğer bu sırada işletim sisteminde neler olup bitiyor öğrenmek istiyorsan, bu trigger'i MCU'nun bir GPIO suna bağlarsın ve o GPIO'da trigger'i görünce MCU'ya sağdan soldan veri toplatıp bir kenara yazdırırsın.

Bu sana problem ile ilgili post mortem bir durum raporu sunacak, uçak karakutusu gibi, ve belki de topladığın bilgilerle problemin ne olduğunu anlayabileceksin.

Ne zaman ne yazıldığını test düzeneği üzerinde görebiliyorum. Ancak dediğim gibi 4 ay boyunca bir problem olmadan çalıştığı sahada var.
Başlık: Ynt: SD Kart içerisinde bulunan dosyaların zaman zaman silinmesi
Gönderen: taydin - 16 Ekim 2019, 19:32:46
Alıntı yapılan: volkanunal - 16 Ekim 2019, 18:01:21Ne zaman ne yazıldığını test düzeneği üzerinde görebiliyorum. Ancak dediğim gibi 4 ay boyunca bir problem olmadan çalıştığı sahada var.

Yani hiçbir şekilde SDCARD'a yazma komutu gitmiyor, bundan eminsin, ve buna rağmen SDCARD'daki dosyalar bozuluyor öyle mi?

Eğer öyle ise, o SDCARD'daki flash chipleri aşınmış ve ömürlerini doldurmuştur. Her flash belleğin bir yazılabilme sayısı limiti var. Belki o sistem üzerinde birisi program geliştirirken bir hata yaptı ve sonsuz döngüde sürekli o flash'a birşeyler yazıldı. Bu olduktan sonra artık o SDCARD'dan hayır gelmez.
Başlık: Ynt: SD Kart içerisinde bulunan dosyaların zaman zaman silinmesi
Gönderen: taydin - 16 Ekim 2019, 19:34:30
Bir diğer ihtimal de, o flash'lar çok yoğun X ışınlarının olduğu bir yerde bulunuyor (röntgen cihazı?) veya çok fazla kozmik ışımaya maruz kalıyor (uluslararası uzay istasyonu? :) )
Başlık: Ynt: SD Kart içerisinde bulunan dosyaların zaman zaman silinmesi
Gönderen: Melih1802 - 16 Ekim 2019, 20:08:43
Kart gerçekten Orjinal mi?
https://www.donanimhaber.com/Sahte-hafiza-kartlarina-dikkat-iste-gercek-ile-sahte-kartlari-ayirma-yontemleri--82105
Başlık: Ynt: SD Kart içerisinde bulunan dosyaların zaman zaman silinmesi
Gönderen: OptimusPrime - 17 Ekim 2019, 08:57:57
Class 10 muydu daha oncesi sd lerdemiydi ayni yere surekli yazsan bile sd icindeki ozel bir devre ile ayni bolgenin devamli kullanilmasi engelleniyordu. Bunun adi neydi hatirlamiyorum.  :du:

Bence port ettigin kisimda bir sikinti var. Sd olaylarini ayrintili logla oradan bir sonuc cikar diye dusunuyorum. ::ok
Başlık: Ynt: SD Kart içerisinde bulunan dosyaların zaman zaman silinmesi
Gönderen: taydin - 17 Ekim 2019, 12:27:35
Alıntı yapılan: OptimusPrime - 17 Ekim 2019, 08:57:57Class 10 muydu daha oncesi sd lerdemiydi ayni yere surekli yazsan bile sd icindeki ozel bir devre ile ayni bolgenin devamli kullanilmasi engelleniyordu. Bunun adi neydi hatirlamiyorum.  :du:

Ona "wear levelling" (aşınma dengelemesi) deniyor ve flash çiplerinin içinde değil, haricinde bir kontrolcü devresi yapıyor. Ama gene de bir yazılım bir bug nedeniyle sonsuz döngüde yazarsa, sabaha kadar çalıştığında o flash gene gider diye düşünüyorum. Wear levelling sadece süreyi uzatır.
Başlık: Ynt: SD Kart içerisinde bulunan dosyaların zaman zaman silinmesi
Gönderen: OptimusPrime - 17 Ekim 2019, 17:30:57
Hay yasa.  ::ok
Tear and wear isleri.