This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: RedBoot
- To: "Jonathan Larmour (E-mail)" <jlarmour at redhat dot co dot uk>
- Subject: [ECOS] Re: RedBoot
- From: Anthony Massa <amassa at logici dot com>
- Date: Fri, 27 Apr 2001 15:01:55 -0700
- Cc: "eCos (E-mail)" <ecos-discuss at sourceware dot cygnus dot com>
>Perhaps the cygwin tools aren't in the path. Have you installed the .reg
>file mentioned in "Updated configuration tools for Windows" at
>http://sources.redhat.com/ecos/anoncvs.html ?
I'll give that a try. I didn't notice the reg file back when I switched to
ConfigTool 1.3.1.2.
>> Not being able to run the tests, I tried to get more insight as to where
my
>> application was failing. I find that it is failing in the function
>> quicc_eth_init in if_quicc.c. This is called from cyg_net_init, in the
for
>> loop after the thread (cyg_netint) is created and started. I have had
some
>> troubles with GDB crashing while stepping through various parts of the
>> quicc_eth_init routine - once it crashed when stepping over
HAL_DCACHE_SYNC.
>> It seems to have problems with the cyg_drv_interrupt_unmask function
call.
>Looking at it, the problem may be that the interrupts are set up so near
>the start. This means that any interrupts received before the init function
>finishes could lead to problems because the rest of the driver hasn't been
>initialised. And if RedBoot had been using the eth device, interrupts
>_would_ already be enabled.
>Try setting up the interrupt handling much closer to the end, or perhaps
>just try turning off interrupts throughout that function just to see if
>that helps.
I'll move the interrupt creation and unmasking to the end of the
quicc_eth_init function and see what happens. I'm not sure about that
because I have seen it fail at various points through that routine. If that
doesn't work I'll give globally turning off interrupts a try and see where
that leads - although, won't that have an effect on GDB's communication?
I'm a little confused how the Ethernet switch over occurs since I'm
debugging over the Ethernet port as well. Basically, RedBoot is receiving
debug packets from GDB over the Ethernet port while I am stepping through
the quicc_eth_init routine to setup control of the same Ethernet port for
the application.
--Anthony