Comments (2)
Cool that you want to contribute!
At the moment we are basically reading and implementing the ADI v5.2 spec.
We are experimenting with what works best and what path we want to follow.
There is a lot of things (API related) that are not optimal yet and need improvements.
Basically what works is basic reading of memory locations (ROM and RAM).
Writing RAM works; not so much for ROM tho. ROM is a bit tricky, as it is different for each and every chip.
Also, we have not ventured into debug capabilities like setting breakpoints, halting, stepping, etc.
If you have something specific you would like to implement or you have general suggestions on the code, you are very welcome to just drop a PR. If you wanna make sure it's OK beforehand, just ask real quick on that specific thing. But we basically accept any reasonable contribution as we are still at the very beginning.
@therealprof has a an also very basic implementation of a REPL, where he tries out the ergonomics of the probe-rs
API and we reiterate if it sucks. You can have a look here: https://github.com/therealprof/probemeister
edit: I for example am working on reworking, how we do device enummeration. Up until now, we basically only supported the STLink in basic fashion. But more probe support means more folks and also, @therealprof would rather use a DAPLink and has an implementation for that in the makings. So we need to generalize probe discovery.
Before I worked on target discovery via ROMtables, but there seems to be some issue related to the STLink, so I put this on halt for now.
Just to give you a general idea what we are working on atm.
You can also find us on mozilla#rust-embedded if you want to chat. Hope to find you there soon; otherwise GH issues is ok too ;)
from probe-rs.
Ok, so we made huge progress and can now fully read ROM tables with a DAPlink.
We also have preliminary support for DebugPort features.
Furthermore I am close to properly flashing a ROM image into the flash =)
So if you still got too much time and interest, feel free to pick one of the v 0.1.0 milestone issues :)
As usual, questions can be asked on GH or IRC.
from probe-rs.
Related Issues (20)
- probe-rs run fails with stack configuration error on STM32G431C6Tx HOT 1
- Cant flash ESP32-S2 HOT 14
- Cant flash ESP32-C2 HOT 13
- Can't Flash STM32F750N8Hx HOT 18
- Panic in `jtag_dtm.rs` when using `probe-rs` in combination with `ESP32-C3` and `ESP-Prog` HOT 29
- cargo-embed produces broken output, probe-rs does not HOT 11
- Register values are corrupted during step execution in Armv8a
- stm32f105rb works with probe-rs version 0.21.1 but not with 0.23.0 HOT 2
- Flashing `esp32-s3` with `probe-rs` causes flash algorithm verification fail HOT 14
- embedded-test: `--skip` conflicts with libtest_mimic HOT 1
- probe-rs info Failed to open the debug probe. HOT 14
- `probe-rs run test` fails on ESP32
- probe-rs download cannot download elf to RAM memory HOT 1
- Memory leak when running embedded-test HOT 4
- RP2040 - Core gets stuck after reflashing HOT 2
- RP2040 Can't attach to running probe HOT 2
- Allow writing to bootloader segments by modifying MCU's fuses HOT 1
- cargo embed rtt BinaryLE channel does not work properly HOT 1
- JTAG-lock-pick Tiny 2 support HOT 2
- probe-rs run leaves RTT in blocking mode when disconnecting HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from probe-rs.