他的回复:
/* Specify the memory areas */ MEMORY { FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 192K CCMRAM (rw) : ORIGIN = 0x10000000, LENGTH = 64K SDRAM (xrw) : ORIGIN = 0xD0000000, LENGTH = 8388608 } /* 0xD0000000 0xD07FFFFF = 8388608字节 */ /* 下面两个空格是必须的 否则链接不通过*/ .sdram (NOLOAD) : { . = ALIGN(4); _ssdram = .; /* create a global symbol at sdram start */ *(.sdram) . = ALIGN(4); _esdram = .; /* create a global symbol at sdram end */ } >SDRAM AT> FLASH _____________________________________________________________________________________比如.bss段,内容都是0,编译成image的时候就不需要占空间了。NOLOAD就起到这个作用。但是空间的地址都是保留了的。代码boot之后,应该有相应的内存拷贝函数,完成一些数据的初始化。