MMC&FAT32 Dosya Sistemi Açıklaması

Başlatan mp3dragon, 19 Nisan 2006, 14:00:09

mp3dragon

Forumda bir çok yerde MMC veya benzeri taşınabilir belleklerin uygulaması ile ilgili sorular sorulmakta. Ancak önemli olan MMC veya benzeri bir medyaya veri yazıp okumak değil. Kanımca madem taşınabilir ve SPI ile uygulamalarımızda basitçe kullanılabilir bir malzeme ayrıca fiyatlarıda gün geçtikçe düşmekte neden PC ile uyumlu çalışmasın? Bu sebeple yaygın kullanım alanı olan ve PC ile uyumlu FAT32 sistemini inceledim ve basit olarak yabancı kaynaklardan topladığım bilgileri türkçe olarak 10 sayfalık bir döküman haline getirdim.

Megabaytlarca hatta gigabaytlarca veriyi dosya sistemi kullanmadan işlemek ARM7 işlemcide hex ile program yazmaya benzer, içerisinde kaybolur gideriz. Hem standart bir dosya sistemi kullanmak ileride uyum problemi yaşamamızı engeller. Örneğin bir yerde datalogger uygulaması yaptık diyelim hemen MMC yi söker PC mize takar ve dataları inceleyebiliriz.

Karışık gibi görünen FAT32 aslında biraz emek ile öğrenilebilinir.

Umarım MMC uygulaması ile uğraşan arkadaşlarıma bir faydası olur.
İlerde MMC ile yapılmış bir uygulamanın kaynak kodlarını ve resimlerinide koymayı düşünüyorum.

http://www.hemenpaylas.com/download/518629/FAT32_Dosya_Sistemi.doc.html

http://rapidshare.de/files/18474628/FAT32_Dosya_Sistemi.doc.html

