Memory mapping in generated Autosar compliant C code with MATLAB

18 visualizaciones (últimos 30 días)
Adam
Adam el 25 de Oct. de 2022
Respondida: Tomasz el 6 de Sept. de 2024
I am trying to solve my issue as to generate an AUTOSAR compliant C code form MATLAB. I successfully created memory segments around vars/functions, like this:
#define CAN_START_SEC_VAR_8BIT
#include “MemMap.h”
static uint8 myvar_1;
#define CAN_STOP_SEC_VAR_8BIT
#include “MemMap.h”
#define CAN_START_SEC_VAR_8BIT
#include “MemMap.h”
static uint8 myvar_2;
#define CAN_STOP_SEC_VAR_8BIT
#include “MemMap.h”
What I can not figure out, and I would be really grateful if you could lend a hand here is that: For all the different functions/vars a new memory segment opens and close. Even if the segment is the same. This is bad, because it takes time to read multiply times the same opening and closing segments. Do you know any way to prevent this and group those vars/functions within the same memory segment, which have matching starting and closing segment? so it would be like this:
#define CAN_START_SEC_VAR_8BIT
#include “MemMap.h”
static uint8 myvar_1;
static uint8 myvar_2;
#define CAN_STOP_SEC_VAR_8BIT
#include “MemMap.h”
I looked into:
>> cscdesigner
and
App -> AUTOSAR Component... -> Settings -> C/C++ Code Generation options -> Code generation
But could not find anything for this issue.
Thanks a lot for any advice and have a good day!
  2 comentarios
Giosué Carducci
Giosué Carducci el 14 de Jun. de 2023
Hi,
could you share the model?
I have an issue while I try to define that stati variables.
Please, could you help me?
I can find also a way to put both variables in only one memory section.
Thanks
Giosuè
Djordje
Djordje el 17 de Jul. de 2024
Hello,
Could you please explain procedure to create memory segments:
"I successfully created memory segments around vars/functions"
BR,
Djordje

Iniciar sesión para comentar.

Respuestas (2)

Riad
Riad el 12 de Sept. de 2023
Hello,
If I understand well, you want that the pragma is written for a group of vars. If so, you should set the property 'PragmaPerVar', in the Simulink.MemorySectionDefn (in the cscdesigner script) to false:
set(h, 'PragmaPerVar', false);

Tomasz
Tomasz el 6 de Sept. de 2024
In cscdesigner in Memory Section there is drop down menu "Statement around" with two options 1. Group of variables. 2. Each variable.

Categorías

Más información sobre AUTOSAR Blockset en Help Center y File Exchange.

Productos


Versión

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by