Hi Kerry,
Thank you for replying to my question, and your help with trying to understand the issue.
Let me answer your questions...
Yes, the latest FRDM-KEA-QSP download from the NXP webpage. Specifically, the subdirectory with all the Driver Test SW for the KEAZ128.
I have tried several of the programs, GPIO, PIT, ADC, UART, I2C, and none of the drivers that are interrupt-driven work. All of the polling drivers work fine.
When I say the interrupts don't "fire", I mean that the ISR is never called, although I am fairly certain that the Module interrupts are enabled since I imported the programs directly into S32DS. You mentioned a Global Interrupt Enable. Where is the bit for this? I read through most of the KEAZ128 RM today, and I could only find one cryptic sentence that even mentions it. Is it in the IRQ_SC register?
I tried to import your included program sample, but I am sorry, I don't know how to import IAR projects. IAR appears to be a much better IDE for ARM code development than S32DS, and I am sure that there are plenty of included libraries and code examples so that you can easily figure out problems.
So, as a final attempt at cracking this nut, I loaded the "hello_interrupts" example from AN5213. This program sets up the PIT to fire an interrupt every 1s, and in the ISR the Blue LED is toggled. I single-stepped the program up to the point where the init_IRQs() is called. At that point, the stops executing.
int main(void) {
int idle_counter = 0;
GPIOB_PDDR |= 1<<PTE7; /* Port Data Dir: output on port E7, blue LED */
init_clks_FEE_40MHz(); /* Initialize FLL: 8MHz xtal, 40 MHz core, 20 MHz bus clks */
init_IRQs(); /* Initialize interrupts: enable, priorities */
init_PIT(); /* Initialize PIT0: 1 sec timeout, IRQ enabled */
for(;;) {
idle_counter++;
}
}
Any ideas?
Best Regards,
Bill