本帖最后由 jason_77chen 于 2010-1-20 15:34 编辑
我要对一段程式做一个定位,我所用的工具是: avr studio+WinAVR 20071227 来做的,不知道为什么:
我定义一个程式段:我是在操作介面输入一些参数(configuration options/menory setting),在其自带的makefile中有看到生成成功如下:
LDFLAGS += -Wl,-section-start=mymy=0x3e00
我的程式为:
#include<avr/iom128.h>
void MYMY(void) __attribute__ ((section (".mymy")));
void MYMY (void)
{
asm("nop");
asm("nop");
}
int main(void)
{
asm("nop");
asm("nop");
while(1);
}
程式可以运行,可是从汇编处看,mymy还是紧跟着main()地址而下, 参照 Program的Memory 也确实是跟着main() ,
理论上 mymy 应当是从:0x3e00地址开始的,从网上也查了很多资料,大多数人并不用Winavr, 请问有哪位高手知道是什么原因吗?
我在网上实在找不到原因,才发贴,指点一下吧,在此先表示感谢!
如不方便,给个联系方式也行! |