Hi,
I have created below group in linker section for variables that are initialized to be stored in:
section_layout :vtc:linear
{
if (exists(".data.SEC_VAR_INIT"))
{
group SEC_VAR_INIT_GROUP( contiguous, fill, align=8, run_addr = mem:dspr0)
{
select "[.]data.SEC_VAR_INIT";
}
"_SEC_VAR_INIT_START" = "_lc_gb_SEC_VAR_INIT_GROUP";
"_SEC_VAR_INIT_END" = "_lc_ge_SEC_VAR_INIT_GROUP" - 1;
"_SEC_VAR_INIT_LIMIT" = "_lc_ge_SEC_VAR_INIT_GROUP";
}
else
{
"_SEC_VAR_INIT_START" = 0;
"_SEC_VAR_INIT_END" = 0;
"_SEC_VAR_INIT_LIMIT" = 0;
}
group PROJECT_PFLASH ( ordered, run_addr=mem:pflash0)
{
/*Section for ROM copy of SEC_VAR_INIT section*/
group SEC_VAR_INIT_ROM_GROUP( contiguous, fill)
{
group (load_addr)
{
select "[.]data.SEC_VAR_INIT";
}
"_SEC_VAR_INIT_ROM_START" = "_lc_gb_SEC_VAR_INIT_ROM_GROUP";
"_SEC_VAR_INIT_ROM_LIMIT" = "_lc_ge_SEC_VAR_INIT_ROM_GROUP";
}
}
The pragma for this is added as below in the code:
#elif defined START_SEC_VAR_INIT_UNSPECIFIED
# ifdef MEMMAP_SECTION_OPEN
# error Using START_SEC_VAR_INIT_UNSPECIFIED is not possible as a memory section has already been opened. Nesting is not supported.
# endif
# define MEMMAP_SECTION_OPEN
# define VAR_OPEN
/* Pragmas entered manually. Related MemMapAddressingMode: /ActiveEcuC/MemMap/MSR_VAR_INIT/MSR_VAR_INIT */
#pragma section fardata "SEC_VAR_INIT"
# undef START_SEC_VAR_INIT_UNSPECIFIED /* PRQA S 0841 */ /* MD_MSR_Undef */
# undef MEMMAP_ERROR /* PRQA S 0841 */ /* MD_MSR_Undef */
#elif defined STOP_SEC_VAR_INIT_UNSPECIFIED
# ifndef MEMMAP_SECTION_OPEN
# error Using STOP_SEC_VAR_INIT_UNSPECIFIED is not possible as no memory section has been opened.
# endif
# undef MEMMAP_SECTION_OPEN /* PRQA S 0841 */ /* MD_MSR_Undef */
# ifndef VAR_OPEN
# error Using STOP_SEC_VAR_INIT_UNSPECIFIED is not possible as the corresponding memory section has not been opened.
# endif
# undef VAR_OPEN /* PRQA S 0841 */ /* MD_MSR_Undef */
/* Pragmas entered manually. Related MemMapAddressingMode: /ActiveEcuC/MemMap/MSR_VAR_INIT/MSR_VAR_INIT */
#pragma section fardata restore
# undef STOP_SEC_VAR_INIT_UNSPECIFIED /* PRQA S 0841 */ /* MD_MSR_Undef */
# undef MEMMAP_ERROR /* PRQA S 0841 */ /* MD_MSR_Undef */
I am getting below errors while compiling the code:
CC Can.o
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
4 errors, 0 warnings
make[1]: *** [..\BSW\MakeSupport/Global.Makefile.target.4.mk:1140: ../Build_Gen/obj/BSW/BSW/Can/Can.o] Error 1
make[1]: *** Waiting for unfinished jobs....
CC Can_Irq.o
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
2 errors, 0 warnings
make[1]: *** [..\BSW\MakeSupport/Global.Makefile.target.4.mk:1140: ../Build_Gen/obj/BSW/BSW/Can/Can_Irq.o] Error 1
CC CanIf.o
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
2 errors, 0 warnings
make[1]: *** [..\BSW\MakeSupport/Global.Makefile.target.4.mk:1140: ../Build_Gen/obj/BSW/BSW/CanIf/CanIf.o] Error 1
CC CanSM.o
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
4 errors, 0 warnings
make[1]: *** [..\BSW\MakeSupport/Global.Makefile.target.4.mk:1140: ../Build_Gen/obj/BSW/BSW/CanSM/CanSM.o] Error 1
CC BswM.o
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
ctc E209: ["..\Cfg_Project\Appl\GenData\MemMap_Common.h" 814/1] #pragma section fardata: empty stack
35 errors, 0 warnings
Can you please help me here what exactly am I doing wrong?
I am able to create sections like below for NO_INIT variables and route data to SEC_VAR_NO_INIT section. In this case, map file is generated correctly:
if (exists(".bss.SEC_VAR_NO_INIT"))
{
group SEC_VAR_NO_INIT_GROUP( contiguous, fill, align=8)
{
select "[.]bss.SEC_VAR_NO_INIT";
}
"_SEC_VAR_NO_INIT_START" = "_lc_gb_SEC_VAR_NO_INIT_GROUP";
"_SEC_VAR_NO_INIT_END" = "_lc_ge_SEC_VAR_NO_INIT_GROUP" - 1;
"_SEC_VAR_NO_INIT_LIMIT" = "_lc_ge_SEC_VAR_NO_INIT_GROUP";
}
else
{
"_SEC_VAR_NO_INIT_START" = 0;
"_SEC_VAR_NO_INIT_END" = 0;
"_SEC_VAR_NO_INIT_LIMIT" = 0;
}
Show Less