Replies: 2 comments 1 reply
-
I think there are two kinds of thing that we'd want to support in HyperRAM initially:
The latter is possibly easier, because the entries for it are generated in the build system and so extending the current logic that takes a size to (optionally) take a size and a location would be simple, and then they could be placed in different regions within the linker script. Code is more interesting. I think we'd need to have a per-compartment and per-library location for code. I expect that the most common use case for HyperRAM will be exporting slow-path functions. My suggestion would be:
This may also need some changes to the linker to make sure that the generated JSON reports are sensible, but I don't think they should need to change. |
Beta Was this translation helpful? Give feedback.
-
There's three aspects to this discussion I think are important to separate:
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Since lowRISC/sonata-system#149, we have HyperRAM execution working on the sonata system, which is mapped to a separate memory region to SRAM. The CHERIoT RTOS test suite is passing when running from HyperRAM with lowRISC@5dad635 , but this is more of a temporary fix.
What do people think would be the best way to allow boards to be configured such that code can be stored in a non-contiguous memory region?
Beta Was this translation helpful? Give feedback.
All reactions