[AVR] Atmega8 lässt sich nicht beschreiben

Gast #3077322
Lesenswert?
• ▲
▼
Hallo Zusammen!

Ich habe mir folgendes Set zugelegt:
http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=108

Ich möchte nun den Mikrocontroller mit einem der Beispielprogramme 
bespielen. Dazu habe ich mir Atmelstudio 6.1 und Winavr besorgt, wobei 
ich mich zunächst nur mit dem Atmelstudio beschöftigt habe.

Das Atmelstudio erkennt meinen Programmer und bei entsprechend niedriger 
ISP Frequenz kann ich auch die Daten des Atmega auslesen:
1
Detected Device
2
Device names  ATmega8, ATmega8A
3
Device signature  0x1E9307
4

5
Datasheet Information
6
ATmega8
7
CPU  8-bit AVR
8
Flash size  8 Kbytes
9
EEPROM size  512 bytes
10
SRAM size  1 Kbytes
11
VCC range  2,7 - 5,5 V
12
Maximum speed  N/A

Die Fuses lassen sich ebenfalls auslesen und liegen auf den 
Standardwerten:
High: 0xD9
Low: 0xE1

Daraus entnehme ich, dass der ATmega intern (mit 1 MHz) getaktet ist und 
den Quarz für 8 MHz zunächst gekonnt ignoriert, aber das sollte 
eigentlich das Programmieren an sich nicht verhindern.

Das Beispielprogramm lässt sich problemlos kompilieren.
1
#define  __AVR_ATmega8__  1
2

3
#include "avr/io.h"
4

5
void Initialize(void)
6
{
7
  PORTB = 0x0;
8
  PORTC = 1<<5;  /* turn the LED off */
9
  PORTD = 0x0;
10

11
  DDRB = 0x0;
12
  DDRC = 1<<5;  /* PC5 as output - the LED is there */
13
  DDRD = 0x0;
14

15
}
16

17
/*  state = 0 -> Led Off
18
 *  state = 1 -> Led On
19
 *  state !=[0,1] -> Led Toggle 
20
 */
21
void LedSet(unsigned char state)
22
{
23
  switch (state)
24
  {
25
    case 0:
26
      PORTC &= ~(1<<5);
27
      break;
28
    case 1:
29
      PORTC |= 1<<5;
30
      break;
31
    default:
32
      if (PORTC & 1<<5) 
33
        PORTC &= ~(1<<5);
34
      else
35
        PORTC |= 1<<5;
36
  }
37
  
38
}
39

40

41
int main(void)
42
{
43
  int i;
44

45
  Initialize();
46

47
  while (1)
48
  {
49
    LedSet(0);
50
    for (i=60000;i;i--);
51
    LedSet(1);
52
    for (i=60000;i;i--);
53
  }
54
  return 0;
55
}

Wenn ich das kompilierte Programm dann jedoch übertragen will, erhalte 
ich folgenden Fehler:
1
Verifying Flash...Failed! address=0x0000 expected=0x12 actual=0x00
2

3
Timestamp:  2013-03-08 17:13:17.643
4
Severity:    ERROR
5
ComponentId:  20000
6
StatusCode:  0
7

8
Verifying Flash...Failed! address=0x0000 expected=0x12 actual=0x00

Den µC löschen klappt jedoch, zumindest meckert das Programm dabei 
nicht.

Ich bin für jede Hilfe dankbar!
Gast #3077338
Lesenswert?
• ▲
▼
Hi

>Den µC löschen klappt jedoch, zumindest meckert das Programm dabei
>nicht.

Heißt aber nicht, das es wirklich geklappt hat. Lies mal den Controller 
nach den Löschen aus. Der Flash darf nur 0xFF enthalten.

MfG Spess
#3077513
Lesenswert?
• ▲
▼
moin

Dasselbe Problem habe ich mit Studio 4.18 (benutze ich meistens immer 
noch)
wenn ich im Programmierfenster :
"Use Current simulator/emulator Flash Memory " auswähle
wenn ich hingegen " Input hex file" anwähle und das erzeugte "hex-file " 
lade,damit dann den chip brenne geht das alles problemlos.
Betriebssystem ist Win7 32bit

mfg

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.