Debugging basic BSP tasking functionality

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Apr 19 07:27:54 UTC 2013


On 04/18/2013 07:39 PM, Matthew J Fletcher wrote:
> I've corrected that, no change. I think the issue is that no handler is getting
> registered. I believe you said previously that ISR_Handler() was the single
> entry point for all interrupt vectors then it works out what vector its called
> on and calls the appropriate handler.
>
> ARM looks to be the odd one out in that it uses in
> /cpukit/score/cpu/arm/arm_sec_interrupt.S
>
> I remember now what problem might be, i had to remove the
> _CPU_ISR_install_vector() call which add arm_exc_interrupt because on my
> hardware the vector table at 0x0000000 is mapped to on ARM internal flash
> (which does contain basic interrupt handlers), not RAM.

What do you mean with basic interrupt handlers?  The interrupt 
prologue/epilogue in arm_sec_interrupt.S is there for a purpose.  If you want 
to keep your exception vectors in the flash, then simply use arm_exc_interrupt 
(on 4.10) or _ARMV4_Exception_interrupt (on 4.11) as the entry point for the 
interrupt exception.

>
> I've now got a sinking feeling that i cant use rtems on my hardware as is. I
> suppose this is a question for Sebastian, but when i rtems_interrupt_handler_
> install() can the handler just be 'arm_exc_interrupt', and the argument the
> vector number ?
>
> I've got my fingers crossed for the answer.

No, this vector is part of the interrupt extension implementation.

http://www.rtems.org/onlinedocs/doxygen/cpukit/html/group__rtems__interrupt__extension.html

You may have a look at (with Doxygen comments):

c/src/lib/libbsp/shared/include/irq-config.h
c/src/lib/libbsp/shared/include/irq-generic.h
c/src/lib/libbsp/shared/src/irq-generic.c
c/src/lib/libbsp/shared/src/irq-legacy.c

I recommend to use the Git master for ARM.  The current Git master has release 
quality.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the users mailing list