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.
I'm using Realview 3.11, RL-ARM 3.10 and a LPC2129. Ican normally format, read, write and append files inside my system, but I found some problems trying to work with the SD Card files in the computer.
First I formatted my SD Card (128MB) using fformat() and create a file using fopen(). The following problems ocurred when I tried to edit the file in the computer
- If I delete a file the file remains listed, but now it's corrupted.
- If I edit a file using e.g. Notepad, the file size is not altered, which means that nothing I append to the end of the file will be considered and if I add something in the middle, it cuts the number of characters added in the end of the file.
After I formatted the SD Card in Windows, selecting FAT format. It worked fine in my system, except that fcheck() return an error, but you can normally open and edit files in both systems
If the driver is written properly, there is no reason to slow down the SCLK. I've used MMC+ with 48 MHz SCLK without any problems. With SCLK=24 MHz, 2.4 MBytes/sec for reads, and max 2.1 MBytes/sec for the writes is possible (SD).
If the driver is written properly, but the hardware isn't within specification, even a perfect driver may need the frequency to be lowered.
Then it is not a perfect driver if it allows the hardware to be operating outside of the HW specifications, ne pas? :-)
No, a perfectly written driver would just has to assume that the bus loading, the supply voltages etc are correct as specified in the standard. It is impossible for the driver to measure slew rate on the data signals, or to know about any jitter on the supply voltage.
Since the driver can't know such things, it is meaningful to try to reduce the transfer speed and check if that affects the function. If the speed matters, it is time to figure out if the speed decrease was needed because the driver was badly written, or because the memory card was bad or the hardware signals and/or supply voltages requires some redesign work.