[ECOS] Porting of PPP to the eCos operating system

Robert Martin rmartin_ecos@yahoo.com
Sun Jan 6 21:53:00 GMT 2002


Why are you porting the BSD application instead of
extracting just the parts that are relevant to a
potentially quite small embedded system?  Would it be
more efficient and less error prone to write a native
eCos application with those pieces instead of trying
to kludge around things that make sense in the
workstation world but not in eCos?

What are the memory requirements for your port?  If
you anticipate it working on smaller systems like the
EB40 and you would like some help with coding or
testing, please let me know.  

Rob Martin

--- Erik Aagaard Knudsen <EAK@penell.com> wrote:
> As told in a previous mail (Fri. 23 nov. 2001) I am
> in the process of
> porting pppd (v. 2.3.5) to eCos. I have ported the
> driver part (not tested
> yet though) and have started porting the application
> part. There are a few
> problems, which I would very much like to have
> comments on.
> One is the problem of global variables and functions
> (there are many in
> pppd). I don't want to pollute the eCos namespace
> with all these names (to
> avoid the risk of name clashes with ports of other
> programs).
> The other is the problem of independent incarnations
> of pppd. This gives a
> problem with static variables, which cannot be
> independent across
> incarnations in eCos.
> I intend to solve the problem with global functions
> by allocating a global
> structure inside which the names are defined.
> And I intend to solve the problem with incarnations
> by utilizing the means
> in eCos for making functions thread safe. I will
> dynamically allocate a
> structure inside which global variables are defined
> and I will also
> dynamically allocate a structure for each file
> inside which static variables
> are defined.
> For each file there will be a (global)
> initialization function, which
> initializes pointers to global functions in the
> above mentioned global
> structure.
> For each file there will also be a constructor,
> which allocates and
> initializes memory for static variables for this
> file.
> And finally for each file there will be a destructor
> which deallocates
> memory for static varibales for this file.
> As far as I can see then this solves most problems.
> The procedure may seem
> complicated and indeed the two problems that it
> solve are pervasive and
> necessitates a great number of corrections to the
> pppd code. The corrections
> are trivial though and easy to perform. In case data
> accessed in this way
> are used extensively, then of course performance
> will suffer, but this is
> not the case in pppd.
> Perhaps I should note that I am well avare of the
> possibilities for loading
> elf images into eCos. It seems though that this is
> too heavy ammunition for
> eCos. I think perhaps you would be better off using
> another operating system
> (like uClinux) in that case.
> I do not intend to implement demand dialing.
> Pppd read authentication information from two files.
> I intend to implement
> these files as global structs.
> Pppd uses the Unix concept of process id, this is
> not supported in eCos and
> is therefore removed.
> Pppd uses Unix signals (across processes). Processes
> are not supported in
> eCos and this is therefore removed.
> The following options for pppd are not ported: call,
> connect, disconnect,
> init, lock, activefilter, demand, logfd, logfile,
> login, nolog, welcome,
> xonxoff.
> I hope to get some response on this.
> Best Regards
> Erik Aa. Knudsen
> Project Engineer, 
> Software Engineer, M.Sc.
> Phone direct:			+45 9652 0356
> E-mail:			eak@penell.com <mailto:eak@penell.com>   
> -------------
> Penell A/S - An RTX Company
> Plastvaenget 9
> DK-9560 Hadsund 
> Denmark.
> Phone: 			+45 9857 2666
> Fax:			+45 9857 2664
> Website:			www.penell.com <http://www.penell.com>  
> -------------

Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!

More information about the Ecos-discuss mailing list