用USBASP下载程序超过64KB,地址校验错误是怎么回事?
用USBASP下载程序,固件版本2009-02-28,程序超过64kB时,FLASH校验错误地址0h 是怎么回事 用progisp下载有这个问题,用双龙或AVR_fighter下载就没事了,再就是选上芯片擦除选项 hdxet 发表于 2016-10-18 14:48用progisp下载有这个问题,用双龙或AVR_fighter下载就没事了,再就是选上芯片擦除选项 ...
选上芯片擦除也没用,程序看见能烧进去,校验就出错,单片机不能运行。 单片机不能运行。肯定没烧进去啊或者配置字没烧进去啊
可能是你从上位机看到进度条好像烧进去了吧 1. 你的HEX文件正确么?超过64K有时候编译器也会抽风,建议HEX传上来看看;
2. 片子型号选对了么?别需要 M128 实际(或下载软件BUG)按 M64 走的啊;
3. 0H 地址错误,说明很可能 64K 的位置重新写到了 0H 的地方,建议把写完的 FLASH 读下来,WinHex 看看是否如此 曾经usbasp报过这种故障,因为16bit地址范围导致的。因为我的使用环境木有大于64k的情况,就没有怎么关注。。 duxingkei 发表于 2016-10-18 15:47
单片机不能运行。肯定没烧进去啊或者配置字没烧进去啊
可能是你从上位机看到进度条好像烧进去了吧 ...
看进度条确实是烧写完了,但是进行校验的时候停在0h处。我用的USBASP是公版电路,atmega8的芯片。 t3486784401 发表于 2016-10-18 17:27
1. 你的HEX文件正确么?超过64K有时候编译器也会抽风,建议HEX传上来看看;
2. 片子型号选对了么?别需要...
HEX文件是正确的,这是产品批量程序,用的主控芯片是Atmega128a,不存在HEX文件不正确之说。 zxq6 发表于 2016-10-18 17:43
曾经usbasp报过这种故障,因为16bit地址范围导致的。因为我的使用环境木有大于64k的情况,就没有怎么关注。 ...
确实挺郁闷的,芯片ATmega128A超过64k了,能烧程序就是校验不行,不知是固件问题还是烧写软件问题。烧写软件用Progisp1.72,也不行。 t3486784401 发表于 2016-10-18 17:27
1. 你的HEX文件正确么?超过64K有时候编译器也会抽风,建议HEX传上来看看;
2. 片子型号选对了么?别需要...
3. 0H 地址错误,说明很可能 64K 的位置重新写到了 0H 的地方。这种问题是固件问题还是烧写软件的问题。固件我用的是2009.08.28版本的,电路是公版电路,烧写软件是progisp 1.72.操作系统是win7 64位。USBASP驱动也是烧写软件内自带的。 shuipaopao 发表于 2016-10-19 14:09
确实挺郁闷的,芯片ATmega128A超过64k了,能烧程序就是校验不行,不知是固件问题还是烧写软件问题。烧写 ...
Progisp不行的,新版的好像对usbasp做了限制,超过32K的程序烧写就不对
用avrdude试试,不过是命令行的
另外早期版本的固件是有64K的bug,后来修复了,升级到最新版本试试 shuipaopao 发表于 2016-10-19 14:14
3. 0H 地址错误,说明很可能 64K 的位置重新写到了 0H 的地方。这种问题是固件问题还是烧写软件的问题。 ...
没看懂我前面说的是什么? shuipaopao 发表于 2016-10-19 14:14
3. 0H 地址错误,说明很可能 64K 的位置重新写到了 0H 的地方。这种问题是固件问题还是烧写软件的问题。 ...
我 win8, x64 的系统,运行 progisp v1.6.6 可以正确打开烧写长度 >64KB 的 HEX 文件,目测上位机软件的问题不大,很可能是固件的问题 建议直接找zhifeng progisp 的作者买ISP烧写器,毕竟就几十块钱,就解决了。
想折腾的话,看你试试把hex转成bin文件,然后烧写试试?
这个问题几年前遇到过,后来用avr studio4 + 山寨stk500 avr isp搞定,网上有得卖的,几十元搞定。
页:
[1]