Hi @JosseVanDelm! Thanks for your post. This is indeed a very interesting direction to take TVM/microTVM.
Since made the blog post we’ve been working to improve µTVM portability, and have made significant changes to the way µTVM launches code. See µTVM roadmap. We are just about finished with that.
I’m actually currently working on syncing the microtvm-blogpost-eval repo up to work with main. I wish I could give you simple instructions but the changes are fairly complex. I should have that finished this week, though some PRs needed are not yet merged into TVM.
To get GAPduino working, you’d need to be able to compile µTVM RPC server and run it using a UART. We have code that uses Zephyr to do this on a variety of targets (and some RISC-V, though not yet tested), but I don’t know that Zephyr supports GAPduino. You could take a look at how we did the Zephyr integration.
We don’t yet have good documentation for porting µTVM to new platforms. This is another thing I’m working on and hope to address soon. I’d point you at two things that show the new flow to see if you can get started:
-
zephyr_test, which shows a minimal example of testing a single µTVM function on a Zephyr board -
test_crtwhich exercises just the RPC server using stdio as a UART replacement.
apologies if we are a bit light on documentation. feel free to ask more questions and i’ll try and answer as best I can, and i’ll let you know when documentation is improved (in the next few weeks, I think).
Andrew