SecureDigital op de PIC


Ehm, waarom zou je voor de FAT meer pinnen nodig hebben ???
Op 20 juli 2004 16:25:03 schreef Remko Struiksma:
Ehm, waarom zou je voor de FAT meer pinnen nodig hebben ???
Het gaat niet om de pinnen. Maar om het programma geheugen van die pic. De kleinere pic's in de 16Fxxx serie zijn niet groter dan 1024 instructies. Ik denk niet dat ik dat ga redden met alles wat je moet doen voor FAT. Een aantal waardes moeten uit de 0 sector worden gelezen en verwerkt en dan nog de FAT tabel bijhouden als er een bestand wordt gemaakt. Als ik lange bestands namen wil gebruiken wordt het nog ingewikkelder. Vandaar dus dat ik meer geheugen nodig denk te hebben. Helaas betekend dat ook en grotere pic.
Ik heb de beschrijving van FAT16 zitten lezen en ik denk dat het erg lang gaat duren voordat ik alles snap. Er moet best veel gebeuren om de FAT bij te houden. En dat wordt heel veel werk voor de PIC (en mij) om dat goed bij te houden.

Het is erg leuk en makkelijk als het eenmaal werkt, maar ik denk dat ik dan wel een jaar verder ben.
Kun je geen code van linux oid gebruiken(maar dat zal ook wel een heel uitgezoek zijn mischien ff op eprogrammeur.nl vragen)
Met een FAT werken gaat mij ook niet lukken.
Ik weet niet waar jij het precies voor wilt gaan gebruiken, maar misschien kun je ook gewoon vaste adressen gebruiken waar je bepaalde data opslaat.
Op die manier heb je geen FAT e.d. nodig, je bent wel minder flexibel qua programeren en kunt je SD-card niet uitlezen met de PC.
Je gebruikt hem dan op de manier zoals je ook een eeprom e.d. gebruikt, alleen heb je veel meer opslag capaciteit.
Op 21 juli 2004 11:55:33 schreef Remko Struiksma:
Met een FAT werken gaat mij ook niet lukken.
Ik weet niet waar jij het precies voor wilt gaan gebruiken, maar misschien kun je ook gewoon vaste adressen gebruiken waar je bepaalde data opslaat.
Op die manier heb je geen FAT e.d. nodig, je bent wel minder flexibel qua programeren en kunt je SD-card niet uitlezen met de PC.
Je gebruikt hem dan op de manier zoals je ook een eeprom e.d. gebruikt, alleen heb je veel meer opslag capaciteit.
Alles wat ik doe is gewoon uitproberen, kijken of het lukt enzo. Het is voor mij een hobby, geen werk of school.

Ik heb nog niet echt een idee wat ik ermee zou doen, maar ik vind het wel intressant dat het mogelijk is. Het bied wel veel mogelijkheden. Als je een grafisch LCd scherm hebt kun je meerdere grote plaatjes weergeven. Heel mischien zelfs wel een grafisch spel.

Ik zie het wel. Het heeft geen haast. Maar ik ga wel proberen om de FAT uit te lezen. Ik ahd al een image gemaakt en ik heb een simpel programma in visual basic dat de bootsector uitleest. Veel informatie uit de bootsector is niet eens belangrijk voor een SD kaart, dus daar hoef je in de uC niets mee te doen.
Als ik jouw was zou ik eerst maar een proberen data te lezen en te schrijven.
Als je later een versie wilt maken met FAT zul je dit weer nodig hebben.
Op 21 juli 2004 13:16:48 schreef Remko Struiksma:
Als ik jouw was zou ik eerst maar een proberen data te lezen en te schrijven.
Als je later een versie wilt maken met FAT zul je dit weer nodig hebben.
Dat van de bootsector is op de PC, ik heb alleen met winimage ALLES van de sd kaart gekopieert naar één bestand. en daar probeer ik nu dingen uit te lezen.

Als ik echt met de SD kaart ga beginnen is het ook de bedoeling om eerst data in en uit de kaart te krijgen. Ik had in die PDF die jij had gepost gelezen dat er ergens een register is met de string "SD064" in mijn geval. Dus dat is denk ik het eerste wat ik eruit ga lezen.
Op 21 juli 2004 13:30:03 schreef Archer:
Ik had in die PDF die jij had gepost gelezen dat er ergens een register is met de string "SD064" in mijn geval. Dus dat is denk ik het eerste wat ik eruit ga lezen.
Beginnen met het uitlezen van het CID register is een goed idee, ik ben daar ook mee begonnen.
Als je eenmaal zover bent dat je het CID register kunt uitlezen ben je een heel eind op weg, je kunt dan versturen en ontvangen, alles wat je nodig hebt om te kunnen lezen en schrijven.
Wellicht is dit artikel wat voor u allen:
http://home.wtal.de/Mischka/MMC/index.html

Daarin staat een schakeling met 5-3.3V aanpassing met enkele weerstanden.

Elders heb ik ooit een simpele truuk gelezen van iemand die geen volledige FAT wilde supporten op de PIC, maar wel wilde uitwisselen met een PC. Hij schreef op de PC gewoon een enkele heel grote file op de flash kaart, gevuld met 0xFF geloof ik.
Op de PIC schreef hij dan weg beginnend met de sector waar de file begint. Afsluiten met een ^Z en de (text)file was leesbaar op de PC. De control-Z maakt dat de textfile een eindmarker krijgt. Dit kan genoeg zijn als je maar behoeft hebt aan 1 file. Eventueel kun je dit wellicht uitbreiden naar enkele files.

Joop
Een andere mogelijk interessant forum over dit onderwerp is:
http://www.ccsinfo.com/forum/viewtopic.php?t=19988
Op 5 augustus 2004 00:43:44 schreef jojo:
Wellicht is dit artikel wat voor u allen:
http://home.wtal.de/Mischka/MMC/index.html

Daarin staat een schakeling met 5-3.3V aanpassing met enkele weerstanden.

Elders heb ik ooit een simpele truuk gelezen van iemand die geen volledige FAT wilde supporten op de PIC, maar wel wilde uitwisselen met een PC. Hij schreef op de PC gewoon een enkele heel grote file op de flash kaart, gevuld met 0xFF geloof ik.
Op de PIC schreef hij dan weg beginnend met de sector waar de file begint. Afsluiten met een ^Z en de (text)file was leesbaar op de PC. De control-Z maakt dat de textfile een eindmarker krijgt. Dit kan genoeg zijn als je maar behoeft hebt aan 1 file. Eventueel kun je dit wellicht uitbreiden naar enkele files.

Joop
Dit is erg intressant (denk ik). Ik heb nooit duits geleerd dus dat wordt puzzelen, maar bedankt. Die schakeling zag er niet zo moeilijk uit.

En ik moet FAT wel in de pic zetten want ik wil meerdere bastanden gebruiken. Het idee is om een soort "driver" te maken in één pic en die met een mini netwerk aansturen vanaf een andere PIC die dan erg eenvoudig de SD kan lezen en schrijven en niets van FAT hoeft te weten.
Moet het werkelijk FAT-16 zijn of een eenvoudige emulatie? Want je spreekt eerst van makkelijk opslaan en vervolgens over het kunnen lezen met een computer. Een eenvoudige FAT is namelijk redelijk makkelijk te schrijven. Voor het kunnen lezen met een PC hangt het er vanaf hoe je de interface wil bouwen.. Als je zelf de interface bouwt, hoeft alleen de interface FAT(INT 13) commandos te begrijpen en is het werkelijke bestandssysteem wat je gebruikt niet relevant.