Das Code reinladen

Gast #667350
Lesenswert?

Hallo Leute,

ich sitze seit einigen stunden und komme nicht mehr weiter. Ich hab ein 
Programm geschrieben und wollte es jetzt in µC reinladen. Beim 
Compilierung bekomme ich keine fehler angezeigt aber beim reinladen des 
Programms im µC folgendes error:

avrdude: ERROR: address 0x0810 out of range at line 129 of 
uartmyavr2.hex

Ich benutze für Attiny2313 und WinAVR entwicklungsumgebung.

hat das schon jemand gehabt? für jede hilfe bin ich dankbar.

Sam
Gast #667354
Lesenswert?

Vielleicht ist das Code zu groß für den Tiny?
Das war ein Schuß ins Blaue, aber deine Forschungen sollten vielleicht 
erstmal in diese Richtung gehen. Was anderes kann ich mir zu einem 
"address out of range" jetzt nicht zusammenreimen.
#667418
Lesenswert?

Sam wrote:

> avrdude: ERROR: address 0x0810 out of range at line 129 of
> uartmyavr2.hex
>
> Ich benutze für Attiny2313 und WinAVR entwicklungsumgebung.

Da hat avrdude recht, in den tiny2313 passen nur 2kB (0000-07FF).

Warscheinlich hast Du float Zahlen verwendet, die float Lib des WINAVR 
paßt nicht in 2kB (die des Keil C51 paßt bequem in 2kB).

Und Du hast auch nicht den tiny2313 als Target eingestellt, sonst hätte 
ne Fehlermeldung erfolgen müssen.


Peter
Gast #669611
Lesenswert?

Hallo Zusammen,

erstmal danke für die Beitäge. Ich hatte für das senden über uart die 
printf funktion definiert:

static int uart_putchar(char c, FILE *stream);
static FILE mystdout = FDEV_SETUP_STREAM(uart_putchar, NULL, 
_FDEV_SETUP_WRITE);

static int uart_putchar(char c,FILE *stream)
{

  if (c == '\n')
  uart_putchar('\r', stream);
  loop_until_bit_is_set(UCSRA, UDRE);
  UDR = c;
  return 0;
}


hiermit kommt das obige fehler. Wenn ich dieses dann weg tuh dann kommt 
auch kein error. Ich will aber dennoch über uart zeichen senden. Kann da 
was an einstellungen sein?

Sam

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren