Thanks, Greg, Alan for your replies. I will have to ponder on this a bit. To answer your question, Alan, the MCU is an IMXRT 1060.
> There is an FTL, but it will not work with either NAND or LittleFS. FTL is a > "Flash Translation Layer" and there can be many different types of FTLs. Looking at the code, it seems that hooking in another FTL would basically be to provide a file that can provide the ftl_initialize() function and the filesystem block_operations struct? I'm not sure if an external FTL will fit with the NuttX MTD (my interpretation is that ftl.c uses an MTD instance to talk to the NAND (via a driver)). Looking closer, the "MTD" looks to be the drivers talking directly to the memory devices, in in nuttx/drivers/mtd. BR Thomas -----Original Message----- From: Alan Carvalho de Assis <acas...@gmail.com> Sent: den 25 september 2020 16:48 To: dev@nuttx.apache.org Subject: Re: NAND R/W support Sorry for the typo: will be use a bad block -> will not use a bad block On 9/25/20, Alan Carvalho de Assis <acas...@gmail.com> wrote: > Hi Thomas, > > According to drivers/mtd/README.txt the NAND support is only partial > because there is not a FS to handle it correctly. > > Normally for NAND you will need to scan the NAND to update the bad > block table during the boot (could be on NuttX or in a bootloader) to > guarantee the FS will be use a bad block (remember that NAND normally > comes with bad blocks from factory). Note that the nand_devscan() > function at mtd_nand.c just try to retrieve this information, it > doesn't update the Bad Block Table. > > Also your MCU needs to have some support in hardware to communicate > with NAND (parallel model), for SPI NAND it is not necessary. It > appears that currently only SAMA5 has support to it. > > Of course, this should be a very useful thing to have on NuttX because > as application become more complex we need more space for them. > > What MCU are you planing to use? > > BR, > > Alan > > On 9/25/20, Thomas Axelsson <thomas.axels...@actia.se> wrote: >> Hi, >> >> I'm trying to understand what level of NAND memory support currently >> exists in NuttX. The intention is to read and write files on the NAND >> memory. >> >> I have found CONFIG_MTD_NAND and there seems to be a NAND driver for >> the >> SAMA5 built-in NAND. All other MTD drivers appear to be for NOR? The >> intention is to use a Winbond W25N NAND memory, but I'm assuming the >> SAMA5 >> driver will be closer to what I need than the W25QxxxJV NOR driver >> (NAND vs NOR)? >> >> Regarding a file system, the NuttX About page mentions "NXFFS. The >> tiny NuttX wear-leveling FLASH file system." and there is also the >> option to enable littlefs. >> >> https://github.com/ARMmbed/littlefs/issues/11 indicates that one >> wants an FTL below littlefs. Going by the existence of >> CONFIG_FTL_READAHEAD and CONFIG_WRITEBUFFER, it seems that the FTL is >> integrated in MTD in NuttX? >> >> Is SMART File System (CONFIG_FS_SMARTFS) related to the "Really Tiny >> (SMART) Flash" (CONFIG_MTD_SMART) option? The latter says that it is >> only usable for really small memories. >> >> Thomas Axelsson >> SW Developer >> ACTIA Nordic AB (part of ACTIA Group) >> >> Mail: thomas.axels...@actia.se<mailto:thomas.axels...@actia.se> >> Web: www.actia.se<http://www.actia.se/> >> >> >