| Age | Commit message (Collapse) | Author |
|
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
|
|
Makes it a little easier for me to manually inspect binaries and figure
out their targets.
|
|
Local numbered labels won't appear in the ELF file. This makes debugging
a little easier.
|
|
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.
|
|
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.
|
|
Implemented by following the reference manual, and tested on an
MIMXRT1160EVK. The target adopts all of the same limitations as the 1170
target.
|
|
|
|
The 1180 family uses a different boot header than previous families. The
header is generated to support the default configuration where hash and
signature errors are ignored.
The XIP `__pre_init` strategy is still used, more for ease of getting
something running than because of any known problems with the boot ROM's
implementation of loading images to different memories.
The boot ROM for the 1180 does not appear to allow the entry point to
lie outside the (loaded or execute-in-place) image, so a new `.xip`
section is added after the vector table to put the address inside the
image while keeping VMA=LMA. This could cause problems for tools that
manipulate binaries based on section names.
|
|
No need for us to set VTOR and the stack pointer anymore.
|
|
|