Need Help regarding libtock-rs on STM32 Nucleo F429zi
Hello, I have been trying to use Tock OS on my STM32 Nucleo F429zi Microcontroller, but so far I've only been able to flash the example code from libtock-c and not the code from libtock-rs. I tried it in Rust with compiling the blink example (I ran the command "make nucleo_f429zi EXAMPLE=blink" in libtock-rs) and then compiled the Board (under tock/boards/nucleo_f429zi I ran make, make install and then make program) but the Rust example did not turn the LEDs on. And I also found the following Issue on GitHub: https://github.com/tock/tock/issues/2811 Which is not about my Board, but made me realise that libtock-rs might not be ready for use yet. Furthermore in the Makefile under tock/boards/nucleo_f429zi within the command make program that was listed in the ReadMe.md was also the path to the c-hello example from libtock-c. So what I am getting at is, is it possible to use the examples in libtock-rs or do I need to write my examples in C to use Tock OS for my board? thanks in advance for your work. kind regards, Jahn Jantos
Hi Jahn, It sounds like you did all of the steps correctly, and it's promising that the libtock-c app works. Do you see the "Initialization complete. Entering main loop" message with `tockloader listen` or similar serial terminal? https://github.com/tock/tock/blob/740a3897a00ed4fa3020a554abeb51fb5869ade2/b... The process console is enabled, so you should be able to interact with the board via the serial terminal. Specifically, entering the "list" command should list the currently enabled processes. One challenge with using libtock-rs is that we do not have the same PIC support that we do on libtock-c. So, it's possible that the libtock-rs app is being compiled for a fixed address which does not line up with where the app is actually located on the board (either in flash or in RAM, or both). In that case, `tockloader list` would should the app as being installed, but the process console would not show the process as active because it cannot be loaded. It is also possible to enable the `debug_load_processes` config flag ( https://github.com/tock/tock/blob/master/kernel/src/config.rs#L92) to see more information when processes are loaded. If an address mismatch is the issue, the fix is to modify the addresses here ( https://github.com/tock/libtock-rs/blob/master/build_scripts/src/lib.rs#L19) to where the app is actually running (PR would be welcome!). If that isn't the issue, we can keep debugging. - Brad On Thu, Aug 22, 2024 at 10:04 AM Jahn Jantos via Devel < devel@lists.tockos.org> wrote:
Hello,
I have been trying to use Tock OS on my STM32 Nucleo F429zi Microcontroller, but so far I've only been able to flash the example code from libtock-c and not the code from libtock-rs. I tried it in Rust with compiling the blink example (I ran the command "make nucleo_f429zi EXAMPLE=blink" in libtock-rs) and then compiled the Board (under tock/boards/nucleo_f429zi I ran make, make install and then make program) but the Rust example did not turn the LEDs on. And I also found the following Issue on GitHub: https://github.com/tock/tock/issues/2811 Which is not about my Board, but made me realise that libtock-rs might not be ready for use yet. Furthermore in the Makefile under tock/boards/nucleo_f429zi within the command make program that was listed in the ReadMe.md was also the path to the c-hello example from libtock-c. So what I am getting at is, is it possible to use the examples in libtock-rs or do I need to write my examples in C to use Tock OS for my board? thanks in advance for your work.
kind regards, Jahn Jantos
_______________________________________________ Devel mailing list -- devel@lists.tockos.org To unsubscribe send an email to devel-leave@lists.tockos.org
participants (2)
-
Brad Campbell
-
Jahn Jantos