Commit Graph

25 Commits

Author SHA1 Message Date
Gregory Nutt ec498d2660 This commit brings in an inital port of the SPIFFS flash file system into NuttX. The file system is still untested at this point (and subject to some additional review). It is, however, marked EXPERIMENTAL should this should not cause a problem for anyone.
Squashed commit of the following:

    fs/spiffs:  Fix last compilation issue.  Now compiles without error.  It is still not quite ready for testing as there is additional code review that must be be performed.  It is now marked as EXPERIMENTAL so that it can be brought onto the master branch with little risk.

    fs/spiffs:  Remove some dead code.

    fs/spiffs:  Weak start of analysis of spiffs_nucleus.c.  Renamed to spiffs_core.c

    fs/spiffs:  Rename spiffs_nucleus.c to spiffs_core.c

    fs/spiffs:  Remove spiffs_config.h.  All configuration settings are now available in the SPIFFS Kconfig options.

    fs/spiffs:  Finished review, update, and repartitioning of spiffs_check.c.  Added spiffs_check.h.

    fs/spiffs:  Finished review, update, and repartitioning of spiffs_cache.c.  Added spiffs_cache.h.

    fs/spiffs:  Clean up some defines used in debug output statements.

    fs/spiffs:  Finished review, update, and repartitioning of spiffs_gc.c.  Added spiffs_gc.h.

    fs/spiffs:  Now that VFS interface is completed, I have begun the long march of repartitioning the remaining functionality, reviewing logic, identifying dead code, and cleaning up loose ends.

    fs/spiffs:  Initial integration of MTD interface, replacing the SPIFFS native flash interface.  Lots of open issues such as the use of pages vs. blocks vs. erase blocks and units of addresses, offsets, and lengths that are passed in function calls.  Remove SPIFFS_USE_MAGIC support.  That option (which default to OFF anyway), wrote a magic value at the beginning of every sector and support verifiable identification of the file system.  It was not being and used and removing it makes life simpler.

    fs/spiffs:  Remove semaphore lock on the file object structure.  Ultimately, the file access must modify the volume and access the volume structue which also has a exclusivity lock.  So use of the volume lock alone should be sufficient.

    Integrated the SPIFFS rename logic into the NuttX VFS.  Removed non-standard application calls or convert them to IOCTL commands.  These were converted to IOCTL commands:  (1) integrity check, (2) garbage collection, and (3) format flash.  These were removed:  (1) Integrity check callback.  These provided a lot of good information about the state of the file system, but such callbacks are not compatible with a POSIX compliant file system.  (2) Index maps.  The index maps were a performance improvement feature.  The user could provide the memory and request that a region of a a file use that memory for improved lookup performance when accessing parts of the file.  The fallback is the less performance lookup by traversing the FLASH memory.  (3) Removed the quick garbage collection interface (the code is still used internally).  Only the full garbage collection is available to the user application via IOCTL.

    configs/sim/spiffs:  A simulator configuration to use for testing SPIFFS.

    fs/spiffs:  Integrate SPIFFS logic into NuttX VFS bind() and unbind() methods.

    fs/mount/fs_mount.c:  Add SPIFFS to the list of drivers that require MTD vs block drivers.

    fs/spiffs:  Trivial changes, mostly from analysis of how to integrate the rename() VFS method.

    fs/spiffs:  Connect NuttX VFS unlink method to the SPIFFS_remove() function.  Lots of name-changing.

    fs/spiffs:  Remove non-standard errno support.  Remove bogus SPIFFS_LOCK() and SPIFFS_UNLOCK() macros.

    fs/spiffs:  Add NuttX VFS implementation for statfs() method.  Clean up some of the accumulating compilation problems.

    fs/spiffs:  Add stat(), truncate() methods.  Dummy out unsupport mkdir() and rmdir() methods.

    fs/spiffs:  Replace some of the custom error numbers with standard error numbers.

    fs/spiffs:  Hooks read(), write(), fstat(), ioctl(), opendir(), closedir(), rewindif(), and readdir() into the NuttX VFS.

    fs/spiffs:  Beginning the organization to work with the NuttX VFS.  Lots of things are get broken!

    fs/spiffs:  Add spiffs.c which will be the interface between SPIFFS and NuttX.  No very close at present, however.

    fs/spiffs:  Clean up some compile problems introduced by coding standard changes.

    fs/spiffs:  A little closer to NuttX coding standard.

    fs/spiffs:  Ran tools/indent.sh against all files.  Closer to NuttX coding standard, but needs a lot more effort to be fully compliant.

    fs/spiffs:  This commit brings in version 0.3.7 of Peter Anderson's SPIFFS.  The initial commit includes the core FS files (with some definitions destributed to their correct header files) and hooks into the build system.
