Conversation
needs newer fixed cortex-m-rt 0.6.13+unreleased relevant? https://reviews.llvm.org/D81986
6 tasks
bors bot
added a commit
to rust-embedded/cortex-m-rt
that referenced
this pull request
Apr 15, 2021
323: link.x.in: put most __[se] symbols back into sections r=adamgreig a=jordens 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 (bss is 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 padding at the end of FLASH due to that alignment even if empty. But since flash is typically a multiple of 32 bytes and since the padding is at the end, there is no downside. The .rodata start is kept free for the linker to allocate 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 #287 (comment) for discussion of the issues and description of this compromise solution. Tested: * [x] [stm32h7 ITCM](quartiq/stabilizer#322) * [x] [sgstubs](#323 (comment)) * [x] `INSERT AFTER` for bss/data still works (#323 (comment)) Topics: * [x] `sgstubs` moved to be the last section in FLASH to minimize the impact of the 32 byte alignment. (Padding flash to 32 byte is considered benign.) * [ ] `INSERT AFTER` with binutils ld doesn't work. But that's independent of these changes. This is the `sgstubs`-in `memory.x` use case. Currently the `sgstubs` section is kept in `link.x`. Co-authored-by: Robert Jördens <rj@quartiq.de>
Member
Author
|
bors try |
Contributor
tryMerge conflict. |
* master: (70 commits) Updating JSON syntax Updating trigger Adding bors timeout dual-iir: add some mqtt parameter docs changelog: spelling update lock let bors handle hitl prepare v0.5.0 release Updating code after review Adding comment, reverting change Adding sleep to HITL run Updating ping deadline Reverting unintended change Updating dependency revision Renaming interface to avoid confusion dual-iir: use InputPin re-export, rename digital_input Updating dependency dual-iir: add enable_hold, force_hold fix bench hardware: add digital input support ...
Member
Author
|
bors try |
Contributor
tryBuild failed: |
Member
Author
|
bors try |
Contributor
tryBuild failed: |
Member
Author
|
bors try |
Contributor
tryBuild failed: |
* origin/master: (34 commits) Simplifying unit conversions Cleaning up conversion + comments Addressing review feedback Update src/hardware/dac.rs Renaming AdcSample -> AdcCode Updating float conversion Adding adc/dac code conversion utilities Simplifying settings lock Updating after review Updating delay Fixing merge Formatting Updating dependencies Fixing clippy Finalizing merge Merging lockin app functions Fixing system timer Fixing build, formatting Adding documentation Renaming files ...
Member
Author
|
bors try |
Contributor
tryBuild succeeded: |
* rj/log: refine panic handler and add some logging info hitl: kill probe-run cleanly set target-cpu=cortex-m7, MSRV 1.52.0, use probe-run README: document lockin, cleanup instructions, use probe-run CHANGELOG: update README: streamline docs a bit, add probe-run update hitl script remove rtt feature use rtt logging dsp/lowpass,lockin: const generics
* origin/master: deps: fix rtt-logger->rtt-target, cleanup, bump cortex-m build(deps): bump embedded-hal from 0.2.4 to 0.2.5 Bump rtt-target from 0.2.2 to 0.3.1 Bump serde from 1.0.125 to 1.0.126 remove unused dependencies remove unused dependencies
ryan-summers
suggested changes
May 27, 2021
Member
Author
|
bors merge |
Member
Author
|
bors cancel |
Member
Author
|
bors merge |
Contributor
|
Build succeeded: |
adamgreig
pushed a commit
to rust-embedded/cortex-m
that referenced
this pull request
Jan 12, 2022
323: link.x.in: put most __[se] symbols back into sections r=adamgreig a=jordens 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 (bss is 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 padding at the end of FLASH due to that alignment even if empty. But since flash is typically a multiple of 32 bytes and since the padding is at the end, there is no downside. The .rodata start is kept free for the linker to allocate 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 rust-embedded/cortex-m-rt#287 (comment) for discussion of the issues and description of this compromise solution. Tested: * [x] [stm32h7 ITCM](quartiq/stabilizer#322) * [x] [sgstubs](rust-embedded/cortex-m-rt#323 (comment)) * [x] `INSERT AFTER` for bss/data still works (rust-embedded/cortex-m-rt#323 (comment)) Topics: * [x] `sgstubs` moved to be the last section in FLASH to minimize the impact of the 32 byte alignment. (Padding flash to 32 byte is considered benign.) * [ ] `INSERT AFTER` with binutils ld doesn't work. But that's independent of these changes. This is the `sgstubs`-in `memory.x` use case. Currently the `sgstubs` section is kept in `link.x`. Co-authored-by: Robert Jördens <rj@quartiq.de>
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
process()task from ITCM #315