-
-
Notifications
You must be signed in to change notification settings - Fork 8
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
Handle multiple RAM regions #3
Comments
What kind of layout do you have in mind? For instance, if you place the stack in RAM2 and the rest of sections in RAM then already have stack overflow protection and This definitively seems doable but we need to list the potential arrangements of stack, static variables and heap. Also more than 2 RAM regions seems possible though I'm not sure |
if we rely solely on standard sections like |
Ohh You are totally right! I was waaay to fast on an early monday morning! Totally forgot we are only talking about stack. Please disregard this issue! Feel free to close. |
I'm going to leave this open because I think we want to "support" at least the 2 RAM region configuration. By support I mean |
In my case i am using both ram regions, but only for static queues and buffers: #[init(None)]
#[link_section = ".ram2"]
res_queue: Option<ResQueue<AtatRxBufLen, consts::U5>>,
#[init(None)]
#[link_section = ".ram2"]
urc_queue: Option<UrcQueue<AtatRxBufLen, consts::U10>>,
#[init(None)]
#[link_section = ".ram2"]
com_queue: Option<ComQueue<consts::U3>>,
// Cellular Socket Buffer
#[init(None)]
#[link_section = ".ram2"]
socket_set: Option<SocketSet<consts::U2, consts::U2048>>, |
Currently this only checks for overflows in single-ram region called
RAM
.Eventually it would be awesome to support multi region layouts like:
The "line-by-line" parser only looks for
RAM: org = ...
, but I am not sure if this is the actual blocker?Also minor side issue;
This line:
flip-link/src/main.rs
Line 61 in e123f17
Should probably read
MEMORY.RAM not found after scanning linker scripts
? Missing the notThe text was updated successfully, but these errors were encountered: