Forums

Urgent Help required Regardind File system for SRAM

Started by Naveen October 19, 2006
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..

On Oct 19, 2:29 pm, "Naveen" <navee...@gmail.com> wrote:
> 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..
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?

Naveen wrote:

> 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..
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 http://www.abvolt.com
Daniel wrote:
> On Oct 19, 2:29 pm, "Naveen" <navee...@gmail.com> wrote: > > 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.. > > 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?
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 !!
On 19 Oct 2006 20:47:31 -0700, "Naveen" <naveenkm@gmail.com> wrote:

>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.
That is 12 samples/minute.
>Once in 10-15 minutes the entire data has to sent to a remote server.
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.
>Also the server can also make request to get current location.
Save the last position in a separate memory location, so you can immediately retrieve it when the server requests it.
>The data needs to be time stamped.
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.
>The server can request data at any time. Depending upon the >availability it can send the response.
I assume it does not report anything if the receiver does not have a fix.
>The SRAM is 32K x 16 pages.
With max. 180 samples and 17 bytes each that would be 3 KiB.
>It would be nice if i use a filesystem?? right !!
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
> 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 !!
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.
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:
> 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..
Naveen wrote:
> Daniel wrote: >> On Oct 19, 2:29 pm, "Naveen" <navee...@gmail.com> wrote: >>> 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.. >> 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? > > 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 !! >
Do you need a file system at all? Given your requirements, wouldn't a simple FIFO do the trick?