This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: redboot hang problem!!
Yes, I had traced the init_entry->fun() and found it's acctually call
to load_flash_config() in flash.c (RedBoot_init(load_flash_config,
RedBoot_INIT_FIRST)). However, after finish with that, next step can't
be performed contiguously.
On Wed, 12 Jan 2005 09:42:14 +0100, Andrew Lunn <andrew@lunn.ch> wrote:
> On Wed, Jan 12, 2005 at 04:30:09PM +0800, Eason Lee wrote:
> > Hi everbody,
> > I'm a newbie for redboot. I wanna port the redboot into a
> > lubbock-like(pxa255) board, however I got some problems. My redboot
> > hanged at cyg_start(void) in main.c . As below is the hang point..
> >
> > cyg_start(void) {
> > ....
> > for (init_entry = __RedBoot_INIT_TAB__; init_entry !=
> > &__RedBoot_INIT_TAB_END__; init_entry++) {
> > printf("\nCalling __RedBoot_INIT_TAB__ %p/%p\n", init_entry,
> > init_entry->fun);
> > (*init_entry->fun)();
> > printf("init start %p \n\n",__RedBoot_INIT_TAB__);
> > printf("init end %p \n\n",&__RedBoot_INIT_TAB_END__);
> > printf("KK value %d \n\n",kk);
If I comment current printf, it will hang at previous printf. It seems
fine, but ignore some errors at previous procedure so that hang at
here. How can I do to catch those undectetable errors?
Thanks in advance!!
> > kk=kk+1; ===> hang point
> > }
> > ....
> > }
> >
>
> I think you will find that it is actually the call to init_entry->fun
> this is causing the crash. Print out the address of the function
> before calling it so you can find out which one is causing you
> problems.
>
> 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