www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Programm flashen - "avrdude.exe: verification error"


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Ch Sp (spelli)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo,

ich arbeite hier an einer Schaltung und kann auch den Code/das Programm 
auf einen ATmega8 flashen, allerdings erhalte ich folgende 
Fehlermeldung:



C:\Programme\WinAVR-20100110\bin\avrdude.exe -C C:\ ... programm.hex:a

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

Reading | ################################################## | 100% 
0.03s

avrdude.exe: Device signature = 0x1e9307
avrdude.exe: NOTE: FLASH memory has been specified, an erase cycle will 
be performed
             To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: warning: cannot set sck period. please check for usbasp 
firmware update.
avrdude.exe: reading input file "C:\ ... programm.hex"
avrdude.exe: input file C:\ ... programm.hex auto detected as Intel Hex
avrdude.exe: writing flash (3524 bytes):

Writing | ################################################## | 100% 
17.13s

avrdude.exe: 3524 bytes of flash written
avrdude.exe: verifying flash memory against C:\ ... programm.hex:
avrdude.exe: load data flash data from input file C:\ ... programm.hex:
avrdude.exe: input file C:\ ... programm.hex auto detected as Intel Hex
avrdude.exe: input file C:\ ... programm.hex contains 3524 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################################## | 100% 
15.36s

avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x019e
             0x34 != 0xe5
avrdude.exe: verification error; content mismatch

avrdude.exe done.  Thank you.


Das Programm wird geschrieben... Es handelt sich um den USBasp 
programmer!

Fehlermeldung am Ende: "Error writing Flash"...

Könnte man die Fehlerursache irgendwie eingrenzen?

Danke,
Christoph

