Page 1 of 2

EOS S3 Interrupt Numbers

Posted: Thu Jul 02, 2020 6:45 am
by btashton
I have searched through the datasheet and the reference manual and I see lots of documentation on the NVIC and the interrupt configuration for the peripherals, but no listing of the interrupt numbers for them. I see them defined in the HAL on antmicro, but I do not see where these came from. Additionally there is a inrt_ctrl peripheral that is undocumented but seems to gate the peripheral interrupts to the M4 or AP and it is critical to use interrupts with these device.

Re: EOS S3 Interrupt Numbers

Posted: Wed Jul 08, 2020 1:07 pm
by gmartin
Here is a snippet of code from the HAL that specified the Interrupt numbers

Code: Select all

typedef enum
{
/******  Cortex-M4 Processor Exceptions Numbers ****************************************************************/
  NonMaskableInt_IRQn         = -14,    /*!< 2 Non Maskable Interrupt                                          */
  MemoryManagement_IRQn       = -12,    /*!< 4 Cortex-M4 Memory Management Interrupt                           */
  BusFault_IRQn               = -11,    /*!< 5 Cortex-M4 Bus Fault Interrupt                                   */
  UsageFault_IRQn             = -10,    /*!< 6 Cortex-M4 Usage Fault Interrupt                                 */
  SVCall_IRQn                 = -5,     /*!< 11 Cortex-M4 SV Call Interrupt                                    */
  DebugMonitor_IRQn           = -4,     /*!< 12 Cortex-M4 Debug Monitor Interrupt                              */
  PendSV_IRQn                 = -2,     /*!< 14 Cortex-M4 Pend SV Interrupt                                    */
  SysTick_IRQn                = -1,     /*!< 15 Cortex-M4 System Tick Interrupt                                */
/******  Specific Interrupt Numbers **********************************************************************/
  SwInt2_IRQn                    = 0,
  SwInt1_IRQn                            = 1,
  Reserved1_IRQn                     = 2,
  Ffe0Msg_IRQn                = 3,
  FbMsg_IRQn                        = 4,
  Gpio_IRQn                   = 5,
  SramSleep_IRQn              = 6,
  Uart_IRQn                   = 7,
  Timer_IRQn                  = 8,
  CpuWdtInt_IRQn              = 9,
  CpuWdtRst_IRQn              = 10,
  BusTimeout_IRQn             = 11,
  Fpu_IRQn                    = 12,
  Pkfb_IRQn                   = 13,
  Reserved_I2s_IRQn           = 14,
  Reserved_Audio_IRQn         = 15,
  SpiMs_IRQn                  = 16,
  CfgDma_IRQn                 = 17,
  PmuTimer_IRQn               = 18,
  AdcDone_IRQn                = 19,
  RtcAlarm_IRQn               = 20,
  ResetInt_IRQn               = 21,
  Ffe0_IRQn                   = 22,
  FfeWdt_IRQn                 = 23,
  ApBoot_IRQn                 = 24,
  Ldo30_pg_IRQn               = 25,
  Ldo50_pg_IRQn               = 26,
  Sram_to_IRQn                = 27,
  Lpsd_IRQn                                                                   = 28,
  Dmic_IRQn                                                                  = 29,
  Reserved2_IRQn                                          = 30,
  Sdma_Done1_IRQn                                     = 31,
  Sdma_Done2_IRQn                                     = 32,
  Sdma_Done3_IRQn                                     = 33,
  Sdma_Done4_IRQn                                     = 34,
  Sdma_Done5_IRQn                                     = 35,
  Sdma_Done6_IRQn                                     = 36,
  Sdma_Done7_IRQn                                     = 37,
  Sdma_Done8_IRQn                                     = 38,
  Sdma_Done9_IRQn                                     = 39,
  Sdma_Done10_IRQn                    = 40,
  Sdma_Done11_IRQn                    = 41,
  Ap_Pdm_Clock_On_IRQn                          = 42,
  Ap_Pdm_Clock_Off_IRQn       = 43,
  Dmac0_Block_Done_IRQn          = 44,
  Dmac0_Buffer_Done_IRQn      = 45,
  Dmac1_Block_Done_IRQn       = 46,
  Dmac1_Buffer_Done_IRQn      = 47,
  Sdma_Done0_IRQn                                     = 48,
  Sdma_Err_IRQn                                 = 49,
  I2SSlv_M4_IRQn                                = 50,
  Lpsd_Voice_Off_IRQn                  = 51,
  Dmic_Voice_Off_IRQn                 = 52

} IRQn_Type;

Re: EOS S3 Interrupt Numbers

Posted: Wed Jul 08, 2020 4:31 pm
by btashton
Thanks for posted that. I did see that code in the SDK, but I was wondering if it was in documentation anywhere. There is another part of this which is the the INTR_CTRL (0x40004800) this seems to be the top level interrupt controller that routes interrupts between the AP and the M4 from looking at the SDK, but once again I had to go digging into the the HAL for the registers. One bit that is especially not clear is how to clear interrupts with this. With the M4 normally the NVIC will clear the handled interrupts, but with this it appears from implementing the UART driver that I need to clear the detect bit in the INTR_CTRL for the UART. Your SDK only does this when setting it up, but I would keep getting the interrupt called even when UART_MIS register would return 0, clearing the interrupt det bit in this top level controller provided the expected behaviour. Is there an additional datasheet that goes into this, or is this only in the HAL?

Re: EOS S3 Interrupt Numbers

Posted: Wed Jul 08, 2020 5:22 pm
by gmartin
Looking to get the information you requested. We will be updating our TRM as appropriate, but will reply separately with the information you requested.

Re: EOS S3 Interrupt Numbers

Posted: Wed Jul 08, 2020 11:58 pm
by gmartin
A better description of the Interrupt structure is available at
https://www.quicklogic.com/products/soc ... ntroller/
This information will be incorporated into the Technical Reference Manual.

Re: EOS S3 Interrupt Numbers

Posted: Thu Jul 09, 2020 5:28 am
by btashton
Really appreciate it, this is the information I was looking for.

Re: EOS S3 Interrupt Numbers

Posted: Tue Feb 23, 2021 11:16 am
by mihirmane
Thanks..........

Re: EOS S3 Interrupt Numbers

Posted: Thu Mar 18, 2021 9:30 am
by jessicabyrne11
Fantastic forum content! Do you have any suggestions for aspiring and useful writers? I always visit your many others forums and retrieve everything you post here but I never commented but today when I saw this topic release, I couldn’t stop myself from commenting here. Thank you and good luck for new posts. assignment help in Australia - Assignment Help in Melbourne

Re: EOS S3 Interrupt Numbers

Posted: Thu Apr 08, 2021 11:07 am
by jameswick11
Use finance assignment help to finish your finance or accounting papers without messing yourself. You will get assured solutions to your numerical questions within your defined date or time.

Re: EOS S3 Interrupt Numbers

Posted: Sun Apr 11, 2021 5:32 pm
by davidarcane
Thank you for sharing such a post! Truthful Betway reviews are what every newbie needs. That is why I visited this page to learn all the important aspects of modern esports betting.