Fsrw Femto question
BigFoot
Posts: 259
Does anyone have a way to perform the BootSDCard() routine from fsrwFemto in the new version fsrw routine? We need to perform
the same function with SDCards formatted for FAT32.
Russ
the same function with SDCards formatted for FAT32.
Russ
Comments
I think Kye's FAT32 SD card routines include a boot function, but I'm not sure. It's also possible to use the older sdspiFemto low level I/O routines with the new FSRW routines, but it would take a little modifying to do so. That would make it possible to add a high level bootSDCard routine to the new FSRW routines, but I don't know if that's been done yet.
We need to store more files in the root directory on the SD Cards than Fat16 will handle.
Russ
Thanks,
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,
root directory larger when you initially format the card.
rokicki, We didn't know this, but it might be kinda difficult for our customers to format the cards in the field.
Nice work on your drivers though, they work great.
Russ
We are working with 2 Gig cards and I tried overriding the default allocation unit
size to different values (/A:size), but could still only store a little more than 400
files in the root directory.
Russ
(Vista 64-bit in this case) I don't see anything to change the size of the root directory.
Reading around the web at random it seems pretty much everyone assumes the root directory
is always the same size. The format of FAT16 itself *does* allow a root directory to be larger,
but if we don't have tools to support that, then it's probably not worth using.
We could make our own format utility that would do this, but we risk incompatibility with
Windows and the like.
Sorry for misleading you. It may be time to add subdirectory support.
We develop Point of Sale terminals for school cafeterias. Our newest product displays a
photo of the student when they enter a pin number, scan a bar code or place there finger
on a Bio Metric finger scanner.
We store the photos locally on an sd card, and there can be thousands of kids in the school.
The bitmaps are stored in large files that we can index into, we added a seek function to
fsrw femto to do this but it is time consuming.
Russ
It's also a fair bit faster. It's not as good as having subdirectory support, but it should be better
than what you're using now.
Jonathan
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
lonesock
Piranha are people too.
With FAT32 also the root directory is a cluster chain, unlike FAT16, so in theory the size of the FAT32 root directory is only limited by available space. I wouldn't store more than 1000 files in a FAT directory, though, because traversing the entries naturally becomes slower and slower with every new entry.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Pullmoll's Propeller Projects
Out of curiosity, do you use a hash-map for your index-to-location-in-file directory?
Jonathan
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
lonesock
Piranha are people too.
Jonathan
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
lonesock
Piranha are people too.
Unfortunately not. fsrw2.6 will not follow a directory cluster chain (yet).
Russ
One layout might fill the first part of the file with (name,offset) pairs, scan that for the right picture, then quickly seek
to the given offset and you're done.
If the pictures are all the same size, you might just use name,name,name,name... at the front.
All told, using seek, this should be super fast; the time will probably be dominated by Spin code that scans the names.
You could even address this by using a binary tree or hash, as lonesock suggested.
-tom
propellers memory is not large enough to hold our whole program so we have to load parts in
when we need them. Most of our stuff is written in assembly and this happens fairly quickly.
All the photos are 120 x 160 x 16 bits and are identified by a student ID number. Our high
level cafeteria management software (WebSmartt) scans the schools data base and assembles
the bitmaps, class rooms, keyboard, prices and other things then writes all of this to the
SD Card's.
Every night the school servers send out an update to the PoS terminals with new photos,
finger scan templates and prices thus updating the SD Cards. We are really looking forward
to the Propeller II chip [noparse]:([/noparse]
Russ
Post Edited (BigFoot) : 5/3/2010 7:21:39 PM GMT
driver. I have no idea how complicated it would be, but I think I know how to find out.
This might actually be a fairly trivial addition.
Problem is, as always, finding a round tuit.
Sounds like you have quite a setup, all in all.
For example in my filesystem I load all 64 sector addresses into cog memory of the eeprom/bin file so that I can load it without any problems.
If you use the femto approach however the file has to be allocated in linear order on the SDcard because the femto loader only knows where to start at and then just goes from there.
So if the file system had small cluster sizes (smaller than 32KB which is common) then there could be problems
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,