Forum: Mikrocontroller und Digitale Elektronik avrdude und xmega will nicht immer


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Christian (dragony)


Lesenswert?

Hallo,

ich habe das Problem, dass avrdude manchmal schreibt "avrdude error: 
XPRG_CMD_ENTER_PROGMODE failed". Meistens ging es, deshalb war es mir 
egal. Drückt man halt nochmal F9. Jetzt habe ich hier aber einen, der 
will nur zu 50% der Zeit und da habe ich mal das Oszi angeschmissen und 
PDI_CLK und PDI_DATA mir angeschaut.

Dazu aus dem DB: "The PDI physical layer must be enabled before use. 
This is done by first forcing the PDI_DATA line high for a period longer 
than the equivalent external reset minimum pulse width (refer to device 
datasheet for external reset pulse width data) [Anm: 1us]. This will 
disable the RESET functionality of the Reset pin, if not already 
disabled by the fuse settings. Next, continue to keep the PDI_DATA line 
high for 16 PDI_CLK cycles. The first PDI_CLK cycle must start no later 
than 100μs after the RESET functionality of the Reset pin is disabled. 
If this does not occur in time, the enabling procedure must start over 
again."

Wichtig hier ist "PDI_CLK cycle must start no later than 100μs". Am Oszi 
sehe ich nun, dass PDI_CLK aber so ziemlich genau 100us später startet. 
Diese Zeit ist viel zu lang und da wunderts mich gar nicht, dass das 
nicht immer geht. Korrekt wären eher 10us gewesen. Ich finde aber 
nirgendwo eine Setting, um das zu korrigieren. Kann mir da jemand 
helfen?

Aufruf: avrdude -p atxmega64d3 -c avrispmkii -eU flash:w:main.bin

von Wastl (hartundweichware)


Lesenswert?

Christian schrieb:
> Kann mir da jemand helfen?

Der Fehler liegt an R42 in deiner Schaltung.

(keine Schaltung, kein Programmiergerät, kein Aufbau,
keine Schaltungs-Anordnung gezeigt)

von Steve van de Grens (roehrmond)


Lesenswert?

Christian schrieb:
> Diese Zeit ist viel zu lang

100us ist nicht später als 100us. Also nicht viel zu lang, und auch 
nicht zu lang.

"knapp" wäre ein passender Ausdruck.

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.