Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heap and global allocator #155

Merged
merged 8 commits into from
Jun 10, 2024
Merged

Heap and global allocator #155

merged 8 commits into from
Jun 10, 2024

Conversation

kingofpayne
Copy link
Contributor

Experimental heap and global allocator which can be optionaly enabled with "heap" feature.
This allows using for instance: String, format!, Vec... Current heap size is 8K.

ledger_device_sdk/src/lib.rs Outdated Show resolved Hide resolved
ledger_device_sdk/src/lib.rs Outdated Show resolved Hide resolved
@yogh333 yogh333 marked this pull request as ready for review June 4, 2024 08:38
kingofpayne and others added 5 commits June 4, 2024 15:03
Experimental heap and global allocator which can be optionaly enabled
with "heap" feature.
This allows using for instance: String, format!, Vec...
Current heap size is 8K.
@yogh333
Copy link
Contributor

yogh333 commented Jun 4, 2024

I did some tests with the Rust boilerplate (see LedgerHQ/app-boilerplate-rust#58) and with HEAP_SIZE=8K Ragger tests are ok with S+, X, Stax and Flex. However, for Nano S, it does not even compile, the relocation script fails (5000 bytes overflow). I have tried naively to decrease the heap size down to 2048 bytes, compilation is ok for Nano S but I have core dumped during Ragger tests. With 1024 bytes it works, but not sure it will be enough for any other app (Obsidian, Radix for instance)...

@yogh333 yogh333 merged commit 696d503 into master Jun 10, 2024
41 of 43 checks passed
@yogh333 yogh333 deleted the feat/heap branch June 10, 2024 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants