This is the mail archive of the
ecos-devel@sourceware.org
mailing list for the eCos project.
Re: IRQ-Enable in ARM-Target (cpsr)
- From: "Martin Laabs" <martin dot laabs at mailbox dot tu-dresden dot de>
- To: "ecos-devel at ecos dot sourceware dot org" <ecos-devel at ecos dot sourceware dot org>
- Date: Sat, 06 Dec 2008 00:15:33 +0100
- Subject: Re: IRQ-Enable in ARM-Target (cpsr)
- References: <op.ulpngxdq724k7f@localhost> <4939AFC6.7030705@mlbassoc.com>
Hi,
>> Whats about the other packages that uses the interrupts? (I currently
>> use the minimal config to search the bug.) Where and when do they disable
>> the global interrupt-disable flag?
>
> This normally happens when you start running threads (call
> the scheduler).
>
> What sort of program are you trying to run (and use interrupts)?
OK - the whole story. I build redboot and noticed that the STRG-C
break of the GDB stub was not working. Somewhat annoying but not
a problem I have to solve now - I thougt. But after I tried to load
and run an application into the RAM I got an assert concerning a DSR
call with a function pointer pointing to null. (The same progam runs
in ROM mode without problems.)
I've guessed that there is something messed up with the
virtual vectors and/or the interrupt handling.
This is the reason why I search for the missing STRG-C break support
since this bug might generate all these side effects. (And I do not
search one bug if I know that there is another one that might interact
each other.)
To simplify the bug-search I build a minimal configuration of the
HAL, added the GDB-stub support and wrote just a diag_printf("Hello World\n");
while(1); into cyg_user_start().
If I understand you correct the HAL will not enable the interrupts at
all. This would mean that the gdb-break support does not work with
any target in HAL-only configurations. (And whats about RedBoot? As far
as I know it uses only the HAL, not the kernel sheduling.)
Thank you,
Martin L.