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/>
>>
>>
>

Reply via email to