Hi,
I just had a look at the BlockStorage code (Boomerang- Moteiv support
actually doesn't support this feature;).
In file: FormatStorageM.nc
command result_t FormatStorage.commit() {
//...
//...
curAddr = STM25P_SECTOR_SIZE - sizeof(SectorTable);
//...
//...
if (call HALSTM25P.sectorErase(curAddr) == FAIL) {
//...
//...
}
now have a look at
event void HALSTM25P.sectorEraseDone() {
//...
//...
}
The sectorEraseDone() event handler writes the sector table at the end
of the currently formatted volume.
When calling commit() the sector table is always written at the end
of the last formatted sector, no matter how many volumes that are
allocated and how large they are. This only happens the first time when
calling commit(), afterward the location of the sector table remains
fixed.
If so, is there implemented a mechanism that prevents overwriting the
sectorTable when writing to a volume containing the sectorTable. As far
as I understood the volume itself is not aware of the existence of the
sector table.
Is this true or am I missing something?
Thanks!
Somehow puzzled, Jonas
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help