NOT:
(Ufak bir düzeltme yapıp hen rapidshare hem de hemenpayla'a tekrar yükledim. )
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

mp3dragon

Basit bir MMC ve FAT32 uygulaması. Aşağıdaki topikte 132*132 pixel TFT-LCD ile ilgili çalışmaların detayları mevcut. Henüz daha geliştirme aşamasında ama temel işlemler çalışıyor.

mcu = Atmel AT89C51RD2

Derleyici = Keil uVision2 C51 7.50

TFT-LCD = Nokia 6610 epson

https://www.picproje.org/index.php/topic,8235&highlight=

C kodları aşağıda;

http://www.hemenpaylas.com/download/518705/Mmcfat32.rar.html
http://rapidshare.de/files/18475084/Mmcfat32.rar.html
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

mp3dragon

Aşağıda görüldüğü gibi Short File Name olarak dosyaları görebiliyoruz. Dosya içeriğini de okuyabiliriz. Bir sonraki adım LFN (Long File Name) ve FAT32 dosya ayırma tablosunu incelemek.

Şu anki hali ile üzerinde FAT32 dosya sistemi bulunan MMC karttan dosyaları görüp içeriğini okuyabiliyoruz.

Ancak disk defrag olmuş ise veya diske yazmak gerektiğinde Dosya Ayırma Tablosunu incelemeden bu işlemleri yapamayız.



LCD görüntüsü

Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

000FC000   50 49 43 50 52 4F 4A 45  20 20 20 08 00 00 00 00   PICPROJE   .....
000FC010   00 00 00 00 00 00 95 B8  94 34 00 00 00 00 00 00   ......•¸"4......
000FC020   E5 52 41 47 4F 4E 20 20  54 58 54 20 10 8F B1 B8   Ã¥RAGON  TXT .±¸
000FC030   94 34 94 34 00 00 B2 B8  94 34 00 00 00 00 00 00   "4"4..²¸"4......
000FC040   44 52 41 47 4F 4E 20 20  54 58 54 20 10 8F B1 B8   DRAGON  TXT .±¸
000FC050   94 34 94 34 00 00 B2 B8  94 34 03 00 17 00 00 00   "4"4..²¸"4......

Winhex programı ile alınmış root sektör(kök dizini) içeriği

Püf Noktası: Eğer bilgisayardan dosyaları MMC ye atıp defrag yaparsak ve diske yazma işlemi de yapmayacaksak Dosya Ayırma Tablosunu incelememize gerek kalmaz.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

OG

@mp3dragon
Güzel çalışma, devamı gelir inşaallah. İnfogate'in "Proton+ Basic Derleyici ial PIC Programlama" isimli bir kitabı var. Orada CF kartlarla ilgili komutlar ve açıklamalarını detaylıca vermiş.

CF, MMC vs bunların farklılıkları hakkında birşeyler anlatma imkanın varmı?
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

mp3dragon

@OG,

Devamı gelecek inşallah. Full -Time bu konu üzerinde çalışamadığımdan yavaş ilerliyor.

CF kartlara gelince; taşınabilir bellek modüllerinin ilk çıkan örnekleridir. En önemli özellikleri IDE protokolünü desteklemesi yani aynı bir sabit disk gibi kullanılabilmeleridir. 8 veya 16 bir data yolunu desteklerler. Bu sebeple seri olarak data gönderimi yapan SD/MMC ye göre oldukça hızlıdırlar.Bu arada SD/MMC cepheside boş durmuyor 4 bit SD, 8 bit MMC+ ve RS-MMC bellekler günümüzde teorik olarak 52 Mb/s hıza kadar çıktılar.

CF kartların en büyük dezavantajı 50 adet pine sahip olması ve SD/MMC lere göre büyük olmaları.

IDE/ATAPI üzerine çalışma yaptığımında burda yayınlarım. IDE/ATAPI zaten CF kartlarda da geçerli.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

YARGICH

@mp3dragon


    Hocam, çalışmalar süper. Özellikle ekrandaki "C:\..." kısmı çok hoş olmuş :D

    Peki dediniz ki bi data loger yaptık daha sonra MMC yi söküp PC ye taktımızda dosyayı inceleyebiliriz dediniz. Bu verileri MMC ye kaydederken sadece FAT32 kullanılması yetmeyecek herhalde? Excel gibi programlarında onu anlaması için belli formatlarda yazılması gerekiyor herhalde? Soru işareti koyuyorum çünkü tahmin ediyorum. Siz cevaplarsanız da daha güzel olur.

 Hocam artık PC'ler çok gelişiyor, bunun yanı sıra programlarda gelişiyor ve boyutları büyüyor. Boyutun büyümesi FAT32 için bir sıkıntı oluyor. Yani FAT32 de bir dosya boyutunun 4GB'ı geçmemesi gerekiyor. Şimdi kullanıcılar yavaş yavaş bilgisayarlarını NTFS dosya sistemine geçirdiklerini görüyorum. Tam bilmiyorum ama FAT32 de oluşturulmuş bir dosya, NTFS de çalışmıyor olsa gerek. Benim USB belleğimin özelliklerinde FAT32 dosya sistemi kullanıldığı yazıyor. Şimdi aklıma geldi içerisinde NTFS dosya sistemi yüklü bir PC de bu sorun çıkarmıyo mu? Benim de kafam karıştı. Yarın bi ara deneyeyim.  

Çalışmalarında başarılar, takip ediyorum, inşallah bizde MMC yi C:\ ve D:\ diye ikiye ayırırız :D   Kolay Gelsin.
Uçurtmalar, rüzgarın kuvvetiyle değil, rüzgara karşı koydukları direnç ile yükselirler.

mp3dragon

@YARGICH

FAT,  NTFS, Linux Native sadece verilerin nerde olduğunu, dosya ve dizin yapısını içerir. Onun haricinde her dosyanın kendine göre bir yapısı var nasıl .pdf dosyasını Acrobat reader, .xls dosyasını office programı ile açıyoruz her bir dosya uzantısı için ayrı bir dosyanın içeriğini okuyup onu anlaşılabilen hale çeviren kod (veya donanım) bulunması gerekir. Exel'i bilmem ama .avi, .mpg vs gibi dosyalar ek donanım olmadan texas DSP veya ARM9-11 dışındaki mcu lar ile yazılımsal olarak işlenemez.

En basit tex dosya formatı .txt aynı printf() fonksiyonu gibi, karakter, satır aşağı, satır sonu vs. ASCII kodlarına uygun. Ben yapacak olsam PC kısmında .txt ile yapılmış tabloyu exel formatına aktarmak (veya tersi) daha kolay gelirdi.

FAT veya NTFS farketmez dosyanın içeriği değişmeyeceğinden dosyanın nerde oluşturulduğu önemli değil. NTFS özellikle server gibi güvenliğin ön planda tutulduğu sistemler için tasarlanmış olduğundan bazı güvenlik önlemleri mevcuttur. Örneğin FAT16/32 sisteminde istediğiniz kadar windows'a şifre koyun, DOS açılış disketi ile sistemi açıp istediğim dosyaya ulaşabilirim  :lol: ama NTFS te bu mümkün olmaz aynı şekilde Linux native'de de olmaz.

Dosya büyüklüğüne gelince 4 Gb ciddi bir büyüklük. En azından 4 gb büyüklüğünde tek bir ofis dosyasına daha rastlamadım. :lol: (.avi de maximum 2 gb. dir.)

FAT16 da maksimum sürücü büyüklüğü (C: D:) 2 Gb iken FAT32 de 2^12 * 2 Gb tır. (8 Tb) Eh şimdilik bize yeter.

Kolay gelsin
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

YARGICH

Geçen bi arkaşdaşım 4GB dan daha büyük bir oyun kuracakmış, FAT32 de kuramadığı için bilgisayarını NTFS ye çeviriyordu. Dosya parça parça idi ama kurulmadan önce tek dosya haline gelmek zorunda imiş. Benim de aklımda ordan kalmış. Benim dosya boyutunun büyüklüğünden kastım, sizn oluşturacağınız dosyanın büyüklüğü değildi, göndereceğiniz PC deki dosya sisteminin farklı olabileceği idi. Eğer dosya sistemleri arasında nerde bulunduklarının dışında bir fark yoksa o zaman eyvallah :D


Kolay Gelsin.
Uçurtmalar, rüzgarın kuvvetiyle değil, rüzgara karşı koydukları direnç ile yükselirler.

aster

Selam, konuyla uzaktan alakalı bir soru sorsam konuyu bölmüş olmam herhalde.

Geçenlerde 80 Gb ATA HDD aldım. Formatlama kısmına gelince fdisk bunu 10GB gördü bende mecburen XP de biçimlendirdim ama bana sormadan NTFS yapıverdi halbuki ben FAT32 olmasını istedim
neyse fazla zorlamadım işim acele olduğu için ~1 saat bekliyerek format  işini bitirdik, şimdi konu açılınca sorma gereği duydum
80Gb HDD yi bölmeden FAT32 yapma şansım varmı?
FAT32 istememdeki tek sebep GHOST

mp3dragon

Evet yapabilirsin. Eğer açılış disketi ile fdisk ve format yapıyorsan format.com 80 gb diskini 10 gb gibi görecektir, ancak merak etme format bitip windows'a geçince ta taa 80gb FAT32 koçlar gibi görünür.

xp içerisinden 20 Gb tan fazla bölümleri FAT32 olarak tanımlayamıyorsunuz illaki NTFS yapacam inadı var.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

kelleci

selam mp3dragon yazdıklarını merakla takip ediyorum çok güzel bilgiler.
bizde yakında 12 bit adc den aldığı datayı mmc yada sd karta kaydeden bir sisteme başlayacağız merakla yeni göndereceğin mesajları bekliyorum sana başarılar.

mp3dragon

Kusura bakmayın
Uzun süredir uğraşamıyorum
FAT32 dosya ayırma tablosunu inceleme işi biraz ileri bir tarihe sarktı.




Ancak pic18f452 ve HI-TECH C derleyeci için çalışan son halini aşağıda
veriyorum

http://www.hemenpaylas.com/download/887792/MMCLCDPIC.rar.html

burda da kısa bir video var;

http://www.hemenpaylas.com/download/887855/Resim_003.rar.html

maksimum 130x130 pixel boyutundaki 24 bit .bmp uzantılı dosyalarınızı slayt gösterisi şeklinde sırayla ekrana taşır. Resmin altında dosya ismini de gösteriyor.

3.66 mips ten 10 mips'e çıkınca tabiatiyle hız süper.


~50 kb boyutundaki dosyayı okuyup 24 -> 8 bit çevrimi yapıp ekrana göndermek 10 mips te 1 sn nin bayağı altında oldu.


yalnız MMC SPI de 10 mbps hıza çıkınca nedense data okumada (15 cm kablo olmasına rağmen) kaçırma yapıyor o yüzden hızı 2,5 mbps da düşürdüm (tcy/4)

not: birşey söylemeyi unuttum verdiğim kod Colt Bootloader kullandığım için 0x100 adresinden başlar o yüzden .hex eğer bootloader kullanmıyorsanız çalışmaz. Direk pic e yazdıracaksanız HI-TECH ayarlarını ona göre yapıp tekrar derleyin!
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

CoşkuN

Hocam çok güzel bir çalışma olmuş emeğinize sağlık.
Biraz da ekranın çalışmasından bahseder misiniz? O ekranı telefondan mı söktünüz ,arabirimi nasıl?

mp3dragon

@CoşkuN

aşağıdaki topikte konu tartışılmıştı, her türlü detay orada mevcut.

https://www.picproje.org/index.php/topic,8235&start=0&postdays=0&postorder=asc&highlight=

kısaca cep telefonu tamircilerinde bulunabiliyor yani telefonu hacamat etmenize gerek yok arabirimi ise 9 bit SPI
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

Macera

2Gb a kadar olan kartlar FAT16 ile formatlanmıyormu?
FAT16 yıda öğrenmemiz gerekir diye düşünüyorum.
"Art without engineering is dreaming; engineering without art is calculating." -- Steven K. Roberts