Hi,
We are currently working on the BeagleBone and have interfaced it to an FPGA. Because we needed to do pin muxing we did not do
use the beaglebone gel files or target in the general setup(we use the AM335X). I've tried to install a timer ISR by using the example
in dmtimerCounter.c. I am currently running the exact calls in the demo:
/* This function will enable clocks for the DMTimer2 instance */
DMTimer2ModuleClkConfig();
DMTimerAintcConfigure(); /* Register DMTimer2 interrupts on to AINTC */
DMTimerSetUp(); /* Perform the necessary configurations for DMTimer */
DMTimerIntEnable(SOC_DMTIMER_2_REGS, DMTIMER_INT_OVF_EN_FLAG); /* Enable the DMTimer interrupts */
DMTimerEnable(SOC_DMTIMER_2_REGS); /* Start the DMTimer */
The timer 2 registers look good and the timer is counting up:
0x4804002C 00000002
0x48040030 00000002
0x48040034 00000000
0x48040038 00000003 Auto reload
0x4804003C FF9ADD38 Timer is counting
0x48040040 FF000000 Reload value
So it seems that when the timer expires the ISR is not getting triggered. Is there something in the beaglebone gel or
configuration that allows the ISR to happen that is not in the AM335X configuration. We did note that in the DMTimerAintcConfigure/IntSystemEnable()
call the comment "This API enables the system interrupt in AINTC. However, for the interrupt generation, make sure that the interrupt is
enabled at the peripheral level also. " Could this be what were missing?
Thanks