feitianhou 发表于 2007-3-9 11:46:41

马老师,为什么atmel 128 在做bootloader时无法用avrstudio仿真。

马老师,您好!,我在用128bootloader时,怎么进不了仿真环境。

熔丝位已经设置成从bootloader区复位。

编译时指定连接LDFLAGS += -Wl,--section-start=.text=0x1E000

machao 发表于 2007-3-9 14:14:27

我基本不用仿真环境,通常直接实际调试,所以很难回答你的问题。



根据我的经验,对与bootloader的仿真比较困难。如果使用在板的实时仿真,由于写FLASH操作有时间的限制,很难仿真查看。一旦中断和改变了程序的执行时间序列,写FLASH的操作将会自动停止的。



而使用AVR STUDIO软件仿真的话,可能也不行,在这种环境内能改变源程序吗?



以上仅为参考。

feitianhou 发表于 2007-3-9 14:21:33

哦谢谢马老师,马老师,您认为在bootloader区内用中断接收数据好点还是用查询方式接收数据好点。

我发现用查询方式可以正确接收,但一用中断方式接收数据就不正常了。

machao 发表于 2007-3-9 14:33:20

请参考我的M128上册第5章中的例子。写FLASH操作为页操作,为了保证可靠和不产生误操作,在时序上有限制的(具体看器件手册)。如果使用中断方式的话,写FLASH的操作时序容易被中断打断,就要出错了。



如果在写一个FLASH页时关掉中断,写完再开放中断,可以考虑使用中断。但还要考虑中断响应不及时会造成接收数据的错误,比较麻烦。



所以建议bootloader程序尽量简单,不使用中断,只做接收数据和写FLASH的工作。慢点也不要紧。保证可靠。

feitianhou 发表于 2007-3-9 15:50:53

哦,谢谢马老师!
页: [1]
查看完整版本: 马老师,为什么atmel 128 在做bootloader时无法用avrstudio仿真。