aboutsummaryrefslogtreecommitdiff
path: root/cortex-m-rt (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-02-17Move zero-init-ram to just before bss initialisation, so that pre_init ↵Gravatar Adam Greig 2-15/+18
occurs before
2023-02-17Skip .bss memory init if zero-init-ram is activeGravatar Norbert Fabritius 1-0/+1
2023-02-17zero-init-ram: Expand comment above asm codeGravatar Norbert Fabritius 1-2/+2
2023-02-17Add documentation, test and changelog entry for `zero-init-ram` featureGravatar Norbert Fabritius 3-2/+11
2023-02-17Fix _ram_start and _ram_end orderGravatar Norbert Fabritius 2-5/+5
2023-02-17Add zero-init-ram featureGravatar Norbert Fabritius 3-9/+25
Add the 'zero-init-ram' feature that initializes the RAM with zeros during startup. This is normally not necessary but might be required on custom hardware. If this step is skipped on such hardware, reading from memory that was never written to will cause a hard-fault.
2023-02-14Prepare for cortex-m-rt v0.7.3Gravatar Adam Greig 2-4/+15
2023-02-14cortex-m-rt: Remove LR push, to ensure the stack is 8-byte aligned.Gravatar Dario Nieuwenhuis 1-15/+1
This was causing incorrect execution of code optimized with the assumption the stack is 8-byte aligned.
2023-02-11Enforce 8-byte initial stack pointer alignmentGravatar Adam Greig 3-4/+17
2023-02-11cortex-m-rt: assert in linker script that stack_start is 8-byte aligned.Gravatar Dario Nieuwenhuis 1-0/+6
2022-11-08Prepare for c-m-rt 0.7.2Gravatar Adam Greig 3-3/+13
2022-08-12Merge #447Gravatar bors[bot] 1-14/+17
447: Add implementation for critical-section 1.0 r=adamgreig a=Dirbaio Picking up #433 since it seems stalled. Changes from #433 are: - Update to `critical-section 1.0.0-alpha.2` - Use `bool` restore token - Name Cargo feature `critical-section-single-core`. TODO before merging: - [x] Wait for `critical-section 1.0` release https://github.com/rust-embedded/critical-section/pull/19 Co-Authored-By: Markus Reiter `@reitermarkus` Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2022-08-12Fix CI compiletest breakage due to Rust 1.63Gravatar Dario Nieuwenhuis 1-2/+2
2022-08-11Add implementation for critical-section 1.0Gravatar Dario Nieuwenhuis 1-14/+17
Co-Authored-By: Markus Reiter <me@reitermark.us>
2022-05-07Fix typos in cortex-m-rt lib.rsGravatar Daniel Bevenius 1-3/+3
2022-04-28rt: fix veneer limit position in linker scriptGravatar luojia65 1-1/+5
add description and hints on linker behavior at symbol `__veneer_limit` Co-authored-by: Adam Greig <adam@adamgreig.com>
2022-04-23Remove unused `4:` label.Gravatar Markus Reiter 1-2/+1
2022-04-22Fix inline assembly.Gravatar Markus Reiter 1-2/+3
2022-02-25Fix cortex-m-rt qemu test by removing 'nomem' from semihosting_syscall asm, ↵Gravatar Adam Greig 3-18/+16
add inline to most cortex_m::asm methods
2022-02-24Tweaks to enable building and doctesting on host platformGravatar Adam Greig 1-2/+7
2022-02-24Bump to Edition 2021 and rust-version 1.59Gravatar Adam Greig 2-2/+4
2022-02-24Remove references to unsupported Rust versions in cortex-m-rtGravatar Adam Greig 1-40/+9
2022-02-24Add set-sp and set-vtor features to cortex-m-rt.Gravatar Adam Greig 3-0/+37
2022-02-24Remove prebuilt cortex-m-rt binaries, replace with global_asmGravatar Adam Greig 15-183/+130
2022-02-24Allow #[naked] attribute on interrupt handlers and pre_initGravatar Adam Greig 1-0/+1
2022-01-26c-m-rt: fix macro hygiene, set to edition 2018Gravatar Adam Greig 2-2/+3
2022-01-26Fix #414Gravatar Adam Greig 2-1/+12
Partially reverts https://github.com/rust-embedded/cortex-m-rt/pull/224 to continue to use a fully-qualified path to `exception`.
2022-01-23Bump MSRV from 1.40 to 1.42, fix clippy::match_like_matches_macroGravatar Alex Martens 3-10/+4
2022-01-23Fix most clippy lintsGravatar Alex Martens 1-3/+3
2022-01-21Fix break in compilefail tests on 1.58Gravatar Adam Greig 1-2/+4
2022-01-12Move device.x example to workspace root for cortex-m-rt tests.Gravatar Adam Greig 1-3/+0
2022-01-12Fix cortex-m-rt build that was depending on old cortex-m via out-of-tree ↵Gravatar Adam Greig 1-1/+1
cortex-m-semihosting
2022-01-12Fix cortex-m-rt compiletest testsGravatar Adam Greig 3-7/+4
2022-01-12Move examples' memory.x to workspace rootGravatar Adam Greig 1-23/+0
2022-01-12Bump cortex-m-rt MSRV 1.39->1.40 to support non_exhaustive in cortex-mGravatar Adam Greig 2-2/+2
2022-01-12Update GHA for integrated cortex-m-rtGravatar Adam Greig 8-141/+3
2021-11-24Add/update links.Gravatar Jonathan Pallant (Ferrous Systems) 1-1/+2
2021-11-24Update to 0.7.1.Gravatar Jonathan Pallant (Ferrous Systems) 2-1/+9
2021-11-23Add commentGravatar Jonas Schievink 1-0/+4
2021-11-22Preserve `lr` and add debuginfoGravatar Jonas Schievink 8-0/+4
2021-11-22Assemble with debuginfoGravatar Jonas Schievink 1-7/+7
2021-11-22Rerun build script when archive changesGravatar Jonas Schievink 1-5/+3
Fixes https://github.com/rust-embedded/cortex-m-rt/issues/236
2021-08-19Fix links in CHANGELOG.mdGravatar Matt Ickstadt 1-9/+9
2021-08-17Fix CHANGELOG for recent 0.7 release.Gravatar Adam Greig 1-1/+4
2021-07-13Only run tests on stable and nightly, not MSRV.Gravatar Adam Greig 1-1/+4
2021-07-12Prepare for v0.7.0Gravatar Adam Greig 3-9/+59
2021-04-29bump version to 0.6.13Gravatar Robert Jördens 1-1/+1
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.
2021-04-07link.x.in: move sgstubs after dataGravatar Robert Jördens 1-13/+13
2021-04-07link.x.in: put most __[se] symbols back into sectionsGravatar Robert Jördens 1-18/+27
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.
2021-04-02Minor documentation fix.Gravatar Jakub Duchniewicz 1-0/+1