iMX8M Plus M7 GPIO Interrupt example code

I was wondering if anyone had some example code for a GPIO interrupt on the M7 of the verdin imx8.
The SDK for the evkmimx8mp doesn’t have a driver example.
Thanks !

Hi, I’m the Toradex AI Assistant. I’m in early beta, and I would appreciate your feedback.
The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


For implementing a GPIO interrupt on the M7 core of a Verdin iMX8M Plus module, you can adapt the example provided for the iMX7 Colibri M4, as the principles behind setting up GPIO interrupts are similar across different NXP SoCs. While the specific SDK for the EVK iMX8M Plus might not include a direct example, the process involves configuring the GPIO pin as an interrupt source, setting up the interrupt handler, and enabling the interrupt in the M7’s NVIC (Nested Vectored Interrupt Controller).

Here’s a simplified approach to achieve this on the Verdin iMX8M Plus:

  1. GPIO Configuration: First, configure the GPIO pin you intend to use for the interrupt. This involves setting the pin’s direction as input and enabling the interrupt capability for that pin.

  2. Interrupt Handler Setup: Implement an interrupt handler function that will be called when the GPIO interrupt is triggered. This function will typically clear the interrupt flag and perform any required processing.

  3. NVIC Configuration: Configure the NVIC to enable the interrupt for the specific GPIO. This involves setting the interrupt priority and enabling it.

  4. Enable GPIO Interrupt: Finally, enable the interrupt on the GPIO by configuring the appropriate registers to detect either a rising edge, falling edge, or both, depending on your application requirements.

Since the exact register addresses, interrupt numbers, and configuration details can vary significantly between the iMX7 and iMX8M Plus, it’s crucial to refer to the iMX8M Plus reference manual for the specific details relevant to configuring GPIOs and interrupts on this platform. Additionally, the FreeRTOS BSP for the Verdin iMX8M Plus might provide some abstractions that simplify interacting with the GPIO and NVIC.

Remember, when working with FreeRTOS alongside Linux (in a heterogenous multicore environment), you must ensure that the Linux device tree does not claim the GPIO bank used by FreeRTOS, to avoid conflicts.

This approach should give you a starting point for implementing GPIO interrupts on the M7 core of the Verdin iMX8M Plus. Adjustments will be necessary to accommodate the differences in hardware registers and interrupt handling mechanisms between the iMX7 and iMX8M Plus.

Best regards,
Toradex AI Assistant

Please, also check if these links can help you solve your problem:

Application Development - .NET Example | Toradex Developer Center.

Unfortunately, we do not have example code for a GPIO interrupt on the M7 of the verdin imx8, but maybe the links below will be helpful: