For high data rate applications it's desirable to use hardware flow control
to prevent characters getting dropped when faced with the vagaries of RTOS
and kernel latencies. Adding PROBE_UART_HWFC enables the UART's CTS/RTS pins,
and SET_LINE_STATE messages no longer affect the RTS pin.
* Fix up target reset functionality.
- Correct GPIO direction logic error in `probe_assert_reset`
- Remember to de-assert nRESET on deinit
* board_pico_config: use pin 1 for reset
This pin is normally used for UART debug output, but that is
undocumented. Repurpose it as reset output.
Signed-off-by: Sean Cross <sean@xobs.io>
* main: move stdio_uart_init() before DAP_Setup()
When using GP1 as a reset line, this is necessary to overwrite the
stdio function call from reusing the pin as a debug output.
Signed-off-by: Sean Cross <sean@xobs.io>
---------
Signed-off-by: Sean Cross <sean@xobs.io>
Co-authored-by: Sean Cross <sean@xobs.io>
OpenOCD is fond of calling PORT_OFF and PORT_SWD_SETUP frequently, which
played havoc with caching both adapter khz and the DAP delay.
Revert to caching just the DAP delay and reset it when PORT_OFF is called.
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
CMSIS-DAP implementations explicitly use CPU bitbash to control SWD and
SWDIO, but we can do better. Transfers are handed off to PIO in phases,
which gets us deterministic clock timing as well as freeing the CPU up
for other tasks.
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>