This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

where to put application program?


Hi

We have completed most of the development process with our board now. We
have executed RedBoot and the application program successfully, initialized
serial devices and Ethernet from both RedBoot and application, and also
implemented the JFFS2 filesystem correctly.

Now, the issue is where to keep the application image. Our team members are
debating several options, so I thought it would be a nice thing to get the
experts' view.

Some opinions are:

1. Keep RedBoot and application images in Flash, and keep the JFFS2
partition in the rest of the Flash area. RedBoot will execute first and
bring up the board, and then copy the application code to RAM using 'fis
load' and execute it. This can be automated using boot scripting in RedBoot.
The application will then mount and make use of the JFFS2 partition as
required.

2. Keep RedBoot in Flash and keep the application image inside the JFFS2
partition. Let RedBoot (preferably) or some other code called by RedBoot
mount the JFFS2 partition and extract the kernel image from it, copy it to
RAM and execute it.

For this, we either have to add the extra code (that'll access the
application image inside JFFS2 and extract it to RAM) to RedBoot or to a
third image that'll be called by RedBoot. But this seems a bit cumbersome.

Is there a way to automate this from the existing RedBoot without adding any
extra code? Also, if we keep an additional image outside to extract the
application in JFFS2 partition, why not keep the application outside in the
first place?

3. Get rid of RedBoot altogether. Build the application in ROMRAM startup
mode and put it at the bootup entry point. Application initializes the board
and mounts and operates the JFFS2 partition as required by it.

Now, the issue is, in case we want to automate some kind of version or
integrity check for the application (i.e. RedBoot checks if the application
image has been corrupted or not, or if there is a newer build available on a
remote host, and if so, downloads it via TFTP), it might be easier to let
RedBoot check for the application image and replace it if required, than
have the application check if its newer version is available, and if so,
download it and overwrite its own Flash image with the newer one.

But then, I guess for this, we might have to add some more code (that
performs the check) to whatever image performing this check. So we might as
well add it to the application directly and save on the RedBoot image space
and execution time.

What are your views on this?

Regards

Chandrashekhar Padiyar


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]