<br><font size=2 face="sans-serif">Hi,</font>
<br>
<br><font size=2 face="sans-serif">Yes, I am also quite interested in that
solution but i am still one step back stuck with the IMFS trying to mount
an external RAMDisk and using it properly. And, i don't know whether the
problems I am getting are because of my configuration and or they are coming
from the RTEMS IMFS.</font>
<br>
<br><font size=2 face="sans-serif">Basically, the configuration I got is
this:</font>
<br>
<br><font size=2 face="sans-serif">        rtems_bdbuf_config
rtems_bdbuf_configuration[] = {</font>
<br><font size=2 face="sans-serif">         
{ 512, 200, (unsigned char *) _SDRAM_FS_ADDR }</font>
<br><font size=2 face="sans-serif">        };</font>
<br><font size=2 face="sans-serif">        int
rtems_bdbuf_configuration_size =( sizeof(rtems_bdbuf_configuration)</font>
<br><font size=2 face="sans-serif">         
                     
             /sizeof(rtems_bdbuf_configuration[0]));</font>
<br>
<br><font size=2 face="sans-serif">        rtems_ramdisk_config
rtems_ramdisk_configuration[] = {</font>
<br><font size=2 face="sans-serif">         
{512, 200, (void *) _SDRAM_FS_ADDR}</font>
<br><font size=2 face="sans-serif">        };</font>
<br>
<br><font size=2 face="sans-serif">        size_t
rtems_ramdisk_configuration_size = (        sizeof(rtems_ramdisk_configuration)</font>
<br><font size=2 face="sans-serif">         
               
               
              /sizeof(rtems_ramdisk_configuration[0]));</font>
<br>
<br><font size=2 face="sans-serif">and when I mount the ramdisk space</font>
<br>
<br><font size=2 face="sans-serif">          memset(&rqdata,
0, sizeof(rqdata));</font>
<br><font size=2 face="sans-serif">          rqdata.OEMName
= "Rtems";</font>
<br><font size=2 face="sans-serif">          rqdata.VolLabel
= "RAMDISK";</font>
<br><font size=2 face="sans-serif">          rqdata.fattype
= MSDOS_FMT_FATANY;</font>
<br><font size=2 face="sans-serif">          rqdata.quick_format
= TRUE;</font>
<br>
<br><font size=2 face="sans-serif">          assert(msdos_format("/dev/ramdisk0",
&rqdata) == 0);</font>
<br><font size=2 face="sans-serif">          </font>
<br><font size=2 face="sans-serif">          status
= (rtems_status_code)rtems_fsmount(</font>
<br><font size=2 face="sans-serif">           
              fs_mnt_table,
</font>
<br><font size=2 face="sans-serif">           
              sizeof(fs_mnt_table)/sizeof(fs_mnt_table[0]),</font>
<br><font size=2 face="sans-serif">           
              NULL</font>
<br><font size=2 face="sans-serif">           
              );</font>
<br>
<br><font size=2 face="sans-serif">everything goes well. Now if I try to
store files sized ~50Kbyte, gorgeous...but now, writting files sized ~2MB
raised an I/O error in the fwrite routine and I do not understand why.</font>
<br>
<br><font size=2 face="sans-serif">any clue?</font>
<br>
<br><font size=2 face="sans-serif"><br>
//avs<br>
<br>
</font>
<br>
<br><tt><font size=2>rtems-users-bounces@rtems.org wrote on 11/20/2007
03:22:18 PM:<br>
<br>
> Hi Joel,<br>
</font></tt>
<br><tt><font size=2>> I should probably join in the conversation too,
as a persistent RAM<br>
> disk will be important in our upcoming RTEMS applications.<br>
</font></tt>
<br><tt><font size=2>> I like this idea for the IMFS.<br>
> But a question: for our vxWorks based systems, we create a RAM disk<br>
> in an area of RAM that is preserved during OS restarts. We can then<br>
> verify/remount the disk after vxWorks restarts. Would this be a<br>
> possibility for the IMFS with a custom pool/malloc/free ?<br>
</font></tt>
<br><tt><font size=2>> Thanks,<br>
</font></tt>
<br><tt><font size=2>> Alan<br>
</font></tt>
<br><tt><font size=2>> On Nov 20, 2007, at 9:05 AM, Joel Sherrill wrote:<br>
</font></tt>
<br><tt><font size=2>> > I'm late in the discussion but I proposed
a couple of years<br>
> > ago adding a configuration item for the IMFS.  If you defined<br>
> > a structure with three callback functions, you could change<br>
> > where memory was allocated in the IMFS.<br>
> ><br>
> > + initialize pool  (default NULL)<br>
> > + allocate memory (default malloc)<br>
> > + free memory  (default free)<br>
> ><br>
> > Change the IMFS code to use the provided functions and<br>
> > it can easily be switched.<br>
> ><br>
> > --joel<br>
> ><br>
</font></tt>
<br><tt><font size=2>> _______________________________________________<br>
> rtems-users mailing list<br>
> rtems-users@rtems.com<br>
> http://rtems.rtems.org/mailman/listinfo/rtems-users</font></tt>