Loading application data

Gedare Bloom gedare at gwmail.gwu.edu
Wed Mar 10 17:39:57 UTC 2010


I'm trying to figure out what is the most portable (with respect to
BSP) way to get file-based data in to an application.  I can't use
network or ATA-type disk drive.  I've had some thoughts, and was
hoping someone might have faced this type of problem before me.  My
motivation is to do benchmarking of RTEMS systems with respect to
compute and memory usage. My particular board does not support hard
drive or network I/O -- and in general I would like to have a portable
set of benchmarks that any other RTEMS user can use.  Most of the
benchmarks that I'm looking at use file i/o to get parameters for

I was looking at the various filesystems, and was intrigued by the
IMFS, The Wiki says the following: "After an application restart you
will need to construct its contents. RTEMS provides some supporting
calls for this plus there is the ability to tar files into it." What
is that bit about the ability to tar files into it? Does this require
network support?

I could try to use a RAM disk and somehow interface that with an RTEMS
filesystem. Is there any support for this in RTEMS?  Any idea how I
would get RTEMS to know where to find the RAM disk?

My last option is to convert the files that I have in to arrays of
data (compressed binary/hex or ascii strings) that are stored as part
of the application. This would definitely be the most portable way to
get the data in to applications, but involves a bit of work
translating the files to something usable by the application.

Maybe someone has done something similar -- I really just need a good,
portable way to get application data in to RTEMS. Although the data is
currently organized in Unix files, if there are some tools to convert
files in to some other format that makes it easy to place in memory
alongside the RTEMS application, it would probably satisfy my

Also, if anyone else is interested in such a set of benchmarks, let me
know and I can keep you appraised of my progress.


More information about the users mailing list