There is some brief information about dhara here: https://github.com/dlbeer/dhara . It is an FTL that provides many of the features described previously:

 * Wear leveling,
 * Hardware/software EEC

It does not appear to do

 * Bad block detection
 * Marking of bad blocks

The nicest thing is the the license is very permissive and, I think, Apache friendly. People do use dhara with LittleFS.

The apps repo has some configurations to build with 3rd party projects,
where we don't include the 3rd party sources in our repo.

Instead, we only develop a build script and Kconfig. It's a sort of "stub"
(for lack of a better term).

If that item is configured, our build script will download the sources from
the 3rd party (I think the URL is configured in Kconfig, so developers can
locally host all their dependencies) and then compile it with the rest of
their build.

See, for example, in the nuttx-apps repo: math/libtommath.

For dhara, the corresponding build logic is at: https://github.com/apache/nuttx/blob/master/drivers/mtd/Make.defs#L182

The single file in the NuttX repository, drivers/mtd/dhara.c, appears to be a thin shim that provides a NuttX MTD interface on top of dhara. The full flash translation layer consists of this shim, a NAND driver, and the downloaded dhara logic

Reply via email to