bloombloombloom / Bloom

A debug interface for AVR-based embedded systems development on GNU/Linux.
https://bloom.oscillate.io/
Other
64 stars 3 forks source link

RISC-V #96

Open navnavnav opened 7 months ago

navnavnav commented 7 months ago

More to follow

navnavnav commented 7 months ago

I'm starting with some RISC-V targets from the QingKe V4 series from WCH, and the WCH-LinkE debug tool.

First set of targets that I want to support:

Target

CH32X035C8T6 CH32X035R8T6 CH32X035G8U6 CH32X035G8R6 CH32X035F8U6

That list will likely grow before the next release.

I've made a lot of progress on this over the last few weeks. The WCH-LinkE debug tool driver is complete. The generic RISC-V target driver (implementing the RISC-V debug specification) is almost complete.

But there's a lot more to do:

There are some limitations in the RISC-V debug spec implementation that I want to note here:


My time will be much more limited from tomorrow onwards, so development will slow down significantly, but I'd like to include RISC-V support in the next feature release (v1.1.0). No idea when that will be.

navnavnav commented 4 months ago

Quick update on this:

I've spent a number of months revising Bloom's TDF format, so that it can better accommodate targets from other families. This includes refactoring all TDF processing build scripts and updating all 260 AVR8 TDFs to conform to the new format, which was a mammoth task.

The next step is to refactor Bloom's TDF parsing code to support the new format. Then I'll be creating new TDFs for the WCH RISC-V targets listed in the previous comment.

There's still a lot more to do, but I'm getting through it. Still hoping to introduce RISC-V support in v1.1.0. Still have no idea when it will be ready.