px4nucleoF767ZI-v1 nsh: Disable ARCH_IRQPRIO & ARCH_HIPRI_INTERRUP

This insures the common exception handler will not be
   re-entered. The handler does not support nested interrupts
   and the interrupt stack pointer and context will be overwritten
   resulting in hard to debug hardfaults.

   If all the priorities are equal the NVIC prevents the
   preemption. The startup code defaults all the priorities
   to the same value 128.

   This change safeguards in 2 ways 1) By disabling
   CONFIG_ ARCH_IRQPRIO: up_prioritize_irq cannot be called.
   This will insure that all HW interrupts are at the same
   priority.

   2) By disabling CONFIG_ARCH_HIPRI_INTERRUP, the common
   exception will disable any interrupts during interrupt
   processing.
This commit is contained in:
David Sidrane 2018-09-25 08:44:00 -07:00 committed by Daniel Agar
parent f7dd2511ab
commit 3f1a155e57
1 changed files with 2 additions and 2 deletions

View File

@ -461,7 +461,7 @@ CONFIG_ARCH_HAVE_MPU=y
CONFIG_ARCH_HAVE_RESET=y CONFIG_ARCH_HAVE_RESET=y
CONFIG_ARCH_HAVE_RTC_SUBSECONDS=y CONFIG_ARCH_HAVE_RTC_SUBSECONDS=y
# CONFIG_ARCH_USE_MPU is not set # CONFIG_ARCH_USE_MPU is not set
CONFIG_ARCH_IRQPRIO=y # CONFIG_ARCH_IRQPRIO is not set
CONFIG_ARCH_STACKDUMP=y CONFIG_ARCH_STACKDUMP=y
# CONFIG_ENDIAN_BIG is not set # CONFIG_ENDIAN_BIG is not set
# CONFIG_ARCH_IDLE_CUSTOM is not set # CONFIG_ARCH_IDLE_CUSTOM is not set
@ -482,7 +482,7 @@ CONFIG_BOARD_LOOPSPERMSEC=43103
CONFIG_ARCH_HAVE_INTERRUPTSTACK=y CONFIG_ARCH_HAVE_INTERRUPTSTACK=y
CONFIG_ARCH_INTERRUPTSTACK=600 CONFIG_ARCH_INTERRUPTSTACK=600
CONFIG_ARCH_HAVE_HIPRI_INTERRUPT=y CONFIG_ARCH_HAVE_HIPRI_INTERRUPT=y
CONFIG_ARCH_HIPRI_INTERRUPT=y # CONFIG_ARCH_HIPRI_INTERRUPT is not set
# #
# Boot options # Boot options