Zephyr OS running on the small core

Here’s a blinky app for the small core using Zephyr OS: GitHub - kinsamanka/milkv-zephyros: Zephyr OS running on Milk-V Duo secondary processor

A pre-compiled binary is available here.

Make sure to use the latest Arduino image in order to run this binary.

To test, just copy zephyr.elf to /lib/firmware directory and issue the following commands:

echo stop > /sys/class/remoteproc/remoteproc0/state
echo -n zephyr.elf > /sys/class/remoteproc/remoteproc0/firmware
echo start > /sys/class/remoteproc/remoteproc0/state

If successful, the onboard led will blink and the uart4 tx (pin 4) will print the current led state.

Enjoy!

3 Likes

This looks interesting, thank you for sharing

thank you for sharing

This is what I was waiting for! Thank you so much for sharing!

The small core can now communicate using the rpmsg framework.

The sample code can be found under the openamp directory. This is a modified version of the zephyr ipc sample.

Note that this example needs updated kernel modules. The sources can be found here.

A pre-build sd image is available here.

I have flashed the release milk-v duo sd image (milkv-duo_sdcard.img), however the uart cant output the normal info, the Bps is 115200, is there anything wrong with my step?

Is the output garbled or no output at all?

If garbled, try a different uart adapter.

1 Like

the output garbled, it is interesting, reflashed the sd image and changed another uart adapter it works, and changed uart adapter back again, it also worked, anyway thks for your advice.

Here’s the OpenEmbedded/Yocto layer that uses the updated remoteproc driver.

The zephyr sample programs can now be built using Yocto. (The blinking led is run from the secondary core using Zephyr OS)

1 Like