JTAGICEmkII schreibt keine Fuses (m169)

Gast #4357696
Lesenswert?
• ▲
▼
Hi,

ich bin blutiger Anfänger, was vermutlich auch die Ursache für mein 
Problem ist. Mein Ziel ist ein Heizkörperthermostat (HR20) mit der 
Firmware OpenHR20 auszustatten. Dazu habe ich mir ein AVR Lab 
geschnappt, eine JTAGICEmkII-Firmware geladen und an das Thermostat 
angeschlossen. Im ersten Moment schien keine Kommunikation möglich. Nach 
dem verdrehen von TDI und TDO konnt der Atmega169 identifiziert werden. 
Ich habe die Batterien aus dem Thermostat genommen und speise es über 
das JTAG.

So sieht meine Verkabelung aus:
1
HR20            JTAG
2

3
1 (/RESET) ---- 3 (RST)
4
2 (PE2)   
5
3 (TMS)  ------- 5 (TMS)
6
4 (TCK)  ------- 7 (SCK=TCK?)
7
5 (TDO)  ------- 9 (TDI)
8
6 (TxD)  
9
7 (RxD)  
10
8 (TDI)  ------- 1 (TDO)
11
9 (+Batt) ----- 2 (VREF)
12
10 (GND) ----- 10 (GND)

Befrage ich den m169 nach seinen Fuses erhalte ich folgende Antwort:
1
$ avrdude -p m169 -c jtagmkII -P usb -n -v
2
[...]
3
avrdude: jtagmkII_getparm(): bad response to get parameter command: RSP_ILLEGAL_PARAMETER
4

5
avrdude: jtagmkII_initialize(): warning: OCDEN fuse not programmed, single-byte EEPROM updates not possible
6
avrdude: AVR device initialized and ready to accept instructions
7

8
Reading | ################################################## | 100% 0.03s
9

10
avrdude: Device signature = 0x1e9405
11
avrdude: safemode: lfuse reads as 62
12
avrdude: safemode: hfuse reads as 91
13
avrdude: safemode: efuse reads as FD
14

15
avrdude: safemode: lfuse reads as 62
16
avrdude: safemode: hfuse reads as 91
17
avrdude: safemode: efuse reads as FD
18
avrdude: safemode: Fuses OK (E:FD, H:91, L:62)
19

20
avrdude done.  Thank you.
21
$

Der OpenHR20-Code benötigt offensichtlich folgende Konfiguration des 
Mikrocontrollers:
1
$ avrdude -p m169 -c jtagmkII -P usb -U hfuse:w:0x97:m -U lfuse:w:0x62:m -U efuse:w:0xFF:m

Leider scheint es nicht möglich zu sein an den Fuses zu rütteln:
1
avrdude: jtagmkII_initialize(): warning: OCDEN fuse not programmed, single-byte EEPROM updates not possible
2
avrdude: AVR device initialized and ready to accept instructions
3

4
Reading | ################################################## | 100% 0.03s
5

6
avrdude: Device signature = 0x1e9405
7
avrdude: reading input file "0x97"
8
avrdude: writing hfuse (1 bytes):
9

10
Writing | ################################################## | 100% 0.01s
11

12
avrdude: 1 bytes of hfuse written
13
avrdude: verifying hfuse memory against 0x97:
14
avrdude: load data hfuse data from input file 0x97:
15
avrdude: input file 0x97 contains 1 bytes
16
avrdude: reading on-chip hfuse data:
17

18
Reading | ################################################## | 100% 0.01s
19

20
avrdude: verifying ...
21
avrdude: verification error, first mismatch at byte 0x0000
22
         0x91 != 0x97
23
avrdude: verification error; content mismatch
24

25
avrdude: safemode: hfuse changed! Was 97, and is now 91
26
Would you like this fuse to be changed back? [y/n] y
27
avrdude: and COULD NOT be changed
28
avrdude: safemode: Fuses not recovered, sorry
29

30
avrdude done.  Thank you.

Auch der Parameter "-u" oder unterschiedliche Antworten auf die Frage 
"Rückgängig oder nicht?" führen dazu, dass die Konfiguration der Fuses 
unverändert bleibt.

Mache ich einen grundsätzlichen Fehler? Muss ich irgendetwas sicher 
stellen damit Fuses geändert werden dürfen? Ggf. sind sogar die Werte 
Unsinn. Es finden sich unterschiedliche im Netz:

http://www.mikrocontroller.net/articles/Heizungssteuerung_mit_Honeywell_HR20#Fuses
https://github.com/OpenHR20/OpenHR20/blob/master/rfmsrc/OpenHR20/flash_hr20.sh

Gruß süppchen
Gast #4357755
Lesenswert?
• ▲
▼
<code>
$ avrdude -p m169 -c jtagmkII -P usb -v -U lock:r:-:b
[...]
avrdude: writing output file "<stdout>"
0b11111100
[...]
</code>

Ich versuche nun noch in Erfahrung zu bringen, was das Setup im Detail 
für Auswirkungen hat.
Gast #4357801
Lesenswert?
• ▲
▼
1
$ avrdude -p m169 -c jtagmkII -P usb -e
hat den Controller leer geräumt und die Lockbits zurück gesetzt. Fuses 
konnten im Anschluss problemlos gesetzt werden und der Flashvorgang 
verlief fehlerfrei. Vielen Dank für die Unterstützung!

Gruß süppchen

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.