Autor: CLock (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Ch Sp schrieb:
> cannot set sck period

Klingt nach falscher Angabe des Clocks.
Avrdude kann mit Deiner Angabe offenbar nix anfangen.

Was machst Du denn genau?

Gruss

Autor: Ch Sp (spelli)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Ist eine Steuerung für Servos, ganze genau so etwas hier:


http://www.google.de/search?tbm=isch&hl=de&source=...

Ich habe nun einen L293D eingebaut und seit dem gibts Probleme... Nehme 
ich den raus, bestehen die Probleme weiterhin...


Sowas hier schreibt er erfolgreich ohne Fehlermeldung:
$regfile = "m8def.dat"
$crystal = 7372800                                          ' 7,3728 Mhz Quarzoszillator an PB6 / XTAL 1
$hwstack = 32
$swstack = 32
$framesize = 32

Pwr_all Alias Portc.5
Config Pwr_all = Output


Wait 1

Do


Loop

End


Kann meine zuvor beschriebene Problematik auch an den Stack-Werten 
liegen?

Autor: CLock (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
.. ne, an den Stackwerten liegt das nicht.
Dein Proggi macht ja sowieso nix weiter.

Hast Du noch mehr Code?

Wie sieht die Schaltung aus?

Avrdude Setup?
Gehen andere Projekte mit den selben Einstellungen?

Schaltplan mit/ohne L293?

Was heisst:
>seit dem gibts Probleme... Nehme
>ich den raus, bestehen die Probleme weiterhin...

Was war vorher anders?

MEHR Infos bitte.

Gruss

Autor: Ch Sp (spelli)
Datum:
Angehängte Dateien:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo,

anbei ein Foto der Schaltung und ein Schaltungsplan, allerdings verwende 
ich den ATmega8 und auf den Drucksensor (MPX4115A) habe ich verzichtet.

Anbei der Code. Probleme gibts erst, seitdem ich den Motortreiber 
eingelötet hatte. Der Programmcode oben, welcher leer ist, ist der Code, 
der Successfully geschrieben wird...

Danke für die Hilfe!


' KAP-Rig Control  RX "Drachen" v. 0.19 / LCD / GPS / Befehle
' Stand: 19.04.2012
'
'
'
' Sendesyntax to GROUND: §GROUND#quittierung#zellspannung1#zellspannung2#gpshoehe#nn#
'
' Sendesyntax to KAPRIG: %KAPRIG#commands#nn#nn#nn#nn#



$regfile = "m8def.dat"
$crystal = 7372800                                          ' 7,3728 Mhz Quarzoszillator an PB6 / XTAL 1
$hwstack = 64
$swstack = 64
$framesize = 64
$baud = 9600

Pwr_all Alias Portd.2                                       'Abschaltung der Servos und LM2675 (5V für GPS, Video 5,8 GHz Tx)
Pwr_gps Alias Portd.3
Pwr_video Alias Portd.4

Led_rot Alias Portc.5

Pan1 Alias Portb.0
Pan2 Alias Portd.7





'Variablen
Dim Spannung As Word
Dim Zellspannung_orig As Single
Dim Zellspannung As String * 5


Dim Quittierung As String * 21
Dim Gpshoehe As String * 10

Dim Gps_zeichen As Byte
Dim Gpsdaten As String * 98
Dim Gps_header As String * 6
Dim Gps_anzahl As Byte
Dim Gps_teilstring(14) As String * 12
Dim Gps_hoehenteilstring(2) As String * 8

Dim Befehls_zeichen As Byte
Dim Befehlsdaten As String * 101
Dim Befehls_header As String * 6
Dim Befehls_anzahl As Byte
Dim Befehls_teilstring(5) As String * 21

Dim Temp(9) As Byte
Dim X As Byte
Dim Celsius As Integer
Dim T As Single
Dim Temperatur As String * 5

Dim A As Byte





'Portkonfiguration / Initialisierung
Config Pwr_all = Output
Config Pwr_gps = Output
Config Pwr_video = Output

Config Pan1 = Output                                        'LD293
Config Pan2 = Output



Config 1wire = Portd.3                                      ' Pin für 1wire Schnittstelle festlegen, Schnittstelle wird von BASCOM durch Software realisiert

Config Adc = Single , Prescaler = Auto , Reference = Avcc   'ADC Wandler definieren

Config Portb.1 = Output

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 8



Config Serialin = Buffered , Size = 128
Open "COMB.7:9600,8,N,1" For Input As #1                    'PB.7 = RxD SoftUART / GPS



Const Adc_multi = 0.0048828125                              ' = 5.0 / 1024.0 -> ADC auflösen
Pwr_all = 1                                                 ' bei Systemstart Peripherie auf ON
Pwr_gps = 1
Pwr_video = 1

Led_rot = 1

Pan1 = 0
Pan2 = 0


Declare Sub Xbee                                            ' Senderoutine, um $GROUND#... permanent zu senden

Start Adc

Enable Interrupts


Print "KaprigPRINT"

Wait 1
Led_rot = 0
Wait 1
Led_rot = 1


Do


   '==========Temperaturmessung mit DS18B20Z 1Wire============================

   1wreset
   1wwrite &HCC
   1wwrite &H44
   Waitms 800

   1wreset
   1wwrite &HCC
   1wwrite &HBE


   For X = 1 To 9
      Temp(x) = 1wread()
   Next


   Celsius = Makeint(temp(1) , Temp(2))

   T = Celsius / 16

   Temperatur = Fusing(t , "##.#")


   '==========Spannung LiPo 2S messen========================================

   Spannung = Getadc(0)                                     ' Zelle messen und berechnen
   Zellspannung_orig = Spannung * Adc_multi
   Zellspannung_orig = Zellspannung_orig * 2
   Zellspannung = Fusing(zellspannung_orig , "#.#")

   If Zellspannung_orig <= 6.4 Then                         ' Zellspannung unter/gleich 6,4 Volt (2x 3,2 Volt) dann...
      Gosub Lipo_saver
   End If


   '==========Rx Prüfen auf Befehlseingänge==================================
  '(
   Befehls_zeichen = Inkey()                                ' Zeichen einlesen

   If Befehls_zeichen = 36 Then Input , Befehlsdaten Noecho ' ist "$"  vorhanden, dann Daten/HardUART einlesen >> Befehlsdaten

      Befehls_header = Mid(befehlsdaten , 1 , 6)            'ersten 6 Zeichen nach Befehls_header einlesen
      If Befehls_header = "KAPRIG" Then                     'wenn KAPRIG Befehlssatz, dann

         Befehls_anzahl = Split(befehlsdaten , Befehls_teilstring(1) , "#")       'aus Befehlsdaten in 5 Teilstrings/Arrays, getrennt durch "#", aufteilen
         Befehlsdaten = ""                                  'befehlsdaten leeren
         Gosub Commands                                     ' Auswertung der Befehle/Teilstrings in Subroutine "commands"

      End If
')

   '==========GPS-Auswertung (NL-504ETT)=====================================

   Gps_zeichen = Inkey(#1)                                  ' Zeichen einlesen


   If Gps_zeichen = 36 Then Input #1 , Gpsdaten Noecho      ' ist "$"  vorhanden, dann Daten/SoftUART #1 einlesen >> Gpsdaten

      Gps_header = Mid(gpsdaten , 1 , 5)                    'ersten 5 Zeichen nach Gps_header einlesen
      If Gps_header = "GPGGA" Then                          'wenn GPGGA Befehlssatz, dann


         Gps_anzahl = Split(gpsdaten , Gps_teilstring(1) , ",")       'aus Gpsdaten in 14 Teilstrings/Arrays, getrennt durch ",", aufteilen
         Gps_anzahl = Split(gps_teilstring(10) , Gps_hoehenteilstring(1) , ".")       'Teilstring 10, Höhe xxx.xx, aufteilen in Wert vor dem "."
         Gpsdaten = ""                                      'gpsdaten leeren
         Gpshoehe = Gps_hoehenteilstring(1)                 'gpshoehe = Höhe in Metern vor dem Komma über Meeresspiegel

      End If


   Call Xbee                                                ' kontinuierliches Senden der Parameter

Loop

Eop:
Close #1

End


'----------------Befehlsbibliothek "Commands"-----------------------------------

Commands:
   Select Case Befehls_teilstring(2)

     Case "TAKEPHOTO"                                       ' Teilstring(2) auswerten auf "TAKEPHOTO"
     Locate 4 , 1
     Lcd Befehls_teilstring(2)
     Pwr_all = 0
     Waitms 500
     Pwr_all = 0
     Quittierung = "Photo is taken"
     Waitms 500
     Quittierung = ""
     Cls
     Pwr_all = 1

     Case "PAN_left"

      A = 60
      Compare1a = A
      Pan1 = 1
      Pan2 = 0
      Waitms 30
      Pan1 = 0
      Pan2 = 0


     Case "PAN_right"

      A = 60
      Compare1a = A
      Pan1 = 0
      Pan2 = 1
      Waitms 30
      Pan1 = 0
      Pan2 = 0


   End Select



   Select Case Befehls_teilstring(3)                        ' hier optionale Auswertung von weiteren Teilstrings

     Case ""

     Locate 4 , 1
     Lcd Befehls_teilstring(3) ""



   End Select

Return



'----------------LiPo-Saver/Abschaltung "Lipo_saver"----------------------------

Lipo_saver:
   Quittierung = "LiPo-Saver!"                              ' Quittierung an Bodenstation
   Stop Adc                                                 ' ADC abschalten um Strom zu sparen
   Stop Ac                                                  ' AC abschalten um Strom zu sparen
   Pwr_all = 0                                              ' testweise Ausgabe PWR_all = 0 --> hier: LED an!
   Locate 4 , 1
   Print "LiPo-Saver!"
   Waitms 500
   Quittierung = ""                                         'Quittierung löschen


Return



'----------------Sonstiges------------------------------------------------------


Sub Xbee

    Print "§GROUND#" ; Quittierung ; "#" ; Zellspannung ; "#" ; Gpshoehe ; "#" ; Temperatur ; "#"
    Print Gps_header

End Sub

Autor: Ch Sp (spelli)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Neee, es kommt zwar die Meldung "Flash successfully written" - jedoch 
läuft das o. g. Programm ohne Inhalt -aus dem 1. Thread-, also nur LED 
aufblinken etc. nicht...

Autor: CLock (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hats Du an dem Camera Steckverbinder was dran beim Programmieren?

Wenn ja, mach das mal ab.

Schau mir das heute Abend nochmal genauer an.


Gruss

Autor: Ch Sp (spelli)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo, nein,

angeschlossen ist nur ein Servo, keine Kamera/kein GPS/Kein XBee

Autor: Ch Sp (spelli)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Es war ein Probleem mit der 1wire-Pin Belegung!!!

Autor: CLock (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Schön zu lesen, dass es nun funktioniert.

Noch viel Spaß beim Projekt!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net