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.
-
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