Memory mapping in generated Autosar compliant C code with MATLAB

16 Ansichten (letzte 30 Tage)
Adam
Adam am 25 Okt. 2022
Beantwortet: Tomasz am 6 Sep. 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 Kommentare
Giosué Carducci
Giosué Carducci am 14 Jun. 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 am 17 Jul. 2024
Hello,
Could you please explain procedure to create memory segments:
"I successfully created memory segments around vars/functions"
BR,
Djordje

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Riad
Riad am 12 Sep. 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 am 6 Sep. 2024
In cscdesigner in Memory Section there is drop down menu "Statement around" with two options 1. Group of variables. 2. Each variable.

Kategorien

Mehr zu AUTOSAR Blockset finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by