bazel-embedded
DAPLink
Our great sponsors
bazel-embedded | DAPLink | |
---|---|---|
1 | 5 | |
93 | 2,145 | |
- | 2.1% | |
2.7 | 6.5 | |
3 days ago | 2 months ago | |
Starlark | C | |
MIT License | 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.
bazel-embedded
-
What build tool do you use and why?
Woah! I just stumbled onto this: https://github.com/bazelembedded/bazel-embedded.
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.
What are some alternatives?
pyOCD - Open source Python library for programming and debugging Arm Cortex-M microcontrollers
pico-debug - virtual debug pod for RP2040 "Raspberry Pi Pico" with no added hardware
rtic - Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers
tock - A secure embedded operating system for microcontrollers
PlatformIO - Your Gateway to Embedded Software Development Excellence :alien:
stlink - Open source STM32 MCU programming toolset
NXP-MCUBootUtility - 恩智浦全系列MCU安全启动一站式工具(研发模式),基于Python2.7.15+wxPython4.0.3
cortex-m-quickstart - Template to develop bare metal applications for Cortex-M microcontrollers
remote-debugger
libopencm3 - Open source ARM Cortex-M microcontroller library
ig-debugheap - Debug heap useful for tracking down memory errors.