Skip to content

Start 0.2 development#25

Merged
mciantyre merged 6 commits into
mainfrom
dev-0.2
Sep 23, 2025
Merged

Start 0.2 development#25
mciantyre merged 6 commits into
mainfrom
dev-0.2

Conversation

@mciantyre

Copy link
Copy Markdown
Member

A few commits that I'm considering as a foundation for a 0.2 release. See commit messages for details.

Closes #6.

I'm considering this a breaking change. I'll try to introduce new
sections that rely on the user's `unsafe` keyword for linker placement.

Rust 2024 has different opinions on format, and clippy has new thoughts.
Let's adopt them.
Attach the version information in a symbol that's generated by the host.
Then, expect the same symbol exists in the embedded target. If the
linker can't resolve this, then the host and target should be
incompatible. I'm overloading the __imxrt_family symbol for this.
Local numbered labels won't appear in the ELF file. This makes debugging
a little easier.
Makes it a little easier for me to manually inspect binaries and figure
out their targets.
Make it easier to write loops for other sections. Since the macro
expands to the same instructions that we previously had, we can show
that a binary is equivalent before and after this change. Let's use the
binaries generated in this test suite.

Before this change, run the bash script below. Re-run this script with
this change, and show that the hashes for the binaries are the same.

    cargo clean
    cargo test inspect_elf -- --include-ignored --exact imxrt1010evk imxrt1170evk_cm7 imxrt1170evk_cm7_nonboot teensy4 teensy4_fake_dcd 2> /dev/null 1>/dev/null

    for test_binary in imxrt1010evk imxrt1170evk-cm7 imxrt1170evk-cm7-nonboot teensy4 __dcd;
    do
        cat target/${test_binary}/thumbv7em-none-eabihf/debug/examples/blink-rtic | sha256sum -;
    done
@mciantyre
mciantyre merged commit 439036a into main Sep 23, 2025
7 checks passed
@mciantyre
mciantyre deleted the dev-0.2 branch September 23, 2025 12:02
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.

Warn of dependency, build-dependency mismatch

1 participant