各位大神,CVAVR编译的程序,AVRStudio软件仿真执行出问题

2019-03-24 20:25发布

本帖最后由 ltwsq 于 2015-4-15 09:44 编辑

本人使用CVARV编写了程序,其中定义了一部分变量在EEPORM当中,代码如下所示:





处理完之后,现在转移到AVRStudio4中进行软件仿真调试,但为什么在单步执行时通过Memmory窗口观察,里面的值并不是我所定义的初值,这是为什么?
如下图所示,都全部是FF


怎么样才能在AVRStudio4中使用这些EEPROM变量呢?
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
ltwsq
1楼-- · 2019-03-25 23:24
为什么在调试时,利用watch窗口查看这些eeprom变量,它的值并不是程序开始时所赋予的初值呢?

ltwsq
2楼-- · 2019-03-26 02:07
ltwsq 发表于 2015-4-13 14:44
对于CVAVR来说,它本身是可以直接操作EEPROM变量的啊,应该不需要另外再写读写函数吧?难道还要另加函数?

谢谢了,那就等JTAG ICE仿真器回来之后进行硬调试看看结果
ltwsq
3楼-- · 2019-03-26 05:28
ljj3166 发表于 2015-4-13 14:51
CVAVR可以用独有的关键字EEPROM来操作
不过仿真就很难说了,比较没有实体的支持呢

谢谢了,那就等JTAG ICE仿真器回来之后进行硬调试看看结果
ltwsq
4楼-- · 2019-03-26 09:33
lyzhangxiang 发表于 2015-4-13 14:53
不太熟悉as这个软件
IAR中的做法也是很类似的
1)加EEPROM扩展支持
2)使用__eeprom关键字

这样就和普通的变量一样用了,不过是保存在eeprom中的,ide和编译器做了一些事情
当然了软件仿真个人感觉不出结果吧,应该要实际硬件在线仿真,起码我在iar中是这样的

may helps you

谢谢了,那就等JTAG ICE仿真器回来之后进行硬调试看看结果
ltwsq
5楼-- · 2019-03-26 14:07
ljj3166 发表于 2015-4-13 14:51
CVAVR可以用独有的关键字EEPROM来操作
不过仿真就很难说了,比较没有实体的支持呢

在软仿真的情况下真的不能使用EEPROM变量,通过JTAG ICE就可以处理,谢谢

一周热门 更多>