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]

Reply via email to