ARM Interrupts

Manne Tallmarken mannet at kth.se
Sun Jul 10 18:06:07 UTC 2011


Hello people,

First of all, I am pretty new to RTEMS and currently I am working with BSP development to a board (kb9202) with an at91rm9200 cpu.

What I need to get working is the clock driver and I feel a bit lost in where to add the code to get it nice. My approach is the following:

Copy and modify the code from no_bsp/clock/ckinit.c
Now, that file makes a call to set_vector
=> need to write that function

Copy and modify the code from no_bsp/startup/setvec.c
Now, I need to install non-RTEMS ISRs as "raw" interrupts  (my interpretation of "raw" interrupts is putting pointers in the interrupt controller inside the uC)
=> seems like the RTEMS-way of doing this is to call _CPU_ISR_install_raw_handler, but that function does not exist for the arm
=> need to add that function to rtems-4.10.0/cpukit/score/cpu/arm/cpu.c.

When looking in cpukit/score/cpu/no_cpu/cpu.c, _CPU_ISR_install_vector makes a call to _CPU_ISR_install_raw_handler so maybe I need to add that call to the arm file as well (but then I don't know if I need to do more modifications).

But wait! Now it's not BSP-development anymore, it's about porting basic functions to the ARM cpu.
Have I missed something?
What is the correct way of adding a clock tick driver for this cpu?

Regards,
Manne



More information about the users mailing list