Forum: Mikrocontroller und Digitale Elektronik atmega644p führt progamm nicht aus.


von Stefan M. (skysurferone)


Lesenswert?

Hi,

ich habe einen atmega644p den ich mit einem foodloader: 
http://www.lochraster.org/foodloader/ programmiert.

Die Fuses sind so gesetzt: L:0xFF H:0x98 E:0xFC Lock:0x2F

Das ganze wird dann mit dem AVRDude über einen FT232R mit einer ethersex 
Firmware programmiert.
Es hat nun auch schon mehrere male ohne Probleme funktioniert.
Ich habe aber ein Exemplar bei dem ich den Bootloader und das Programm
Flashen und auch Verifizieren kann, aber das Programm wird danach nicht 
ausgeführt. Der Bootloader meldet BP sprich er springt zum 
Programmstart,
jedoch wird das nicht ausgeführt(Ethersex bringt keine Ausgaben).

Ich habe bereits den atmega und den ftdi getauscht, jedoch ohne Erfolg.
Langsam habe ich keine Idee mehr woran es liegen könnte.

Hat von euch noch jemand eine Idee?
Vielen Dank im voraus.

Gruß Stefan

von Krapao (Gast)


Lesenswert?

"Die Standardeinstellung ist, den Bootloader in der 512-Words (1024 
Byte) Section zu installieren. Bei den meisten Controllern bedeutet 
dies, dass die BOOTSZ fusebits programmiert werden müssen, so dass 
BOOTSZ0 auf 1 und BOOTSZ1 auf 0 gesetzt ist (dies sollte im Datenblatt 
verifiziert werden). Wenn die 1024-Words Bootloader Section benutzt 
werden soll, kann im Makefile die genaue Adresse für den Bootloader 
eingestellt werden."
http://www.lochraster.org/foodloader/

Du hast die Fuses auf 4K Bootloader eingestellt. Hast du daran gedacht 
die Bootloader-Startadresse im Makefile anzupassen und Ethersex neu zu 
kompilieren?

> Das ganze wird dann mit dem AVRDude über einen FT232R mit einer ethersex
> Firmware programmiert.
> Es hat nun auch schon mehrere male ohne Probleme funktioniert.
> ...
> Ich habe bereits den atmega und den ftdi getauscht, jedoch ohne Erfolg.

Was hat schon mehrere Male funktioniert, das Aufspielen von Ethersex 
oder das erfolgreiche Laufenlassen von Ethersex?

> Ich habe aber ein Exemplar bei dem ich den Bootloader und das Programm
> Flashen und auch Verifizieren kann, aber das Programm wird danach nicht
> ausgeführt. Der Bootloader meldet BP sprich er springt zum
> Programmstart, jedoch wird das nicht ausgeführt(Ethersex bringt keine
> Ausgaben).

Hast du das Anwendungsprogramm Ethersex selbst kompiliert (ist nötig s. 
oben)? Wenn ja, dann prüf mal, ob das in den verkürzten Flash - 4K 
Boodloader Bereich passt.

von Krapao (Gast)


Lesenswert?

> Du hast die Fuses auf 4K Bootloader eingestellt. Hast du daran gedacht
> die Bootloader-Startadresse im Makefile anzupassen und Ethersex neu zu
> kompilieren?

Add: Die Anpassung im Makefile ist fürs Kompilieren des Bootloaders. Der 
muss neu kompiliert werden. Das Neukompilieren des Ethersex zeigt "nur", 
ob Ethersex dann noch in den stark verkürzten Flash passt.

von Stefan M. (skysurferone)


Lesenswert?

Krapao schrieb:
> "Die Standardeinstellung ist, den Bootloader in der 512-Words (1024
> Byte) Section zu installieren. Bei den meisten Controllern bedeutet
> dies, dass die BOOTSZ fusebits programmiert werden müssen, so dass
> BOOTSZ0 auf 1 und BOOTSZ1 auf 0 gesetzt ist (dies sollte im Datenblatt
> verifiziert werden). Wenn die 1024-Words Bootloader Section benutzt
> werden soll, kann im Makefile die genaue Adresse für den Bootloader
> eingestellt werden."
> http://www.lochraster.org/foodloader/

Ich habe den Bootloader noch etwas angepasst, so dass er automatisch im 
Programmiermodus stehen bleibt wenn ein USB-Kabel ansteckt ist ect.. 
deshalb passer er nicht in den 1024 Byte Bereich und ich musste auf 
einen größeren gehen.

> Du hast die Fuses auf 4K Bootloader eingestellt. Hast du daran gedacht
> die Bootloader-Startadresse im Makefile anzupassen und Ethersex neu zu
> kompilieren?
>
>> Das ganze wird dann mit dem AVRDude über einen FT232R mit einer ethersex
>> Firmware programmiert.
>> Es hat nun auch schon mehrere male ohne Probleme funktioniert.
>> ...
>> Ich habe bereits den atmega und den ftdi getauscht, jedoch ohne Erfolg.
>
> Was hat schon mehrere Male funktioniert, das Aufspielen von Ethersex
> oder das erfolgreiche Laufenlassen von Ethersex?

Ich habe mehrere Boards dieser Ausführung und diese konnte ich über den 
Foodloader programmieren und danach hat Ethersex ohne Probleme 
funktioniert. Deshalb würde ich davon ausgehen, dass die Startadresse 
und und die Ethersex-Firmware nicht das Problem sind.
>
>> Ich habe aber ein Exemplar bei dem ich den Bootloader und das Programm
>> Flashen und auch Verifizieren kann, aber das Programm wird danach nicht
>> ausgeführt. Der Bootloader meldet BP sprich er springt zum
>> Programmstart, jedoch wird das nicht ausgeführt(Ethersex bringt keine
>> Ausgaben).
>
> Hast du das Anwendungsprogramm Ethersex selbst kompiliert (ist nötig s.
> oben)? Wenn ja, dann prüf mal, ob das in den verkürzten Flash - 4K
> Boodloader Bereich passt.

von Krapao (Gast)


Lesenswert?

Dann würde ich in Richtung Hardwarefehler suchen. Also µC von 
lauffähigem Board mit µC von nicht lauffähigem Board kreuzweise 
austauschen, um zu sehen was der Ball macht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.