This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

FlashFS: LPC2129 Driver and Memory Card Configuration

Hi. I was using an older version of RL-ARM and when I updated it, replacing all the files (File_Config.c, FileConfig.h) and re-wrote my LPC2129 Driver, based on LCP214X that also uses SPI. Does Someone have another driver for this device that works? What values of File Data Cache and Cache Buffer address should I use?

  • Sorry, my last post didn't make any sense...

    Hi. I was using an older version of RL-ARM and when I updated it, replacing all the files (File_Config.c, FileConfig.h) and rewritting my LPC2129 Driver, based on LCP214X that also uses SPI, the SD Card failed to initiate. Does Someone have another driver for this device that works? What values of File Data Cache and Cache Buffer address should I use?

  • The most important change in the new SPI driver is in the way, how the Slave Select signal is driven. In the old version SS has been driven in auto mode (the SPI peripheral has asserted the SS when a byte was written to the SPI data register).

    In a new version, this has been changed to manual mode. A reason behind is that the SD/MMC data traffic must not be interrupted with toggling SS signal. But this might happen if an interrupt happens during the mmc_read_xxx() or mmc_write_xxx(). If the data transfer to SD/MMC is paused for interrupt handler to execute, an automatic SS might deassert the SS signal.

    Please change your SPI driver to use manual SS drive mode (function spi_ss().

    The cache buffer size might be increased to improve the speed of file read/write. You might experiment with it. In general a bigger cache means faster SD/MMC file access.

    The cache buffer address relocation can be disabled. It is used for LPC23xx/24xx devices.

    Franc