🚧 Extra debug space / debug trampoline #302
Closed
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.
Based on an old PR that was closed automatically and kept as an idea, although I can't copy the whole conversation with @leptun
Instead of using TEXT_REGION_LENGTH define a custom script to
enforce the available space for the .text section. The script also
defines a custom .boot section at the appropriate location.
This section can be abused in debug builds to take advantage of the
extra space. To do so, the optional function "boot" is placed at the
beginning of the section and jumps back to zero, allowing code to
continue unaffected.
In turn, this allows to move the motion speed tables into the boot
section, freeing about 2k of space necessary for the debug builds to
work.
Perhaps not ideal as we manually need to tag functions/data, but
seems to be the only option for avr-ld.