Hi, everybogy
I created a simple example project consist of only one source code file main.c, within Keil MDK 3.24 Eval as below.
//*****************************************************
#include <lpc23xx.h>
unsigned int variable0 __attribute__((section("sec_data"), used)) = 0x55AA55AA;
int main (void) { unsigned int i;
while (1) { i++; } }
// End of File
And when I compiled and linked the example using a scatter loading descrption file, one warning feedback produced by the linker read like this.
"Prj1.sct(14): warning: L6329W: Pattern *.o(sec_data) only matches removed unused sections."
The warning message above showed that the section sec_data had been removed by linker for the reason of no refered by the source code explicitly.
The scatter description file causing the warning read as below
LR_IROM1 0x00000000 0x00080000 {
ER_IROM1 0x00000000 0x00080000
{
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
TABLE 0x40000000 0x20
*.o(sec_data)
RW_IRAM1 0x40001000 0x00001000
.ANY (+RW +ZI)
How can I restain the unrefered variable variable0 in the last image? Please give your hand!
Oops; sorry - thought that was the OP.
I can thoroughly recommend Doulos as competent trainers!