-
Notifications
You must be signed in to change notification settings - Fork 46
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
Identify size optimizations for RT firmware #1397
Comments
We've had one major idea:
And a minor idea: Bump the compiler version: Rust 1.77 produces smaller binaries, though we'd need to fix We've also been talking about use of CFI - potentially replacing it - together |
@mhatrevi @nquarton @JohnTraverAmd @varuns-nvidia Let me know your thoughts. As we talk about adding features such as image manifest and stable identity, I think we need to look for more opportunities for size savings. Benjamin's suggestion above would be one way to achieve that. |
I was going to bring up the related ROM size issue in the Thursday meeting as well. I was trying to add some basic driver HW error checks and have been hitting the size limit. I like the idea of updating the compiler as a partial solution. CFI changes sound like they could potentially have a big impact. I know there has been some more question recently whether or not they are effective with the error handling flow. Is there another solution in consideration or is the ROI in general in question? Is calling back into the FMC from runtime an idea that's been discussed before? I know doing that for the ROM was explored and rejected previously. |
Well, when it comes to code or toolchain changes, improvements for the FMC/RT will likely also be benefiting the ROM.
I believe not. And while I'm aware that this kind of idea has been rejected for the ROM, I don't think that there were solid arguments against it - it just wasn't needed. Now that the ROM has been released though, it's too late to consider changes there. |
Caliptra FMC+RT is currently hovering around 100KiB. This only leaves 24KiB for adding features in 1.x releases. Not high priority, but we should look for opportunities to save code space in RT.
The text was updated successfully, but these errors were encountered: