现在在板子烧制启动程序,step已经顺利烧进去了,但烧eboot的时候:Download BIN file information:-----------------------------------------------------[0]: Base Address=0x80030000Length=0x42f20---------------------------------------
调试Atmega16,将程序下载到芯片单步运行,发现调用子函数时压栈的并不是下一条语句的地址,但能正确返回。这是什么缘故?在IAR for AVR和AVRStudio下均有此问题。比方说地址代码0x198call USART_Init0x19C...........在进入USART_Init时,应该把0x19C压栈,但硬件仿真时实际压栈的值是0x20CE,不知道这个是怎么来的?