Closed MathiasKoch closed 4 months ago
The simple way to do it is to have one "binary" crate and one "firmware" crate. In the firmware crate you can have testing and everything as normal as this crate does not have to be compiled with the thumb targets.
I actually started working on this at one point. There's an example of running unit tests on your dev machine in the examples directory.
https://github.com/rust-embedded/cortex-m-quickstart/blob/master/examples/test_on_host.rs
This is a good way, but if you do want to use the .cargo/config
file so cargo build
uses the embedded target directly it can become annoying.
I have a reference here if one wants to compare the 2 approaches and then choose the one that the person likes the best: https://github.com/korken89/rust-embedded-example-project
Would it be possible for someone with experience in such, to add some examples of adding unit testing and possibly integration testing to a project like this?
Maybe even using https://github.com/japaric/utest to allow qemu emulations?
I myself is struggling a lot to work it out, but i don't think it is very simple.. Or at least not very well documented.