DAPLink
pyOCD
DAPLink | pyOCD | |
---|---|---|
5 | 2 | |
2,161 | 1,056 | |
1.5% | 1.8% | |
6.1 | 6.9 | |
4 days ago | 3 days ago | |
C | Python | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
DAPLink
-
At what abstraction level does the USB MSC class operate?
If you just want to transfer data without necessarily using a filesystem on your storage device, check out daplink. It implements a virtual FAT filesystem over USB so you can copy over firmware updates easily.
-
DAP-Link Confusion
From what I've found that DAP-Link is actually an ARM Mbed open source project to basically be similar to STM32 ST-Link: https://github.com/ARMmbed/DAPLink
-
What are some interesting uses of WebUSB you have come across?
It's used for flashing the BBC micro:bit in both Microsoft MakeCode (makecode.microbit.org) and the micro:bit Python Editor (python.microbit.org). MakeCode uses it for lots of other devices like MakeCode Arcade too https://arcade.makecode.com )
It's amazing for students to be able to quickly get a program they've written in their browser onto a device in their hands that can respond to and interact with the real world.
Also great because with MicroPython and the Python Editor you get a standalone Python environment including REPL that's completely isolated from the PC - schools love it because no matter what the students do they're not going to break the host PCs.
(The firmware that implements web USB on the micro:bit's USB interface chip is open source, DAPLink https://github.com/ARMmbed/DAPLink - poke
-
The design approach to the Zig programming language
https://github.com/ARMmbed/DAPLink/blob/main/source/daplink/...
Note the nested do { do { } while (); if (err) break;} while(); if (err) break;
Should that code be rewritten? Most certainly it should, and it should be given a proper Error type. However, when you are first porting it, you need to match semantics or you get a bunch of off-by-one, missed error, or missed end of stream bugs. And, as you point out, the Rust loop{} equivalents suck.
We've all written suboptimal code, and we all live in a suboptimal world. :)
-
How to flash an arm microcontroller on Linux?
I checked for DAPLink, but this seems to require keil, based on what I read in the readme.
pyOCD
-
ARM Cortex M0+ SWD Programmer (for volume production)
I'd look at using pyocd flash which works w/ a lot of hardware : https://pyocd.io/docs/debug_probes.html
-
How to flash an arm microcontroller on Linux?
I would also suggest pyOCD, has fewer probe support, but could be more straightforward
What are some alternatives?
pico-debug - virtual debug pod for RP2040 "Raspberry Pi Pico" with no added hardware
PlatformIO - Your Gateway to Embedded Software Development Excellence :alien:
psdb - Python flasher and gdb server for various ARM debug probes.
NXP-MCUBootUtility - 恩智浦全系列MCU安全启动一站式工具(研发模式),基于Python2.7.15+wxPython4.0.3
probe-rs - A debugging toolset and library for debugging embedded ARM and RISC-V targets on a separate host
remote-debugger
epsilon-sample-app-rust - A sample Rust app for the NumWorks graphing calculator
libopencm3 - Open source ARM Cortex-M microcontroller library
ig-debugheap - Debug heap useful for tracking down memory errors.
bazel-embedded - Tools for embedded/bare-metal development using bazel