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: question of __RedBoot_IDLE_TAB__?


On 2008-01-31, Andrew Lunn <andrew@lunn.ch> wrote:
> On Thu, Jan 31, 2008 at 12:16:50AM -0800, Billking wrote:
>> 
>> hello everybody:
>> I port redboot to a board based ARM7TDMI architecture,but I found pretty
>> confused about this classs struct "__RedBoot_IDLE_TAB__",because it have not
>> been initialised.But when running redboot it pricesely pointer to
>> net_io_test,how does redboot do it.
>> any explanation apprieciate!
>
> Its magic!

Darned near.

> Well, its just not common C. It uses the GNU linker and some GNU
> extensions in gcc.
>
> Take a look at:
>
> hal/common/current/include/hal_tables.h

It's just plain brilliant.  I've used that scheme on several
other (non-eCos) projects, and it _very_ neatly solves the
problem of keeping modules isolated while allowing an easy way
for the modules to provide various "entry points" for the main
system to use without the main system actually having to be
aware at compile time of what modules are going to be present
at run time.

-- 
Grant Edwards                   grante             Yow! An Italian is COMBING
                                  at               his hair in suburban DES
                               visi.com            MOINES!


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