FreeCalypso > hg > fc-selenite
diff src/cs/drivers/drv_app/ffs/board/HISTORY @ 0:b6a5e36de839
src/cs: initial import from Magnetite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 15 Jul 2018 04:39:26 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cs/drivers/drv_app/ffs/board/HISTORY Sun Jul 15 04:39:26 2018 +0000 @@ -0,0 +1,212 @@ +Brief Revision History of FFS +============================================================ +Revision 5.27: + +- API change: + Made change request from TIF. + + Renamed functions: + ffs_init() to ffs_initialize() + ffs_env_init/start/stop/kill() to ffs_init/start/stop/kill() (in ffs_env.[ch]) + + NOTE: Because of this API change are we not backward compatible with earlier FFS versions! + + +Revision 5.18: + +- Implemented new ffs protocol. Improvements: + + * More intelligible. + * No static testmode buffer (Before 8kB!) + * Stream interface (Only flash size limit for file transfer) + * Use blocking functions in target (waits for data to be written etc) + + The new protocol require etm v0.127 or above in target. + + Note the "old" protocol is still supported. + +Revision 5.14: + +- BUGFIX: http://bugs.tidk.ti.com/bugs/show_bug.cgi?id=313. + A sudden power off can in a rare case trikker FFS to use the last free + block. Because of the missing free block is it not possible to make a + garbage collection/reclaim data! (no further write will be possible!). + +Revision 5.6: + +- Implemented a request id. On success, all non-blocking functions return a unique request identifier (request_id). This same id is returned in the associated request confirm message. This feature can be used to pair requests with confirmations when using the non-blocking function interface. + +Revision 4.6: + +- Made support for random access to a file (open in RDWR mode). + +- Removed API functions ffs_xstat() and ffs_xfstat() because its function is covered by ffs_xlstat(). + +- Renamed ffs_linkstat() to ffs_lstat() (POSIX alike). + +- Made a non blocking version of ffs_seek() because it can now block the caller in several second because it sometimes need to flush the stream buffer. + +- Made new API function ffs_fdatasync() which makes it possible to +flush the stream buffer ad any time. + +Revision 3.4: + +- Changed function ffs_file_write() so it automatil split one huge write up + in several small chunks instead of one big chunk. This makes support of + files that is bigger than one flash block. + +Revision 3.2: + +- Implemented ffs_truncate() and ffs_ftruncate(). These functions make it + possible to truncate a file by the file name or the file descriptor. + +Revision 3.1: + +- Changed ffs_stat() function. Implemented ffs_xlstat() and ffs_fstat(). + +Revision 2.15: + +- Implemented ffs_rename(). This function makes it possible to move and rename + files, dirs and symlinks. + +Revision 2.10: + +- Implemented stream functions: ffs_open, ffs_close, ffs_read, ffs_write and + ffs_seek. + +Revision 1.29: + +- The copying of the single bank driver code to RAM is now handled + internally by ffsdrv_init(). This means linker dependency is gone and the + linker file does not need to have any special sections for the FFS + single-bank driver code. Actually, it must NOT have the special sections! + + +Revision 1.28: + +- Updated code for Calypso chipset and RiViera Frame. + + +Revision 1.27: + +- Intel single-bank driver bugfixed, tested and working. + + +Revision 1.24: + +- Implemented Intel dual/multi-bank and single-bank flash support. Untested! +- Changed ffs_fread() and ffs_readlink() semantics and prototype. They now + return an integer denoting the number of bytes actually read. +- Changed ffs_opendir() semantics and prototype. It now returns an integer + denoting the number of entries in the directory. +- Replaced 'filesize_t' by 'int' in FFS API functions. +- Increased FFS_INODES_MAX_DEFAULT from 512 to 1024. This means that FFS can + contain up 1024/2 = 512 objects. + + +Revision 1.23: + +- Implemented ffs_query(Q_DEV_DRIVER) returning the flash device driver + identifier. + + +Revision 1.22: + +- Implemented AMD single-bank flash support. + + +Revision 1.21: + +- Changed ffs_fcontrol() prototype such that <param> argument is 'int' + instead of 'uint16'. + + +Revision 1.20: + +- Only one (auto-generated) target file exists now, namely target.c which + replaces previous targetffs.c and taskffs.c. +- Implemented ffs_query(Q_DEV_BASE) returning the start address of FFS in the + flash device. +- Removed PCM functionality from testmode ffs protocol (tmffs.c). + + +Revision 1.19: + +- Corrected bug in ffs_query(Q_BYTES_FREE); it did not subtract number of + bytes lost. + + +Revision 1.18: + +- Implemented call-back functionality. All modify functions have a sibling + function with same name but suffix '_nb' for 'non-blocking'. This sibling + function has an additional argument specifying how the caller want the + result of the operation communicated back; either by mail or call-back + function. This way, *all* error codes can be returned and caller knows when + data has actually been written/committed to the actual device memory. + + +Revision 1.12: + +- Replaced old crash recovery code with true journalling system. The old + crash recovery code had in a few rare scenarios the risk of rendering FFS + useless upon a power-fail. + + +Revision 1.9: + +- ffs_preformat() now calls the user defined function ffs_is_modifiable() + with empty string (not a NULL string). This means that permission to + re-formatting ffs can be controlled. + + +Revision 1.3: + +- Implemented device wear-levelling. + + +Revision 0.517: + +- Added HISTORY file. +- Flash driver updated to take flash base address into account when doing + writes and erasures (not when auto-detecting device). +- Moved task.[hc] from ffs.mak to ffsdrv.mak. These files are now included + in object releases. + + +Revision 0.516: + +- Renamed ffs_config.mak to ffsdrv.mak. +- Splitted pcm.c into pcmcode.c and pcmdata.c. pcmcode.c contains only pcm + function code. pcmdata.c contains only pcm data tables. +- Corrected bug in pcm_WriteRecord(). + + +Revision 0.515: + +- Corrected possible bug in erase suspend; it did not check for + completion. Bug has never been observed in practice. + + +Revision 0.514: + +- Added support of flash devices: AMD Am29DL161T and Fujitsu MBM29DL16xT. + + +Revision 0.512: + +- Added flash device auto-detection. This *only* works for flash devices + mapped to address zero! Remember that both ffs_flash_manufact and + ffs_flash_device (in cfgffs.c) must be zero in order for auto-detection to + be enabled. + + +Revision 0.510: + +- Added low-level driver for SST flash devices. +- Added support of flash device: SST SST36VF1601. +- Added ffs_query(Q_FFS_FORMAT_WRITE) and renamed Q_FFS_FORMAT to + Q_FFS_FORMAT_READ. With this, we can both query the ffs format read from + ffs as well as the format version written on a fresh format. This can be + used to determine compatibilty between ffs formats. +- Corrected non-critical bug in ffs_remove().