tock / libtock-rs

Rust userland library for Tock

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Microbit examples not working

0ble opened this issue · comments

commented

Trying to run some of the examples on microbit using a layout file from before the stack_size change. Tried increasing the stack in the microbit main file, but that does not seem it. Potentially relevant: grant_size = alloc_size on App Status from the process_standard message. Still working with c examples (using openocd for both).

Which kernel version and libtock-rs version are you using? I'm trying to rule out a Tock 1.0 vs. 2.0 issue.

commented

Thanks for the quick response -- still using 1.0 and libtock-rs (0.2.0)

Tock release 1.6 (the last 1.x release) does not have Microbit support, as far as I can tell. What commit are you using for the Tock kernel?

commented

8b8c54aeec62322a9366e3f87a772775da5770a9 0c8c7127a0e820966a5336c79d961846765bd926 (1.6).

commented

In case unclear, working fine with libtock-c, and, worked fine with libtock-rs pre stack_size change (where stack_size change just for reference that libtock-rs worked from 074fa7d, do not think this is it).

8b8c54aeec62322a9366e3f87a772775da5770a9 (1.6).

I don't see a commit with that ID: tock/tock@8b8c54a.

Oops 0c8c7127a0e820966a5336c79d961846765bd926 apologies

That is a Tock 2.0 kernel. The version numbers in the repository have not been updated, which I realize may be misleading.

The master branch changed from Tock 1.0 to Tock 2.0 when tock/tock#2446 was merged. You'll need to use a kernel version from before that. It appears the Microbit was added a couple months before that was merged, so you may be able to find a working version.

commented

The version numbers in the repository have not been updated, which I realize may be misleading.

oh okay yeah the logs from process_standard said 1.6 so that is why.

so microbit is not supported for 2.0? Then why does it work with libtock-c same version? edit: okay so these new PRs that say "update BOARD" are to update that board to support 2.0?

so microbit is not supported for 2.0?

It looks like it will be supported in Tock 2.0, when Tock 2.0 is released.

I don't know much about libtock-c, as I have barely worked with it. I'll let someone else answer there.

commented

Okay, thanks! Out of curiosity are there non-FPGA boards that do already work with libtock2?

Okay, thanks! Out of curiosity are there non-FPGA boards that do already work with libtock2?

As far as I am aware, libtock2 has only been tested on HiFive1 rev b in QEMU, not on any physical boards. However, it should theoretically work on any board. The issue is not brokenness, but limited functionality (the only system call that has been implemented is Command, and no drivers have been implemented).

commented

Assuming some basic allow/subscribe, do you have any suggestions for writing user land drivers? Thinking about porting some of the ones that are in libtock-c for example

Do you mean for the Tock 2.0 libtock-rs? No, I'm still trying to get the basic framework in place. I'm planning to write a document on how to write a libtock-rs driver once everything is in place.

libtock-c has already moved to target the 2.0-alpha interface, which is why the examples there work against the 2.0-alpha kernel commit that you were using. Apologies for the version confusion, hopefully that should be resolved soon once the official 2.0 release happens. It will still be a little while after that before libtock-rs is updated to be usable with Tock 2.0

commented

Do you mean for the Tock 2.0 libtock-rs

Yes.

I'm planning to write a document on how to write a libtock-rs driver once everything is in place.

Awesome.

Apologies for the version confusion, hopefully that should be resolved soon once the official 2.0 release happens

No worries. Thanks to both of you for responding quickly!