Possible solutions: use nested data structures on target, but this requires target memory. GDB can host arrays so could implement memory which could host a low level VM + GC, but that seems a bit far-fetched.
Conversation
This needed a break apparently... I know where to go next: build something with RTIC first, then see how to mesh the state machine compiler with something that maps to RTIC or some stripped down C version of the RTIC idea (use Cortex M NVIC as a scheduler).
2
Replying to
I'm building a hobby computer + OS, using RTIC as the kernel. One of the first steps is going to be to port my Forth to it to use as a shell.
If you want something less serious to work with, happy to send you some hardware and get you started :)
1
1
Replying to
What hardware is is based on? I might have something in the drawer that can run your software.
1
1
Replying to
nRF52840! Specifically (right now) the Adafruit Feather Express, but any nRF52840 based dev kit could probably work, and honestly anything cortex-m wouldn't be hard to support.
Right now it mostly uses USB, but a regular UART should be possible to support too.
1
Replying to
Hah! That means I need to write some docs :)
The kernel is here: github.com/jamesmunns/pel,
You'll need to install the probe run tool: crates.io/crates/probe-r first
And then you should be able to "cargo run --release" to flash the kernel
Warning:
1
1
I'm still hammering out the syscall interface, and haven't set up usermode, program loading, or loading, and chances are you'll have a slightly different QSPI chip, and will need to modify the pin mapping to suit your board.
It doesn't DO much yet :)
github.com/jamesmunns/pel
1
BUT! If all goes well, you should be able to run this tool (while the kernel is running and attached as a USB device), and see it loop-backing serial information sent on "virtual port 0" to both "virtual port 0" and "virtual port 1" (which is a COBS framed transport over serial)
1
You... honestly might want to wait like a week, until more works, but if you want to dive in now, go for it! I'm happy to answer any questions you have, and having someone else playing in the sandbox is always fun :)
2
Replying to
I have a LOT of experience with half working software :-)
Replying to
Are you on Matrix? If so, feel free to drop by this room, where I usually hang out, and this would be on topic :)
1

