Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
Partially reverts https://github.com/rust-embedded/cortex-m-rt/pull/224
to continue to use a fully-qualified path to `exception`.
|
|
|
|
|
|
|
|
|
|
cortex-m-semihosting
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes https://github.com/rust-embedded/cortex-m-rt/issues/236
|
|
|
|
|
|
|
|
|
|
The currently released version is 0.6.13 but the version in Cargo.toml was still 0.6.11.
This enables cargo-patching in the git repository if other crates need newer cortex-m-rt.
|
|
|
|
This puts most start/end address symbols back into the sections.
Only `__ebss` and `__edata` are kept outside their sections so that
potential user code with external libraries can inject stuff using
`INSERT AFTER .bss/.data` and profit from the .bss/.data zeroing/loading
mechanism. This also leads to the `__sbss` and `__veneer_base` symbols
having the right section type (B not D in nm).
Also the trust zone start and end address are aligned to 32 bytes as per
the requirements. That section does cost up to 28 byte of FLASH due to
that alignment even if empty.
The .rodata start is kep free for the linker to alocate it after .text.
This enables users to inject sections between .text and .rodata and
removes the chance to get overlapping address errors. With this the
linker will by default place .rodata after .text as before.
This commit also adds and exposes a few more stable address start/end symbols
(__[se]uninit, __stext, __srodata) that are usefull for debugging and hooking
into.
See
https://github.com/rust-embedded/cortex-m-rt/pull/287#issuecomment-810017930
for discussion of the issues and description of this compromise solution.
|
|
|
|
|
|
315: Use volatile read for ICSR register r=adamgreig a=lulf
This prevents the compiler from optimizing the read.
Edit: I also added a change to include the 9th bit in the IRQ. I can leave that out if it would break anything.
#314
Co-authored-by: Ulf Lilleengen <ulf.lilleengen@gmail.com>
|
|
|
|
The 9th bit is needed to all 480 interrupts on Cortex-M33
|
|
This prevents the compiler from optimizing the read
|
|
|
|
Previously we always emitted link_section, even though it only had an
effect when our linker script was being used (and only made sense on
cortex-m targets). This breaks building the code for a MacOS target,
which is occasionally useful for running `cargo check` etc.
In the macros crate we don't have the target information available, so
instead we continue to emit link_section except specifically on MacOS.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
301: Initialize RAM in assembly r=adamgreig a=jonas-schievink
Fixes #300
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
Co-authored-by: Adam Greig <adam@adamgreig.com>
|
|
* Use arm-none-eabi-gcc to assemble, allowing use of preprocessor to
conditionally enable the FPU for eabihf targets.
* Remove has_fpu configuration from build.rs.
* Remove FpuTrampoline as no longer required.
* Remove the Rust Reset method entirely, since the asm Reset can now
enable FPU and jump to user main.
|
|
|
|
|
|
|