FASTSHIFT opened a new pull request, #20573: URL: https://github.com/apache/nuttx/pull/20573
*Note: Please adhere to [Contributing Guidelines](https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md).* ## Summary Add `CONFIG_ARMV7M_NOTE_ITM`, a note driver that writes the sched notes to an ITM stimulus port. The notes leave the chip through the trace sink the debugger set up (SWO or TPIU), so no RAM buffer or console is needed on the target, and they share the time base of ETM/DWT trace if that is enabled. The payloads of the port, concatenated in order, are the note byte stream. The ITM is enabled by the debugger; if it is not, the driver does nothing. If the port FIFO stays full, the rest of the note is dropped after `CONFIG_ARMV7M_NOTE_ITM_TIMEOUT` polls. The second commit enables it in `nucleo-f429zi:trace` so CI builds it. This needs `DRIVERS_NOTE_MAX=2` together with noteram, and `ARMV7M_NOTE_ITM` is now counted in the check in `note_driver.c`, so a too small value is a build error instead of a failed registration at boot. ## Impact - New option, default n. No change for existing configs except `nucleo-f429zi:trace` (two lines in the defconfig). - Without a debugger attached the cost is two register reads per note. - With a slow sink (SWO at a low baud rate, many context switches) the CPU can spin with interrupts off for up to the timeout per word. ## Testing Build: - `nucleo-f429zi:trace` builds and links. - `nucleo-h743zi:nsh` with `SCHED_INSTRUMENTATION_SWITCH` and this option builds and links. - With `DRIVERS_NOTE_MAX=1` and noteram the build stops at the new `#error`. - checkpatch is clean. Hardware: - Board and debugger: TODO (SWO or TPIU) - Host: TODO (OS, `arm-none-eabi-gcc` version) - Ran `ostest` and captured port 1 on the host. TODO: what was checked ``` TODO: capture / decoded notes ``` -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
