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 I'm deciding which Cortex microcontroller should I use in my project. I will use SD card and FAT filesystem. Is FAT filesystem to complex for Cortex M0 or can M0 perform search, read and writing to files on SD card? What are your experiences on this matter? Thanks Dejan
Cortex-Mx doesn't really matter here - almost any processor is capable to handle a FAT file system.
What matters is how much code space you can afford for your file system implementation. And how much RAM you can afford for buffering data (which affects how much work it is to locate the directory entry of a specific file, or how much work to scan the FAT for next file sector or for next free sector).
I've had FAT file systems work on less capable 4.77 MHz and 8 MHz machines. Any reasonable file system implementation can do the work you suggest, review the documentation if the features are unclear.
The FLASH footprint of a boot loader on a Cortex-M3 with FatFs and SDIO is under 16KB, I don't have a RAM number, but it's pretty low (<4KB at a guess, with some buffering and such).
I'd worry more about the SD interface implementation (1-bit SPI, 4-bit SDIO), and the code implementation for SD, and SDHC, and the speed at which it can be clocked. Have any clear idea on the speed you need for your application? Larger memory buffers permit higher efficiency.
It's been my observation that the Cortex-M0 is pitched as an 8051/8-bit replacement chip, with low cost, low transistor count, low pin count, and a pretty lack luster peripheral set around it to achieve the same.