You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by "xiaoxiang781216 (via GitHub)" <gi...@apache.org> on 2023/08/04 13:44:07 UTC

[GitHub] [nuttx] xiaoxiang781216 commented on pull request #10057: Interrupt nesting

xiaoxiang781216 commented on PR #10057:
URL: https://github.com/apache/nuttx/pull/10057#issuecomment-1665630063

   > This needs to be configurable. The majority of the system assumes code executable under interrupt is not interruptible. If this code comes in without the option to disable it, it will wreak havoc with existing systems.
   
   @davids5 , before this patch, if user want to use zero latency interrupt, they have to:
   
   1. Modify some entries in _vector from exception_common to a reenterable function
   2. Save and restore the context in the new function
   3. Dispatch the real work to a callback function
   
   as describe in https://cwiki.apache.org/confluence/display/NUTTX/High+Performance%2C+Zero+Latency+Interrupts
   
   This patch just make exception_common reenterable, so you don't write a new one. But the interruption doesn't happen util you configure some IRQs have higher priority than NVIC_SYSH_PRIORITY_DEFAULT and enable ARMV7M_USEBASEPRI:
   https://github.com/apache/nuttx/blob/master/arch/Kconfig#L1153C8-L1153C28
   https://github.com/apache/nuttx/blob/master/arch/arm/src/armv7-m/Kconfig#L16
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org