Other Parts Discussed in Thread: HALCOGEN
Hi there,
I am using RM46 to develop a BLCD motor application. I have the hall sensors connected to HET and use the HET edge interrupts as FIQ to switch the commutation. I also use the RTI Compare 0 interrupt as IRQ to do some calculations. Now I want the HET Interrupt to have higher priority than the RTI Interrupt and I also want the HET interrupt to interrupt the RTI Interrupt. Now my understanding is that the FIQ do exactly that, however it does not work. The HET FIQ behaves exactly like an IRQ, i.e. the HET Interrupt runs only if there is no active or pending RTI Interrupt and it also does not Interrupt an active RTI Interrupt.
What I do is:
1) I use HalCoGen 4.02 to configure the RM46.
1.1) In the "Driver enable" tab I check RTI and HET1 driver
1.2) In the "VIM channel 0-31" tab I enable the RTI compare 0 channel as IRQ and the HET high channel as FIQ
1.3) I also configure the RTI and HET 1 drivers as required
2) I develop the application in Code Composer Studio 6.0.1
2.1) I implement the HET Interrupt handler in "edgeNotification" and the RTI Interrupt handler in "rtiNotification"
2.2) On initialization I call (among other driver initialization routines) "rtiInit" and "hetInit". Finally I call "_enable_interrupt_"
Everything works fine, except that the HET FIQ does not Interrupt the RTI IRQ.
Any clues what I am missing here? Thanks.
Johannes