FreeCalypso > hg > fc-tourmaline
comparison src/cs/drivers/drv_app/ffs/board/HISTORY @ 0:4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 16 Oct 2020 06:23:26 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4e78acac3d88 |
---|---|
1 Brief Revision History of FFS | |
2 ============================================================ | |
3 Revision 5.27: | |
4 | |
5 - API change: | |
6 Made change request from TIF. | |
7 | |
8 Renamed functions: | |
9 ffs_init() to ffs_initialize() | |
10 ffs_env_init/start/stop/kill() to ffs_init/start/stop/kill() (in ffs_env.[ch]) | |
11 | |
12 NOTE: Because of this API change are we not backward compatible with earlier FFS versions! | |
13 | |
14 | |
15 Revision 5.18: | |
16 | |
17 - Implemented new ffs protocol. Improvements: | |
18 | |
19 * More intelligible. | |
20 * No static testmode buffer (Before 8kB!) | |
21 * Stream interface (Only flash size limit for file transfer) | |
22 * Use blocking functions in target (waits for data to be written etc) | |
23 | |
24 The new protocol require etm v0.127 or above in target. | |
25 | |
26 Note the "old" protocol is still supported. | |
27 | |
28 Revision 5.14: | |
29 | |
30 - BUGFIX: http://bugs.tidk.ti.com/bugs/show_bug.cgi?id=313. | |
31 A sudden power off can in a rare case trikker FFS to use the last free | |
32 block. Because of the missing free block is it not possible to make a | |
33 garbage collection/reclaim data! (no further write will be possible!). | |
34 | |
35 Revision 5.6: | |
36 | |
37 - 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. | |
38 | |
39 Revision 4.6: | |
40 | |
41 - Made support for random access to a file (open in RDWR mode). | |
42 | |
43 - Removed API functions ffs_xstat() and ffs_xfstat() because its function is covered by ffs_xlstat(). | |
44 | |
45 - Renamed ffs_linkstat() to ffs_lstat() (POSIX alike). | |
46 | |
47 - 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. | |
48 | |
49 - Made new API function ffs_fdatasync() which makes it possible to | |
50 flush the stream buffer ad any time. | |
51 | |
52 Revision 3.4: | |
53 | |
54 - Changed function ffs_file_write() so it automatil split one huge write up | |
55 in several small chunks instead of one big chunk. This makes support of | |
56 files that is bigger than one flash block. | |
57 | |
58 Revision 3.2: | |
59 | |
60 - Implemented ffs_truncate() and ffs_ftruncate(). These functions make it | |
61 possible to truncate a file by the file name or the file descriptor. | |
62 | |
63 Revision 3.1: | |
64 | |
65 - Changed ffs_stat() function. Implemented ffs_xlstat() and ffs_fstat(). | |
66 | |
67 Revision 2.15: | |
68 | |
69 - Implemented ffs_rename(). This function makes it possible to move and rename | |
70 files, dirs and symlinks. | |
71 | |
72 Revision 2.10: | |
73 | |
74 - Implemented stream functions: ffs_open, ffs_close, ffs_read, ffs_write and | |
75 ffs_seek. | |
76 | |
77 Revision 1.29: | |
78 | |
79 - The copying of the single bank driver code to RAM is now handled | |
80 internally by ffsdrv_init(). This means linker dependency is gone and the | |
81 linker file does not need to have any special sections for the FFS | |
82 single-bank driver code. Actually, it must NOT have the special sections! | |
83 | |
84 | |
85 Revision 1.28: | |
86 | |
87 - Updated code for Calypso chipset and RiViera Frame. | |
88 | |
89 | |
90 Revision 1.27: | |
91 | |
92 - Intel single-bank driver bugfixed, tested and working. | |
93 | |
94 | |
95 Revision 1.24: | |
96 | |
97 - Implemented Intel dual/multi-bank and single-bank flash support. Untested! | |
98 - Changed ffs_fread() and ffs_readlink() semantics and prototype. They now | |
99 return an integer denoting the number of bytes actually read. | |
100 - Changed ffs_opendir() semantics and prototype. It now returns an integer | |
101 denoting the number of entries in the directory. | |
102 - Replaced 'filesize_t' by 'int' in FFS API functions. | |
103 - Increased FFS_INODES_MAX_DEFAULT from 512 to 1024. This means that FFS can | |
104 contain up 1024/2 = 512 objects. | |
105 | |
106 | |
107 Revision 1.23: | |
108 | |
109 - Implemented ffs_query(Q_DEV_DRIVER) returning the flash device driver | |
110 identifier. | |
111 | |
112 | |
113 Revision 1.22: | |
114 | |
115 - Implemented AMD single-bank flash support. | |
116 | |
117 | |
118 Revision 1.21: | |
119 | |
120 - Changed ffs_fcontrol() prototype such that <param> argument is 'int' | |
121 instead of 'uint16'. | |
122 | |
123 | |
124 Revision 1.20: | |
125 | |
126 - Only one (auto-generated) target file exists now, namely target.c which | |
127 replaces previous targetffs.c and taskffs.c. | |
128 - Implemented ffs_query(Q_DEV_BASE) returning the start address of FFS in the | |
129 flash device. | |
130 - Removed PCM functionality from testmode ffs protocol (tmffs.c). | |
131 | |
132 | |
133 Revision 1.19: | |
134 | |
135 - Corrected bug in ffs_query(Q_BYTES_FREE); it did not subtract number of | |
136 bytes lost. | |
137 | |
138 | |
139 Revision 1.18: | |
140 | |
141 - Implemented call-back functionality. All modify functions have a sibling | |
142 function with same name but suffix '_nb' for 'non-blocking'. This sibling | |
143 function has an additional argument specifying how the caller want the | |
144 result of the operation communicated back; either by mail or call-back | |
145 function. This way, *all* error codes can be returned and caller knows when | |
146 data has actually been written/committed to the actual device memory. | |
147 | |
148 | |
149 Revision 1.12: | |
150 | |
151 - Replaced old crash recovery code with true journalling system. The old | |
152 crash recovery code had in a few rare scenarios the risk of rendering FFS | |
153 useless upon a power-fail. | |
154 | |
155 | |
156 Revision 1.9: | |
157 | |
158 - ffs_preformat() now calls the user defined function ffs_is_modifiable() | |
159 with empty string (not a NULL string). This means that permission to | |
160 re-formatting ffs can be controlled. | |
161 | |
162 | |
163 Revision 1.3: | |
164 | |
165 - Implemented device wear-levelling. | |
166 | |
167 | |
168 Revision 0.517: | |
169 | |
170 - Added HISTORY file. | |
171 - Flash driver updated to take flash base address into account when doing | |
172 writes and erasures (not when auto-detecting device). | |
173 - Moved task.[hc] from ffs.mak to ffsdrv.mak. These files are now included | |
174 in object releases. | |
175 | |
176 | |
177 Revision 0.516: | |
178 | |
179 - Renamed ffs_config.mak to ffsdrv.mak. | |
180 - Splitted pcm.c into pcmcode.c and pcmdata.c. pcmcode.c contains only pcm | |
181 function code. pcmdata.c contains only pcm data tables. | |
182 - Corrected bug in pcm_WriteRecord(). | |
183 | |
184 | |
185 Revision 0.515: | |
186 | |
187 - Corrected possible bug in erase suspend; it did not check for | |
188 completion. Bug has never been observed in practice. | |
189 | |
190 | |
191 Revision 0.514: | |
192 | |
193 - Added support of flash devices: AMD Am29DL161T and Fujitsu MBM29DL16xT. | |
194 | |
195 | |
196 Revision 0.512: | |
197 | |
198 - Added flash device auto-detection. This *only* works for flash devices | |
199 mapped to address zero! Remember that both ffs_flash_manufact and | |
200 ffs_flash_device (in cfgffs.c) must be zero in order for auto-detection to | |
201 be enabled. | |
202 | |
203 | |
204 Revision 0.510: | |
205 | |
206 - Added low-level driver for SST flash devices. | |
207 - Added support of flash device: SST SST36VF1601. | |
208 - Added ffs_query(Q_FFS_FORMAT_WRITE) and renamed Q_FFS_FORMAT to | |
209 Q_FFS_FORMAT_READ. With this, we can both query the ffs format read from | |
210 ffs as well as the format version written on a fresh format. This can be | |
211 used to determine compatibilty between ffs formats. | |
212 - Corrected non-critical bug in ffs_remove(). |