This is the mail archive of the ecos-discuss@sourceware.org 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]

Re: In-built shell for Redboot




On Thu, 1 Feb 2007, wang cui wrote:

I think he want to call function by name directly without a warpper of
"RedBoot_cmd()" macro.

Actually VxWorks provide this function. It strips all symbles from
application image, then generate a source file contains all symbles,
then add it into project and rebuild it. Then user can call all
functions directly from VxWorks shell.  However, I think Redboot style
is good enough.

But what I am thinking about is: Can we divide the shell functionality
from Redboot and create a new package(suppose to be RedShell)?
Because we always need a shell in application, and there are very many
things have been implemented in Redboot. If so, we can reduce a lot of
work in writing application shell.


Would we like to follow the subject "In-built shell for RedBoot" ...


Ah, this idea does scratch the RedBoot body (or spirit? :)! I saw/see
neither LiloShell nor GrubShell, but, with TAB button on LILO start,
for example, it's possible to select an `init' process as a parameter.
Sometimes, they add to parameters 'init=/bin/sh'. It looks like that
it's possible to add same choice on RedBoot startup to replace default
RedBoot's CLI loop. It would be a cool feature, but, what do they
(RedBoot experts) think about?

Though, looking the RedBoot's 'cyg_start' entry, it seems that was done.
There is one conditional call of the 'cyg_plf_redboot_startup' there. That
piece has been called before a start of the RedBoot's event loop, while
(true) {...}. And RedBoot had madden a lot of initial work (all needed
things for most of us) since a reset. More that, RedBoot gives us an
abstract I/O with virtual channels (serial, ethernet), TFTP/HTTP clients,
FLASH support, etc. Therefore, everybody can just put his own event loop
in his own redboot platform startup function and using the '_rb_gets'
will have a fun with a lovely interpreter (= shell).

I had a fun with an embedded Tcl shell in RedBoot from that point, for
example.  Though, there was 'malloc' evil there. Another limitation of
such "In-built shell for Redboot", there won't be any kernel things there.
But, for some tasks that's a solution.  Ah, if I would have an objloader
for ARM like Anthnony has for PowerPC (services/objloader) ...

There is yet another issue with such a tweak, that's the RedBoot's
'do_version' call. We cannot hide the RedHat's copyright notice, can we?

Sergei

From: Andrew Lunn <andrew@lunn.ch>
To: Harish Talanki <htalanki@comtechefdata.com>
CC: ecos-discuss@ecos.sourceware.org
Subject: Re: [ECOS] In-built shell for Redboot
Date: Tue, 30 Jan 2007 22:46:25 +0100

On Tue, Jan 30, 2007 at 02:09:52PM -0700, Harish Talanki wrote:
> eCos Experts,
>   Is there a way I can invoke a function call directly from the shell,
> with Redboot boot loader.

> I want to add bunch of function calls to the code, and be able to
> directly invoke them from
> command line. Is there any package or configuration option I need to
> choose?
>
>   Right now I keep adding new Redboot Commands, to get arround this.

What is the difference between adding a redboot command and calling a
function? All a redboot command does is call a function.

Andrew

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


_________________________________________________________________
цБ╥яобть MSN Explorer: http://explorer.msn.com/lccn/


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

-- 
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]