On an STM32H7 running FreeRTOS, if you raise the SysTick interrupt priority from 15 to 4, set configMAX_SYSCALL_INTERRUPT_PRIORITY to 5, and keep PendSV at priority 15, what impact does that have on the system?
Probably won’t work, as you just puts it interrupt priority outside the allowed range, as 4 < 5.
You could do that if you make the FreeRTOS system tick be based on a different timer other than Systick that is still at interrupt priority 15.
Tick interrupt juggle with stack in assumption it is switching only “user mode” execution only, not an interrupt.
Tick interrupt has normally lowest priority which is equal to scheduler interrupt priority. Both interrupts are safe as they can’t interrupt.each other and task stack they are juggle is in known state at any moment.
As soon as you’re increasing Tick (or Scheduler) interrupt priority and there is any IRS which may trigger with lower priority then your system is doomed.
If Tick or Scheduler interrupt of higher priority will preempt any other interrupt a crash is likely occur. Tick or Scheduler interrupt will corrupt lower priority ISR stack as they are in assumption there is no other code except user mode.
If you use the SysTick Handler provided by the port, SysTick must run at the lowest priority as described here. If you want to run it a higher priority, you’ll need to write the handler which saves and restores the interrupt mask value.
What problem are you trying to solve?