Commit Graph

22 Commits

Author SHA1 Message Date
Jonathan Bell
866f702af3 Add FreeRTOS as a submodule
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2022-08-18 16:00:28 +01:00
Jonathan Bell
372072a706 probe: default to CMSIS-DAP v2
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2022-08-18 16:00:28 +01:00
Jonathan Bell
9ef03bc3c8 CMSIS: revert to v5.7.0 for v2.0.0 of DAP firmware
Maintain compatibility with downstream openocd.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2022-08-18 16:00:28 +01:00
Jonathan Bell
aabe217a68 probe: add missing data-phase recovery in ACK WAIT or FAULT states
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2022-08-18 16:00:28 +01:00
Jonathan Bell
ee4d575bf7 probe: allow for selection of CMSIS-DAP v1 and v2 protocols
CMSIS-DAP v1 is a pseudo-HID device which allows "driver-less" use on
Windows. DAP v2 is a vendor-specific bulk protocol, so there needs to be
a companion MS OS 2.0 descriptor for the debug interface with
DeviceInterfaceGUID set to the Keil GUID.

Allow for selection between these and the openocd protocol at compile time.

Parts of the v1 implementation are derived from the DapperMime project, so
add credit where due.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2022-08-18 16:00:28 +01:00
Jonathan Bell
592b8da71a probe: add CMSIS-DAP PIO-driven implementation
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>
2022-08-18 16:00:28 +01:00
Jonathan Bell
02b31998d5 probe: fix SWDIO line idle state and export low-level functions
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2022-08-18 16:00:28 +01:00
Jonathan Bell
908bfbd4fb Add CMSIS DAP files to the build (they do nothing yet)
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2022-08-18 16:00:28 +01:00
Jonathan Bell
97b99879e3 Add CMSIS as a submodule at 5.9.0
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2022-08-18 16:00:28 +01:00
Jonathan Bell
33ed0e78dc cdc_uart: performance improvements
This commit fixes a few deadlock scenarios and makes cdc_task more
amenable to being called in a threadable context. Full-duplex is now
reliable at fast and slow baudrates.

There is still an annoyance where if the CDC interface is deactivated
while the UART RX is still active, buffers queued to the endpoint
hardware aren't flushed. This is a tinyUSB interface bug.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2022-08-18 16:00:28 +01:00
Liam Fraser
fcb1faba10 Create README.md
Add basic readme
2022-07-22 11:19:40 +01:00
Liam Fraser
3f8b2ce16f Add usb device enumeration fix 2022-07-22 10:35:01 +01:00
graham sanderson
164eaa5b80 add pico.h to fix build 2021-06-03 15:18:41 -05:00
newbrain
0ff8b5530b Hardware target reset support 2021-02-23 15:45:12 +00:00
Liam Fraser
218bd5f50a Add MIT license to all source files 2021-02-03 09:29:20 +00:00
Liam Fraser
67f5af124a Disable all debug output so any uart can be used 2021-02-03 09:25:45 +00:00
Liam Fraser
49a80059b8 Fix file permissions 2021-02-03 09:24:46 +00:00
Liam Fraser
4bcaaa915d Add missing #endif 2021-02-03 09:23:04 +00:00
Andrew Scheller
c29510f567 Move selection of UART interface and baudrate to picoprobe_config.h (#7)
Co-authored-by: Liam Fraser <liam@raspberrypi.com>
2021-02-03 09:22:09 +00:00
newbrain
0fe6a09d8b Unique serial numbers for picoprobe (#8)
Co-authored-by: newbrain <newbrain@tiscali.it>
Co-authored-by: Liam Fraser <liam@raspberrypi.com>
2021-02-03 09:19:04 +00:00
a-pushkin
8ab7ebcabe Leverage built in LED (#6)
* turn on LED on startup and blink for frequent activity
2021-02-03 09:14:55 +00:00
graham sanderson
f67a57d2ba Initial Release 2021-01-20 17:47:12 +00:00