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

Fix generated code for MSP430 atomics #688

Merged
merged 3 commits into from
Oct 29, 2022

Conversation

YuhanLiin
Copy link
Contributor

Rebased from #685

Update CHANGELOG

Run MSP430FR2355 in CI with nightly flag

Replace msp430-atomic with portable-atomic

Stop using alternate targets in CI and use portable-atomic in CI script

Update MSP430 deps and use portable-atomic in svd2rust-regress
@rust-highfive
Copy link

r? @adamgreig

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-tools labels Oct 29, 2022
@burrbull
Copy link
Member

SVD link 404 error

@burrbull
Copy link
Member

bors r+

@bors
Copy link
Contributor

bors bot commented Oct 29, 2022

Build succeeded:

@bors bors bot merged commit 4afaf47 into rust-embedded:master Oct 29, 2022
@YuhanLiin YuhanLiin deleted the fix-msp430-atomic branch October 29, 2022 22:35
@YuhanLiin
Copy link
Contributor Author

Note: Now that I've switched the atomic library over to portable-atomic, we might be able to port this feature over to other targets.

@burrbull
Copy link
Member

Note: Now that I've switched the atomic library over to portable-atomic, we might be able to port this feature over to other targets.

it sounds interesting

@adamgreig
Copy link
Member

I haven't compared them in detail, but for other targets it might make more sense to use atomic-polyfill which builds on critical-section and is quite widely used in other embedded Rust projects. portable-atomic can only use a global disable-interrupts to simulate CAS operations (when enabled with --cfg portable_atomic_unsafe_assume_single_core), while atomic-polyfill uses critical-section which allows pluggable implementations (and is used in svd2rust for Peripherals::take()).

At the moment I don't think atomic-polyfill supports MSP430 at all, so it's not an option here (yet?).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-tools
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants