This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

局部变量占用ebss section

我的MAP文件:

  MCBSP_A               00007800   00000040  00000025  0000001b  RWIX
  RAML0L1 00008000 00002000 000000d8 00001f28 RWIX
  EXRAM                 00100000   00010000  00000000  00010000  RWIX
  CSM_PWL               003f7ff8   00000008  00000008  00000000  RWIX
  RAMH0 003f8000 00002000 00000400 00001c00 RWIX

我的CMD文件

  /* SARAM                    */     
   RAML0L1    : origin = 0x008000, length = 0x002000
   RAMH0      : origin = 0x3F8000, length = 0x002000        
   EXRAM	  : origin = 0x100000, length = 0x010000	
}
 
 
SECTIONS
{
   /* Allocate program areas: */
   .reset              : > BEGIN       PAGE = 0
   vectors             : > VECTORS     PAGE = 0
   .cinit              : > FLASHJ      PAGE = 0  
   .text               : > FLASHP      PAGE = 0

   /* Allocate data areas: *//*RAMM0M1*/ 
   .stack              : > RAMH0    PAGE = 1
   .ebss               : > RAML0L1     PAGE = 1
   .econst			   : > FLASHH      PAGE = 0	

我的局部变量的地址:

大家可以看到我的局部变量地址是ebss的,这样是不对的,而且调试会出错的。

我的代码

void Delay(Uint16  data)			//延时函数
{
	Uint16	i,j;
	for (i=0;i<data;i++) { for(j=10;j>0;j--); }	
}