NAND Flash filesystem

Mick Davis mickd at
Tue Oct 19 06:51:49 UTC 2010


Yes, good progress.

I have a basic working bsp for the at91sam9263-ek. It might be a good 
time to share it so that others can contribute, but I still have 
improvements to make.

For the NAND filesystem, I'm currently on the route of adapting UFFS.

I've built it as a library for RTEMS, which involved creating a makefile 
and supplying some functions to the library from RTEMS. That part was 
pretty easy.

In my app, I then had to write hardware interface functions.  These are 
specific to the atmel processors, and require some config for the NAND 
chips you want to support.  I should move them into the BSP I guess.

I've been testing with the UFFS API, and so far it seems good.  It 
doesn't lose files and handles bad blocks.  I don't have performance 
figures yet, but there's no noticeable startup delay, which was a 
concern for the 512Mb+ chips I'm working with.

I haven't made a lot of progress with integrating UFFS into the RTEMS 
filesystem.  I've had a look at the RTEMS Filesystem Design Guide.  I've 
been looking at how the ftp and tftp filesystems do it, because they're 
similar.  I don't have blocks or nodes, just filenames and directories, 
and handles for open files.

I can see how to setup with the mount table and that I need to supply 
functions for the rtems_filesystem_operations_table and 
rtems_filesystem_file_handlers_r structures.  It's not clear to me 
what's then expected of the functions I write.  I'd also like to 
understand what sequence the functions are used in.

I've actually been testing without UFFS at all to get things worked out. 
  It should be possible to develop a model for how to integrate a 
generic file + directory names filesystem.

On 18/10/10 21:19, Sebastian Huber wrote:
> Hello Mick,
> have you made some progress with your flash file system issues?
> Have a nice day!


Mick Davis
Goanna Technologies Pty Ltd
+61 8 9444 2634

"Shock your lizard today!"

More information about the users mailing list