ICCAVR生成hex文件使用Proteus仿真AVR64单片机问题

华芝塔尼欧 2014-09-10 01:48:43
以前使用ICCAVR生成atmega64的hex文件使用Proteus7.10进行仿真完全OK,但是近期不知怎么设置的编译器导致仿真的时候Proteus总是提示Error reading HEX file‘**at line 1:Colon expected at start of line..。。提示hex文件格式有问题。。。。


我将代码放到自己的笔记本上使用ICCAVR编译然后放到Proteus进行仿真完全可以。我去百度,大家遇到的问题也基本是使用IAR环境导致的原因,使用ICCAVR遇到这种情况的例子基本没有。大家有没有遇到过的?求分享一下。。。



我自己的解决方法:卸载ICCAVR。这种方式并不能解决问题。我试着将ICCAVR安装到D盘依然不能解决问题。对于ICCAVR编译器的设置。我试着更改其中大多数的编译选项但是 依然不能解决这个问题。非常之郁闷。又谁遇到过?用自己的笔记本进行相同的编译和仿真是没问题的。使用台式机却不行。。。


谢谢。。。大家分享下经验和思路吧。。。
...全文
1397 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
华芝塔尼欧 2014-09-12
  • 打赏
  • 举报
回复
引用 5 楼 lr2131 的回复:
[quote=引用 楼主 fengyehudie 的回复:] 以前使用ICCAVR生成atmega64的hex文件使用Proteus7.10进行仿真完全OK,但是近期不知怎么设置的编译器导致仿真的时候Proteus总是提示Error reading HEX file‘**at line 1:Colon expected at start of line..。。提示hex文件格式有问题。。。。 我将代码放到自己的笔记本上使用ICCAVR编译然后放到Proteus进行仿真完全可以。我去百度,大家遇到的问题也基本是使用IAR环境导致的原因,使用ICCAVR遇到这种情况的例子基本没有。大家有没有遇到过的?求分享一下。。。 我自己的解决方法:卸载ICCAVR。这种方式并不能解决问题。我试着将ICCAVR安装到D盘依然不能解决问题。对于ICCAVR编译器的设置。我试着更改其中大多数的编译选项但是 依然不能解决这个问题。非常之郁闷。又谁遇到过?用自己的笔记本进行相同的编译和仿真是没问题的。使用台式机却不行。。。 谢谢。。。大家分享下经验和思路吧。。。
帮不上忙啊,之前我也用过proteus来做仿真,但一般是用Keil做联调,不知道IAR原来也可以。 但是后来工作上用到的片子基本上在proteus上不支持,我也就没怎么用proteus了。[/quote] 谢谢哦,但是我的问题已经被我自己解决了,就是因为电脑被加密的问题但是由于电脑没有对文本文档加密。所以我用自己的方法绕开了加密的问题。。。
华芝塔尼欧 2014-09-12
  • 打赏
  • 举报
回复
引用 6 楼 hhwy311 的回复:
sdfsddsf
哥哥诶,你走错地方了吧。。。。
hhwy311 2014-09-11
  • 打赏
  • 举报
回复
sdfsddsf
lr2131 2014-09-11
  • 打赏
  • 举报
回复
引用 楼主 fengyehudie 的回复:
以前使用ICCAVR生成atmega64的hex文件使用Proteus7.10进行仿真完全OK,但是近期不知怎么设置的编译器导致仿真的时候Proteus总是提示Error reading HEX file‘**at line 1:Colon expected at start of line..。。提示hex文件格式有问题。。。。 我将代码放到自己的笔记本上使用ICCAVR编译然后放到Proteus进行仿真完全可以。我去百度,大家遇到的问题也基本是使用IAR环境导致的原因,使用ICCAVR遇到这种情况的例子基本没有。大家有没有遇到过的?求分享一下。。。 我自己的解决方法:卸载ICCAVR。这种方式并不能解决问题。我试着将ICCAVR安装到D盘依然不能解决问题。对于ICCAVR编译器的设置。我试着更改其中大多数的编译选项但是 依然不能解决这个问题。非常之郁闷。又谁遇到过?用自己的笔记本进行相同的编译和仿真是没问题的。使用台式机却不行。。。 谢谢。。。大家分享下经验和思路吧。。。
帮不上忙啊,之前我也用过proteus来做仿真,但一般是用Keil做联调,不知道IAR原来也可以。 但是后来工作上用到的片子基本上在proteus上不支持,我也就没怎么用proteus了。
华芝塔尼欧 2014-09-10
  • 打赏
  • 举报
回复
刚才把想法告诉了同事,交流了会,应该是电脑被加密的原因。。但是并没有加密文本文档。所以我的做法,使用文本编辑器新建重新编辑之后避开了这个问题。。。
华芝塔尼欧 2014-09-10
  • 打赏
  • 举报
回复
引用 2 楼 fengyehudie 的回复:
[quote=引用 1 楼 pathletboy 的回复:] 比较下hex文件的差异看看
恩,这个我昨天就比较过了,发现二者的HEX文件确实是不相同的。。。但是不相同的原因表示不清楚的。 首先不可用的HEX使用notepad++打开是呈现乱码的。正常的hex头部是这样的。。 :040000000C949B00C1 :040040000C94FC021E :040048000C94FB0118 :14008C00000000000000000000000000000000000000000060 :1400A00066656E6773750000000077656E64750000000000A1 使用gVim打开不可用hex文件发现他和正常的hex文件没有区别。。。 OK,我打算这样-------将不可用hex使用vim打开然后自己新建一个hex格式文件复制其中的内容,应该行的吧。。。。[/quote] OK经过我的测试将不可用的hex文件内容使用能够正常显示的编辑器打开,然后复制其中的内容,再新建一个文档更改文件后缀为hex。。然后使用notepad++打开test.hex将内容复制进去,CRTL+S。然后进行Proteus的仿真。这样做是可行的。。。。。。。。 但是我始终不知道其中的原因。。。。可能是文件的编码格式不一样,可是我更改了ICCAVR编译器的什么地方?会修改编译器生成的目标文件的编码格式呢?
华芝塔尼欧 2014-09-10
  • 打赏
  • 举报
回复
引用 1 楼 pathletboy 的回复:
比较下hex文件的差异看看
恩,这个我昨天就比较过了,发现二者的HEX文件确实是不相同的。。。但是不相同的原因表示不清楚的。 首先不可用的HEX使用notepad++打开是呈现乱码的。正常的hex头部是这样的。。 :040000000C949B00C1 :040040000C94FC021E :040048000C94FB0118 :14008C00000000000000000000000000000000000000000060 :1400A00066656E6773750000000077656E64750000000000A1 使用gVim打开不可用hex文件发现他和正常的hex文件没有区别。。。 OK,我打算这样-------将不可用hex使用vim打开然后自己新建一个hex格式文件复制其中的内容,应该行的吧。。。。
pathletboy 2014-09-10
  • 打赏
  • 举报
回复
比较下hex文件的差异看看

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