public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
From: "Jürgen Lambrecht" <J.Lambrecht@televic.com>
To: "Paul D. DeRocco" <pderocco@ix.netcom.com>
Cc: eCos Discuss <ecos-discuss@ecos.sourceware.org>
Subject: Re: [ECOS] Configuring EB40A for JFFS2
Date: Wed, 13 Jun 2007 14:19:00 -0000	[thread overview]
Message-ID: <466F94FA.4070902@televic.com> (raw)
In-Reply-To: <000901c7ad49$a6a57e70$887ba8c0@PAULD>

Paul D. DeRocco wrote:
> I have an old EB40A (ARM7) board, and am having trouble figuring out how to
> partition its 2MB flash memory. I already have Redboot burned into the
> flash, and FIS set up. The bootable version of Redboot is represented by an
> FIS image called "Redboot", covering the first 128K of flash. Not sure if
> that was necessary, but it seemed like a Good Idea.
> 
> I have a boot script which currently just consists of "fis list"; I'll add
> an "fis load" command later. It doesn't appear as an image in "fis list",
> but I assume that that's because it's short, and there's some magic that
> allows short boot scripts to be stored directly in the FIS directory,
> instead of in an image. (Did I read that somewhere, or did I just make that
> up?)
> 
> Anyway, what I want to do next is create an eCos app that uses JFFS2. The
> rest of my flash, then, must be divided between the area where I store the
> app, and the area used for JFFS2 file storage. I don't want to store the app
> inside a JFFS2 file, as I'm content to use Redboot to write each new version
> of the app into flash manually.
> 
My flash of 64MB is partitioned this way:
    1. 0x1000_0000, 0x0004_0000 ( 256KB): RedBoot
    2. 0x1004_0000, 0x0008_0000 ( 512KB): application
    3. 0x100C_0000, 0x0002_0000 ( 128KB): spare
    4. 0x100E_0000, 0x03F0_0000 (  63MB): jffs2 partition (63MB)
    5. 0x13FE_0000, 0x0002_0000 ( 128KB): FIS directory and RedBoot config

In redboot, I create a jffs2 partition this way:
fis create -f 0x100E0000 -l 0x03F00000 -n jffs2

Don't forget there is a bug in the ARM compiler 3.2.1 concerning jffs2.

application code:
#include <pkgconf/fs_jffs2.h>       // Address of JFFS2
   mount ("/dev/flash1", JFFS2DIR, "jffs2"); // Initialize File system
(this mounts the "jffs2" partition to the mount point (a directory) JFFS2DIR, "/" in my case (root))

> I have a vague memory of reading somewhere that there's a way to get JFFS2
> to use a named FIS image, rather than having to hard code a start address
> and length in my eCos app. Is this true? If so, do I first use Redboot to
> manually create an empty image of the appropriate name, using "fis create -n
> ...", and then later let Redboot create an image for my app using the rest
> of the space? Or should I first create an image for my app, possibly padding
> it for future growth, and then create an empty image for JFFS2 to use out of
> the remaining space?
I don't follow completely (no time to read in detail).
Don't need to create an image.  If you fixed the jffs2 bug in the ARM 3.2.1 compiler, the partition will be initialized at first mount by writing a magic number (0x1985 I believe).
In redboot you can already mount the partition and use 'ls' and 'ls -d DIR'.

Kind regards,

Jürgen Lambrecht

> 
> Next question: with only 2M flash, and with my app written in C++, I don't
> have a lot of room to spare. I'd like to store my app as GZIPped binary, but
> my current version of Redboot doesn't have support for that. Among the
> available packages, I see something called "Zlib compress/decompress". Is
> that the same thing as GZIP? If I include that, will it automatically add
> support for the "fis load" command -d option, or do I have to do something
> else?
> 
> (I do have a working RAM version of Redboot, which I can use to burn a new
> ROM version into flash, by the way.)
> 

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

  reply	other threads:[~2007-06-13  6:56 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-13 13:36 Paul D. DeRocco
2007-06-13 14:19 ` Jürgen Lambrecht [this message]
2007-06-15  6:25   ` Paul D. DeRocco

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=466F94FA.4070902@televic.com \
    --to=j.lambrecht@televic.com \
    --cc=ecos-discuss@ecos.sourceware.org \
    --cc=pderocco@ix.netcom.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).