thirtytwobits / nanaimo

A delicious Python treat that makes on-target testing sweet and satisfying.
MIT License
39 stars 5 forks source link

Create pyOCD flashing fixture #106

Open flit opened 4 years ago

flit commented 4 years ago

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.

scottdarch commented 4 years ago

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.