Twitter | Search | |
Jorge Aparicio
A sneak peek at my Rust experiments in single source, no-std asymmetric multiprocessing! The clip shows the source of a dual core application from which I build two binaries using a Cargo subcommand Then I load each binary on a different Cortex-R5 core and run them 1/
Reply Retweet Like More
Jorge Aparicio 7 Dec 18
Replying to @japaric_io
In the application the two cores increase the value of a shared variable in turns. Access is synchronized using a semaphore which also resides in shared memory. Here the target cores are R5s but the approach can be applied to heterogeneous devices e.g. M4F + M0+. 2/
Reply Retweet Like
Jorge Aparicio 7 Dec 18
Replying to @japaric_io
Trickiest bit: ensuring that all binaries have the same layout for shared memory. e.g. `SHARED` must have the same address on all binaries regardless of optimizations. Solution: `cargo-amp`! It does a custom build process and then checks that all binaries look correct. 3/3
Reply Retweet Like