Skip to content

Conversation

@blkt
Copy link

@blkt blkt commented Sep 3, 2025

This change updates cortex-m dependency as well as svd2rust, which required updating xtask source code too. Effectively, svd2rust was the biggest update in terms of dependencies.

This also updates SVD files for all nRF chips to the latest version.

I presume this is going to introduce breaking changes all over the place, so I also bumped the minor version (which is not exactly semver, but it felt arrogant to bump the major).

@blkt blkt marked this pull request as draft September 3, 2025 21:32
@blkt blkt force-pushed the chore/deps-and-svds-bump branch 2 times, most recently from a4786bb to a60f6cb Compare September 3, 2025 21:46
@blkt
Copy link
Author

blkt commented Sep 3, 2025

Please note that there are plenty of warnings like the following

warning: unexpected `cfg` condition value: `critical-section`
    --> pacs/nrf52833-pac/src/lib.rs:1011:11
     |
1011 |     #[cfg(feature = "critical-section")]
     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: expected values for `feature` are: `cortex-m-rt` and `rt`
     = help: consider adding `critical-section` as a feature in `Cargo.toml`
     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
     = note: `#[warn(unexpected_cfgs)]` on by default

I'm willing to fix it, but I'm not very familiar with embedded development and could use some guidance.

I think I fixed the critical-section issue correctly, please let me know.

Also, I understand this PR is just ludicrously huge, so much that any review becomes meaningless, but I'm willing to discuss splitting this up or help in any way the review process, also synchronously if necessary.

@blkt blkt force-pushed the chore/deps-and-svds-bump branch 2 times, most recently from 8bd5119 to ccba521 Compare September 3, 2025 22:17
@blkt blkt marked this pull request as ready for review September 3, 2025 22:21
@9names
Copy link
Member

9names commented Sep 29, 2025

I presume this is going to introduce breaking changes all over the place, so I also bumped the minor version (which is not exactly semver, but it felt arrogant to bump the major).

@blkt Cargo's semver is not precisely like the official semver. Bumping the leftmost non-zero is a major change, which is appropriate for something like this.
See the last paragraph of this doc for more info:
https://doc.rust-lang.org/cargo/reference/semver.html#change-categories

Also, I understand this PR is just ludicrously huge, so much that any review becomes meaningless

You're not wrong. This PR is not possible to review as-is.
At the least, could you please put the files you added as 1 commit, the files you modified as 1 commit, and the autogenerated code last in 1 commit?
That way it's possible to do a per-commit review of the changes you made, and actually discuss those changes in a meaningful way.

@blkt
Copy link
Author

blkt commented Sep 29, 2025

Hey @9names sure, I'll do that, just keep in mind that I work on this in my free time, so it's gonna be during the (late) evening.

@9names
Copy link
Member

9names commented Sep 29, 2025

Cool. I help maintain this project in my free time and I'm statistically unlikely to live in the same timezone as you, feel free to do the work whenever you would like.

blkt added 4 commits October 25, 2025 11:14
This change bumps `cortex-m`, `critical-section`, and build
dependencies `form` and `svd2rust`.
This change bumps `xshell` dependency. It's a minor version update and
some signatures had to change to address the fact that now `Shell` is
not implicitly available to all routines.
This is the result of running `cargo xtask generate`.
@blkt blkt force-pushed the chore/deps-and-svds-bump branch from ccba521 to 74cf24c Compare October 25, 2025 09:41
@blkt
Copy link
Author

blkt commented Oct 25, 2025

Hi @9names I split the code into a few commits, it should make it easier to understand the nature of changes.
The last two commits update SVD files and regenerate code for PACs and are thus massive.

The resulting code for PACs is slightly different from the last iteration for some reason, you can see the old version here.

For future reference, I downloaded SVD files form Nordic Semi website and fixed some minor issue with casing around read-writeonce vs read-writeOnce.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants