You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR implements task autosizing, at long last!
It builds on the previous work with relocatable task builds (#584). After
building the relocatable task ELF file, it runs a "dummy link" against a
linker script with "infinite" memory (in practice, the entirety of memory
available on the chip). It then parses the resulting (static) binary to extract
sizes.
After finding sizes for every task, it runs the same memory packer as before,
then relinks each task with the resulting memory.
Task sizes are based on the target microcontroller, with a new `alignment`
parameter passed to `allocate_one`.
There are extensive changes to `cargo xtask sizes` to make it more generically
useful, decoupling the suggestions from the "find the size of a static ELF".
WARNING: this changes the format of the exported JSON files!
In addition, there are a bunch of new helper functions in `Config` to help with
task and memory sizing / alignment.
This fixes#474 and maybe #439, and deprecates #476
0 commit comments