Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: Select heapless-crate with features for GBA support #89

Merged
merged 1 commit into from
Aug 20, 2024

Conversation

Teufelchen1
Copy link
Contributor

Hey 🦋

This change is needed to compile RIOT/examples/rust-hello-world for the GBA.
I am aware that this is not the right way to do it but I am not yet proficient with Rust yet, so... please help! :)

The portable-atomic documentation even mentions the GBA.
The version bump of heapless is needed as the feature is not yet present in 0.7.x.

@chrysn chrysn added the wait-for-breaking-0.9 Change that is held for the 0.9 release, for it is a breaking change label Apr 15, 2024
@chrysn
Copy link
Member

chrysn commented Apr 15, 2024

Unfortunately heapless is part of our public API, but judging from the number of issues/PRs with the wait-for-breaking label, now is probably the time for riot-wrappers 0.9!

@chrysn
Copy link
Member

chrysn commented Apr 15, 2024

I'm a bit uneasy about adding the assertion on a single core (simply because while RIOT can't do multicore now, we'd miss that when changing that), but I think there's a better way: portable-atomic can also work with critical-section, and we have support for that – and given that users of our irq_off() rely on all the world to stop, I think it's safe to say that whatever happens, irq_off will stop interrupts as well as other cores.

@chrysn chrysn mentioned this pull request Apr 15, 2024
@chrysn
Copy link
Member

chrysn commented Aug 19, 2024

Merged into the v09 branch. We can still provide a better atomic implementation later, but for now single-core is correct, and it was the API breakage that held it up.

@chrysn
Copy link
Member

chrysn commented Aug 19, 2024

I had to revert the merge because the single-CPU feature appears to break native.

Let's keep this open across the v09 merge – the underlying issue of updating heapless is resolved, a workaround of enabling the heapless feature in some other crate should work for the time being, and let's look on for how to do this in a way that works on all boards.

@chrysn chrysn merged commit b644ff6 into RIOT-OS:main Aug 20, 2024
5 of 59 checks passed
@chrysn chrysn mentioned this pull request Aug 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wait-for-breaking-0.9 Change that is held for the 0.9 release, for it is a breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants