thirtytwobits/nanaimo

Create pyOCD flashing fixture

flit opened this issue · 1 comments

flit commented

Very interesting project! I will be keeping an eye on Nanaimo and will pass it along to some folks at Arm.

Also, I'd like to suggest you take a look at [pyOCD][https://github.com/mbedmicro/pyOCD]. It provides a Python API for managing devices over SWD via a USB debug probe, plus related command-line tools (e.g., gdbserver). It doesn't support JLink yet (most due to limited benefit given Segger's existing tools, and no user requests), but does support CMSIS-DAP and STLink. So many of the boards you are probably running tests on already have a compatible on-board debug probe. In addition, we could collaborate on adding JLink support to pyOCD, so you only need one API and instrument to support a wide range of probes.

Thanks for passing along this project to your contacts. I'd love to see a community emerge around this framework and a contribution integrating pyOCD or any other popular tool would be welcome. I have a branch that declares an Alpha for Nanaimo (feature/99) which I'll merge into master next week and hope to focus more on integrations after this milestone is reached. To date we've focused on Nanaimo's architecture and API so integrations like the JLink and Saleae fixtures are just placeholders with minimal functionality.

This project targets users that are professionals looking for more accessible and hackable test infrastructure than the very closed and expensive hardware and software platforms which have dominated test and measurement equipment to date. I see pyOCD having a similar mission in promoting an open and hackable interface to debuggers and bootloaders. It would fit well with Nanaimo's intended design.