Define name issue: portNVIC_SYSPRI2_REG in ARM_CM4F port

The ARM documentation lists three System Handler Priority Registers: SHPR1, SHPR2, SHPR3. SHPR3, the register controlling SysTick and PendSV, is at address 0xe000ed20. Address 0xe000ed20, however, is defined in FreeRTOS 8.2.3 as portNVICSYSPRI2REG. Is the intent of the #define to reflect the register’s ordinality (SYSPRI3 ??). If so, it would be more accurate to call this macro portNVICSYSPRI3REG. Code maintainers please note.

Define name issue: portNVIC_SYSPRI2_REG in ARM_CM4F port

I’ve just been looking at this. As you say there are three such registers, and they appear in order at addresses 0xe000ed18, 0xe000ed1c and 0xe000ed20. The lines… portNVICSYSPRI2REG |= portNVICPENDSVPRI; portNVICSYSPRI2REG |= portNVICSYSTICKPRI; …are, as you say writing to 0xe000ed20. If 0xe000ed18 is syspri 0, 0xe000ed1c is syspri 1, then 0xe000ed20 would be syspri 2. I cannot see the name SHPR3 being used in the Cortex-M technical reference manual. Where does that register name come from?