I have done some work for the STM32F4 with the guys from Oberon. On Oberon’s codeplex project, there is a not yet released branch including experimental MFUpdate support for the Mountaineer boards. MFUpdate support was added by me:)
I have been working on enhancing that for a while now:
I wrote a BlockStorage driver for the external 8MB flash chip, so it can be used for MFUpdate (I mean a native BlockStorage driver, integrated into the Porting Kit). I also added FileSystem support for the Mountaineer boards and have been looking very closely at how the caching of FAT sectors work, and what that means for wear leveling. I must say, the FAT implementation is quite good, still, flash wear is a problem.
I am currently evaluating the changes needed to integrate the wear leveling driver available in the Porting Kit, but this is really turning out to be a nightmare. That’s over 2000 lines of (for me complex code) with almost no explanation how this stuff is supposed to work.
This has brought my attention to TinyFileSystem. I guess it would be quicker, and in the end more effective, to implement TFS in native code, than to bother any longer with FAT and wear leveling.
So, I will be taking a closer look at TFS , and would like to ask if you have a problem if your ideas are “stolen” for the creation of a new NETMF PK level file system.
What I would like to do is create a codeplex project for this, and once ready, propose to integrate it into the Porting Kit so it becomes a standard feature of NETMF.
My main worry is stability - there do not seem to be that much users who tested TFS yet, so I have no idea how stable that is.
Maybe we can chat about TFS. Maybe you can contact me at markDOTmunteATpoboxDOTcom