2018-09-24 18:05:09 -06:00
Gregory Nutt a8145c0a08 Update COPYING 2018-06-17 09:50:11 -06:00
Gregory Nutt 28dda78a5e COPYING: Clarify notation used in years specified in copyright notices. 2018-06-16 07:38:50 -06:00
Alan Carvalho de Assis b1801f3fd3 tools: Add tools/initialconfig to .gitignore 2018-05-26 09:22:57 -06:00
Gregory Nutt 7d131fe711 Update TODO list 2018-01-03 08:32:57 -06:00
Gregory Nutt 808238c871 Update some comments. 2017-09-11 14:27:02 -06:00
Gregory Nutt 90917d9741 COPYING: Remove sections that do not apply to files under nuttx/ 2016-07-09 13:24:13 -06:00
Gregory Nutt 5ef3e3e215 Replace confusing references to uIP with just 'the network' 2016-05-30 11:52:07 -06:00
Gregory Nutt 65e34be9b4 Update COPYING file with special license requirements for PPPD 2015-03-11 09:14:15 -06:00
Gregory Nutt f8024cf409 More trailing whilespace removal 2014-04-13 16:22:22 -06:00
Gregory Nutt cdadf2302c Update documentation, mostly related to the command line editor 2014-02-03 10:56:52 -06:00
Gregory Nutt 75d21426ff SAMA5: Add a missing endif in a Make.defs that recently added; Several other cosmetic changes 2014-01-28 18:59:11 -06:00
Gregory Nutt 4d07c15932 Add OV2640 camera support to test the SAMA5 ISI peripheral 2013-12-09 10:51:22 -06:00
patacongo 1bb71ab951 move lib/ to libc/ to make room for a true lib/ directory. Rename libraries to match
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5328 42af7a65-404d-4744-a932-0658087f49c3
2012-11-10 15:47:45 +00:00
patacongo cee4481eca lib/math files not follow coding standard; float, double, and long double versions in separate files to reduce size of dumb link
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5270 42af7a65-404d-4744-a932-0658087f49c3
2012-10-28 18:42:09 +00:00
patacongo d1041b17d5 Add Daniel Vik's optimized memcpy as a configuration option
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5240 42af7a65-404d-4744-a932-0658087f49c3
2012-10-20 20:59:44 +00:00
patacongo ca306c29d1 Suppress network configuration in discover example if it is an NSH built-in functin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5139 42af7a65-404d-4744-a932-0658087f49c3
2012-09-12 21:42:36 +00:00
patacongo b5a56aaea8 Prep for 6.19 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4847 42af7a65-404d-4744-a932-0658087f49c3
2012-06-15 16:23:17 +00:00
patacongo 943e0d12e4 Fix 'make export' target for NxWM
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4766 42af7a65-404d-4744-a932-0658087f49c3
2012-05-23 01:42:20 +00:00
patacongo 17e6f2e481 Export make target now produces a .zip file by default
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3778 42af7a65-404d-4744-a932-0658087f49c3
2011-07-12 23:54:13 +00:00
patacongo a86934e351 Add HID parser from LUFA
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3303 42af7a65-404d-4744-a932-0658087f49c3
2011-02-19 23:07:58 +00:00
patacongo 4113b6d450 Misc USB device driver debug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2828 42af7a65-404d-4744-a932-0658087f49c3
2010-08-07 01:48:15 +00:00
patacongo 7dceb00a39 Add support for multicast MAC addresses
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2784 42af7a65-404d-4744-a932-0658087f49c3
2010-07-11 15:17:11 +00:00
patacongo 2840124ed7 Add floating point support to printf
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2656 42af7a65-404d-4744-a932-0658087f49c3
2010-05-08 03:10:51 +00:00
patacongo 871a684fc6 Added mkfatfs() test
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@806 42af7a65-404d-4744-a932-0658087f49c3
2008-08-10 14:50:27 +00:00