当前位置: 代码迷 >> 单片机 >> Linux上,使用avrdude上载程序到ATmega16,能正常连下,但是上载出错
  详细解决方案

Linux上,使用avrdude上载程序到ATmega16,能正常连下,但是上载出错

热度:73   发布时间:2016-04-28 15:42:49.0
Linux下,使用avrdude下载程序到ATmega16,能正常连上,但是下载出错
本帖最后由 jdpshq 于 2012-08-23 20:31:50 编辑 用part来修改eeprom这还可以,但是用来下载hex文件到板上就不行了,都在最后一个read的时候出现:
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0x0c != 0x00
avrdude: verification error; content mismatch

然后,板子完全没有了反映,reset也不管用,就像是hex完全没有进去一样,但是用windows xp就可以写入,也就是板子本身应该是没有问题的。

具体代码是这样的:

下面这个是用avrdude擦写eeprom,貌似是成功的:

[[email protected] ]# avrdude -p m16 -c usbasp -t 

avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9403
avrdude> part
>>> part 

AVR Part                      : ATMEGA16
Chip Erase delay              : 9000 us
PAGEL                         : PD7
BS2                           : PA0
RESET disposition             : dedicated
RETRY pulse                   : SCK
serial program mode           : yes
parallel program mode         : yes
Timeout                       : 200
StabDelay                     : 100
CmdexeDelay                   : 25
SyncLoops                     : 32
ByteDelay                     : 0
PollIndex                     : 3
PollValue                     : 0x53
Memory Detail                 :

                         Block Poll               Page                       Polled
  Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack