knurling-rs / defmt

Efficient, deferred formatting for logging on embedded systems
https://defmt.ferrous-systems.com/
Apache License 2.0
855 stars 79 forks source link

risc-v support for defmt-test #796

Closed t-moe closed 5 months ago

t-moe commented 1 year ago

This PR adds riscv32 support to defmt-test and panic-probe. Additionally it adds the print-log feature to panic-probe.

In a separate PR I will:

t-moe commented 12 months ago

Hei @japaric or @Urhengulas Can you look at this draft?

I've removed the udf instruction to trigger a hard fault and instead use semihosting. (To my knowledge, riscv has no such thing as an udf instruction, to manually trigger a hardfault.) That way we can get support for riscv and later a lot more platforms (see https://github.com/taiki-e/semihosting#platform-support).

BriocheBerlin commented 11 months ago

Sorry this is taking so long. Unfortunately we can't look at this before the week of December 11.

jonathanpallant commented 11 months ago

Hi! Sorry for the delay. The draft looks good in principle - just a few comments.

There are some some CI failures to look at - a loop that doesn't loop, and a changelog update that isn't in the right format.

SergioGasquez commented 8 months ago

Hi! What is the status on this PR?

t-moe commented 8 months ago

@SergioGasquez I'll probably abandon this, as I have created embedded-test now which is much more under our control. Also I feel that the testing framework shouldn't be coupled to whether you use defmt or not.

I'll also create panic_semihosting_abort which does what I tried to do in this PR with panic_probe.

t-moe commented 5 months ago

Abandoning this, as I want to focus on embedded-test (which is now part of probe-rs)