Urgent Help required Regardind File system for SRAM

Hi All, I am having a 512K SRAM which is used for storing some specific data. The OS runs on a 64MB flash and SRAM is external to this. The OS used is WinCE 4.2. I want to have some kind of filesysytem for SRAM for storing my data from application running over the OS. Is there any commerical File system available matching my requirememts?? I am ready to purchase it..Kinldy reply..

Reply to
Naveen
Loading thread data ...

It depends a lot on what kind of data you are writing to the SRAM, please elaborate. Can't you just use the SRAM as what it is, a flat memory range?

Reply to
Daniel

Starting from MS DOS 3.0, MS always used to have the driver ramdisk.sys (or ramdrv.sys) included into their operating systems. Look what is included in your WinCE package.

Vladimir Vassilevsky

DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

Ok, The data i need to store is GPS data. I have to collect the GPS data in every 5 seconds, write it into SRAM. Once in 10-15 minutes the entire data has to sent to a remote server. Also the server can also make request to get current location. The data needs to be time stamped. The server can request data at any time. Depending upon the availability it can send the response.The SRAM is 32K x 16 pages. It would be nice if i use a filesystem?? right !!

Reply to
Naveen

That is 12 samples/minute.

120-180 new samples would arrive in this period.

Do you need to retain the data even after it has been transmitted to the remote server ? If so, SRAM is not a good place to store it in case of a power failure. A flash memory would be a better place to store data for a longer period.

Save the last position in a separate memory location, so you can immediately retrieve it when the server requests it.

Since you only collect data every 5 s, 1 s time stamp resolution should be enough. The time stamp could be saved into a 32 bit integer for quite a few decades.

At what resolution do you want to save the location. Even when using some surveyor grade system with 1 mm accuracy in Z, Y and Z directions, 34 bits/axis would be required and combined with a 32 bit time stamp, the total amount of data would be 134 bits or 17 bytes/sample.

I assume it does not report anything if the receiver does not have a fix.

With max. 180 samples and 17 bytes each that would be 3 KiB.

For what ?

If you can discard the values after you have sent them to the server, a 256 location ring buffer would be enough. Just use a write pointer to write the received sample into the next location in the ring buffer (wrapping around at 256 samples). When it is time send data to the server, use a read pointer to read each successive sample (wrapping around 256), send it to the server, until the read pointer catches the write pointer.

The current GPS location can even be kept in a private memory location for easier access, in case the server requests the current position.

If you need to store a large number of samples in a small memory, pack the data to the exact number of bits required for each coordinate (and round the total sample to the next byte boundary) and when transmitting the samples to the server, unpack each sample into the format that the server expects. However, this might not be needed in your case, since you have so few samples to store.

Paul

Reply to
Paul Keinanen

This application seems simple enough to write the data straight to the SRAM. You may have to think more than when using a filesystem, but the simplicity of not using a filesystem will be rewarding.

Reply to
Daniel

For flat small adress spaces a compile time defined data struct works great. A ramdisk formatted as FAT16 would also work.

An aside, check out FRAM. Its about the size you need and its contents are non-volatile.

Naveen wrote:

Reply to
pfefferz

Do you need a file system at all? Given your requirements, wouldn't a simple FIFO do the trick?

Reply to
David R Brooks

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.