原创 【原创】ZigBee学习之24——zmain_ram_init()

2010-2-8 16:35 2081 4 4 分类: MCU/ 嵌入式

  zmain_ram_init();//初始化堆栈内存空间<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


//初始化堆栈内存,以“高水位线”为准。这段程序真的是没有看懂,这段程序跟链接器,程序段在链接文件中的存放,以及IAR C/C++编译器都有莫大的关系,真的没看懂只知道是初始化了调用和返回时要用到的堆栈空间,暂时不管,用吧!


static ZSEG void zmain_ram_init( void )


{


  uint8 *end;


  uint8 *ptr;


  // Initialize the call (parameter) stack


  end = (uint8*)CSTK_BEG;  // Lower end


  ptr = (uint8*)(*( __idata uint16*)(CSTK_PTR));  // Upper end


  while ( --ptr > end )


    *ptr = STACK_INIT_VALUE;


 


  // Initialize the return (address) stack


  ptr = (uint8*)RSTK_END - 1;  // Upper end


  while ( --ptr > (uint8*)SP )


    *(__idata uint8*)ptr = STACK_INIT_VALUE;


}

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条