Change Note 2025-08-23

Serial terminal output driver for kernel-v4.

Kernels

Kernel-v4

  • New non-blocking serial terminal output driver, in two variants.
  • See example and test program K4print for concepts, implementation, and test results.
  • Use BASEPRI in lieu of PRIMASK for mutual queue lockout. This allows the SVC error traps to always be enabled, and also to implement a two layer interrupt scheme as outlined in the kernel-v4 description.
  • Add procedure KernelAlarms.Rearm, analogous to Alarms.Rearm.

Library Modules lib/2.1

Exceptions

  • Rename GetIntStatus to GetExcNo.
  • RP2350: fix defect in implementation of GetExcNo.

MCU2

  • Add CONST for top, high, medium, and low exceptions priorities, equally named for RP2040 and RP2350, but with different values, since the RP2040 supports four priorities, and the RP2350 eight.
  • RP2350: add assembly code CONSTs for working with BASEPRI.

Remarks

  • The whole kernel code and the documentation are still in a functioning mess. Stay tuned.

Example Programs

  • K4print: example and test program for the new serial terminal output driver.
Updated: 2025-08-23