I am using Code composer studio Version: 8.1.0.00011 , for development of part No : F28379D .
In my application i want to use a global variable which is not initialized during watchdog reset .
For that i have declared a variable like this
#pragma DATA_SECTION(resetreq_ecust,".shared");
uint16_t resetreq_ecust;
And in Linker command file i have added in section like this
.shared : type = NOINIT, run = 0x604 , PAGE =1
In my code i have implemented some logic like , for 60 seconds watchdog will refresh and after that it will stop refreshing , because of which in every
60 seconds , watch dog will cause MCU reset . But at the start of main only , I am writing value 0x5A5A to resetreq_ecust .
After writing i checked resetreq_ecust is holding 0x5A5A value .
But after 60 seconds when watchdog causes reset , resetreq_ecust value becomes 0 , i.e it get initialized .
In map file i have also checked , shared location is uninitialized
.shared 1 00000604 0000000a UNINITIALIZED
00000604 0000000a ecum.obj (.shared)
and
resetreq_ecust is located at same location :
address data page name
-------- ---------------- ----
00000400 10 (00000400) __stack
00000604 18 (00000600) _resetreq_ecust
But not able to figure out why variable is getting initialized .
I have attached linker and map files as attachemnt , any help will be appreciated .linker_and _mapfiles.rar
