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