We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi to all, i started to work on FAT file system on SD 1GB card. LPC2388 on MCB2300 board.
Just now i have completed my binary search on File system on SD card. Simply fopen, fread, fseek,etc.
Now i have to work on SD card using FAT file system. i went through so many web pages that didnt answer my question or i was not able to understand.
how to make a File allocating table on my SD Card? Some simple example can give me a good start...
my question is Whats the difference between Normal File system (which i have done on my SD card) and FAT File system?
And I had formatted the SD card on LAPTOP with the 2 options of FAT(Default) and FAT32. When i tried to use the card after i did format using FAT(Default) option, i was able to work with my code which i developed for SD card using normal File system.
But if format using FAT32 option, then while trying to initialize the card it says SD card un formatted.
So what its trying to say?
So by default my controller accept FAT12?
Can i use FAT32 on the same SD card for my same code in which i didnt give an option to recognize FAT32?
As i studied from the web source for FAT16, the clusters address divide my SD card in to sectors and gives back the location address to me(2^16 address)?
So on for FAT32?
So please give me some clear explanation how to start? And i gone through Wikipedia and all the sources so dont give me the link for wikipedia pls.
->I dont know whats the MCI_Send_CSD result? What those values tell me?<-
In the below thread
http://www.keil.com/forum/docs/thread15098.asp
Andy (Andy Neil) provided a link to
the free "simplified" version of the SD Card interface specification
www.sdcard.org/.../sdcard
Search this documentation with "SEND_CSD", you will found: The host issues SEND_CSD (CMD9) to obtain the Card Specific Data (CSD register), e.g. block length, card storage capacity, etc.
->So how can i remove this Write protected?<-
You need to find the related function/source code, study it, find out that, how it works, why it detects a "Write protected".
To better understand and control the SD-card on you embedded system, you need to learn a lot of things. There is no shortcut.
But in your situation, you might be able to treat something as a Black Box, and just use them until you encounter a related problem.
However, before you modify any lines of the source code, you must need to read the documentation.
You need to know that Andy and Per are very intelligent and experienced experts, everything they told you will need you to spend several days or weeks to study.
My level is much closer to you, and I suggest that, RLARM/RLFlash is good for NXP LPC23xx, you should use it, and treat everything you don't understand as a Black Box.
Hi to all:(
Still i am not able to get any success on anything even i tried so many options(changing in the code).
But the same results or not good results.
Still i am working on this because i believe i can get some help from you peoples.
All commends i tried but no results. I followed the flow of cmds. But same results.
from the elm-chan.org/.../dwrite.html DRESULT disk_write ( BYTE Drive, /* Physical drive number */ const BYTE* Buffer, /* Pointer to the write data (may be non aligned) */ DWORD SectorNumber, /* Sector number to write */ BYTE SectorCount /* Number of sectors to write */ );
Here what is SectorNumber. What value i should give here?
From the page www.sdcard.org/.../Simplified_Physical_Layer_Spec.pdf page no 89 gives me the details of received CSD values. But with my result of CSD doesn't match with that table.
MCI_Send_CSD result: 002f0032 5f5983bd edb7ff9f 964000a8
From this value how can i get my Sector address where i can f_write and f_read?
The 0th bit of CSD is reserved int the doc that should be 1. but in my result Which one is that reserved bit? Please reply for my all questions. If you leave any then i ill be blank always.
simply here i am trying to write a sector with some value.
FATFS fs; // Work area (file system object) for logical drive BYTE buffer[4096]; // file copy buffer disk_initialize(0); i = disk_status(0); xprintf("\r\nDisk status is :%d", i); for(i = 0; i < 10; i++) buffer[i] = i; i = disk_write(0, (const BYTE *)&buffer, 0xD2, 56); xprintf("\r\nWrite status is :%d", i);
This one gives the result MCI_INIT ok no timeout on CMD8 -> SD-Card>=Version 2.0 ACMD41 success -> SD-Card SC or HC SDSC detected MCI_Send_CSD result: 002f0032 5f5983bd edb7ff9f 964000a8 setting 4bit width success
Disk status is :0
Write status is :0 Should i give BLOCK_LEN before i read or write the Block?
The Basic thing still i dont know is after formatting the card how to read the clusters and sectors with without file system?
Please really i tried a lot. I need some point out from you to make it....
From when i started i am trying so many things but no progress. hard luck...
Do you have a disk_write() function for LPC2388?
i = disk_write(0, (const BYTE *)&buffer, 0xD2, 56);
For example: 0xD2, what is that?
Oh Thanks for your reply.
DWORD SectorNumber, /* Sector number to write */
But 0xD2 i collected from the CSD return value. But the thing is i dont know what correct value i have to put over there to get a correct reply.
DRESULT disk_write ( BYTE Drive, /* Physical drive number */ const BYTE* Buffer, /* Pointer to the write data (may be non aligned) */ DWORD SectorNumber, /* Sector number to write */ BYTE SectorCount /* Number of sectors to write */ );
So physical drive no is 0. Buffer is (const BYTE *)&buffer, SectorNumber is 0xD2(i assumed wrongly), SectorCount is 56(but i tried 0 and 1). but 0 is not a valid value.
I know i am doing wrongly. But i am not able to figure it out..pls
I guess i am not using this from RL ARM lib. This is available in diskio.c/.h for low level disk I/O module for lpc23xx/24xx.
But really i dont know the answer for your question..
No matter who provides/produces that products, before we trust and rely on them, we better inspect them first.
=======================================
( long-unchanged fast food frying oil )
McDonald's apologizes over frying oil violation
" href= "http://www.chinacsr.com/en/2009/07/10/5646-carcinogens-found-on-mcdonalds-and-kfc-food-in-taipei-county/"> www.chinacsr.com/.../
MRT malfunction strands hundreds
www.taipeitimes.com/.../2003448368
The Taipei City MRT's Neihu and Muzha lines were suspended yesterday afternoon after a sudden power outage, forcing about 700 passengers to walk down the elevated rail lines to return to station platforms after trains stopped between stations.
The lines are scheduled to resume operating at 6am today. The suspension of services yesterday was the first serious system failure on the Neihu Line since it began operations last Saturday.
Mayor apologizes for Neihu/Muzha MRT line's suspension
www.etaiwannews.com/.../news_content.php
===========================================
Muzha line was built by MATRA, a French Company.
Neihu line is built by Bombardier, a Canadian Company.
News written in Chinese says that, the root cause might be related to System Integration Problem.
When we want to integrate a working-fine solution A and a working-fine solution B into a Big Project, there are alway a lot of problems, which need our effort to resolve.