Content originally posted in LPCWare by wmues on Fri Jan 17 06:06:38 MST 2014
Yes, you will need a special file system as YAFFS, JFFS2 oder UBI/UBIFS for NAND.
Additional, you will have to do ECC "by hand".
NAND flash file systems are available for Linux today. Using a non-Linux-System you have 2 options:
a) port a flash file system from Linux to your target.
b) buy a comercial embedded flash file system.
If you use a (serial) NOR flash, you will not need ECC, and maybe you will find a free embedded file system doing wear leveling for NOR flash.
If you use emmc or SD-card, the memory chip will do all ECC and wear leveling for you, and you only need a (normal) block file system (FAT etc).
IMHO, if your CPU has a SD card interface, it's very easy to add a (micro)SD to your system and have all data and program files on this card. It's very convenient to put the card into a PC card reader and have access to all your data & code from the PC.
My favourite memory layout is:
- internal flash: bootloader, reading code from SD card and placing code in SDRAM.
- internal ram: some variables, some fast code and STACK.
- SDRAM: code, data, etc
- SD card: code, additional files
PS: as you are using NXP LPC4078, I do not understand why you are using a display with integrated controller (maybe NON-TFT?). TFTs without controller are cheaper, and you can spend the money for a SD card...
Even TFTs with resistive touch are cheap, and you will have a good user interface. Resistive touch is cheaper as some buttons.
regards
Wolfgang