Problem mit mySmart USB light und selbstgebauter Platine

OP #4287619
Lesenswert?

Hallo Forum-Nutzer,

ich habe eine Platine geätzt (s. Anhang für Schaltplan und Layout), an 
der der mySmartUSB light angeschlossen (6-pol ISP) wird. Habe die 
Platine deswegen gemacht, weil mySmartUSB mkII keinen Testsockel 
(Nullkraftsockel) hat.

Die einzelnen Verbindungen (+5V, GND, MISO etc.) werden über Drähte 
realisiert. So ist also jeder AVR DIP-µC programmierbar.

Aktuell habe ich einen ATmega8515 in der Schaltung.

Als Programmierer nutze ich AVRDUDE mit folgender Befehlszeile:
1
sudo avrdude -p m8515 -c stk500v2 -P /dev/ttyUSB0 -e -Uflash:w:Test.hex -F

Ich bekomme allerdings folgende Fehlermeldung zurück:
1
avrdude: stk500v2_command(): command failed
2
avrdude: initialization failed, rc=-1
3
avrdude: AVR device initialized and ready to accept instructions
4
avrdude: Device signature = 0xc897c3
5
avrdude: Expected signature for ATmega8515 is 1E 93 06
6

7
avrdude done.  Thank you.

Der simple Assemblercode sieht folgendermaßen aus:
1
.include "8515def.inc"
2

3
; #Makros#
4

5

6
; #Code-Segment#
7
.cseg
8
  ; #Interrupts#
9
  .org 0x00 ; RESET
10
    rjmp RESET
11
  ; #Programm#
12
    RESET:
13
    ldi r16,0x00
14
    
15
  ; #Unterprogramme#
16
    
17

18
; #SRAM-Segment#
19
.dseg
20
  
21
; #EEPROM-Segment#
22
.eseg

Wo liegt der Fehler?

Danke im Voraus!

Mit freundlichen Grüßen
PHBU
Angehängte Dateien:
OP #4287673
Lesenswert?

Hallo nochmal,

>Spannung am µC gemessen. Reset liegt auf annähernd 5V und wird bei
>programmierbeginn auf 0V gezogen?

Hab vor meiner Fragestellung nur den RESET gemessen. Dieser wird von 5V 
sauber auf 0V gezogen (beim Programmieren).

Jetzt habe ich allerdings gemessen, dass die Versorgungsspannung 0V ist. 
Es leuchtet beim mySmartUSB light-Stick zwar die balue LED für die 
Datenübertragung, aber nicht die LED für die 5V-Versorgung.

Wie kann ich die in Linux aktivieren bzw. kann ich das avrdude 
mitteilen?

In der Windows-Software kann man glaub ich ja die Spannungen dort 
programmieren. Und in Linux??

Danke für eure Antworten!

Mit freundlichen Grüßen
PHBU
OP #4287813
Lesenswert?

Hallo nochmal,

es gibt eine Befehlsreferenz für den mySmartUSB light:
1
mySmartUSB-commands (release 07/2010)
2
=====================================
3

4
content:
5
  1. description
6
  2. commands
7
  3. batch-using and example
8

9

10
1. description
11
==============
12

13
The firmware of the mySmartUSB programmer has
14
beside the specific protocols (myMode, STK500, AVR9111/910/109)
15
an own protocol available to address additional features
16
of the mySmartUSB programmer.
17

18
Use the baud rate according to the actual mode.
19

20
protocol          Light   MK2    MK3
21
------------------------------------
22

23
AVR911/910/109      X      X      X
24
(baud 19200)
25

26
STK500              X      -      X
27
(baud 115200)
28

29
myMode              -      -      X
30
(baud 500000)
31

32

33
2. commands
34
===========
35

36
This additional protocol is activated by a identifier
37
which had to be  put in front of each command.
38

39
myAVR-commands, starting with 0xE6='æ'=Alt+0230, 0xBA=0186
40

41
"浺¹²³©" + command ( 0xE6 0xB5 0xBA 0xB9 0xB2 0xB3 0xA9 )
42

43

44
command Light    MK2    MK3    description
45
----------------------------------------------------------------
46
   
47
+        X       X       X     turn on board power supply
48

49
-        X       X       X     turn off board power supply
50

51
r        X       X       X     release reset on the attached board
52

53
i        X       X       X     return the Status of the programmer
54

55
I        -       -       x     return ProgMode
56

57
m        -       X       X     switch the programmer in myMode
58

59
p        -       X      (X)    switch the programmer in programming mode
60

61
d        -       X       X     switch the programmer in pass-through mode RS232
62

63
s        -       -       X     switch the programmer in STK500 mode
64

65
a        -       -       X     switch the programmer in AVR910 mode
66

67
q        -       X       X     switch the programmer in quiet mode
68

69
t        X       -       -     return emulationtype AVR911 ('a') or STK500 ('s')
70

71
v        X       X       X     return version as string
72
                               e.g. info ="2.03.1457"
73

74
C        -       X       X     turn on RescueClock
75

76
c        -       X       X     trun off RescueClock
77

78
R        X       -       -     reset programmer
79

80
B + xx   -       X       -     set baud rate; next Byte is UBRRL;
81
             8MHz: 51=19200, 34=28800,25=38400, 16=57600, (12=76800), 8=115200
82

83
W        X       -       -     powerOnBurn off
84

85
w        X       -       -     powerOnBurn on
86

87
%        X       -       -     return powerOnBurn on ('w') or off ('W')
88

89
3        X       -       -     switch to 3V
90
   
91
5        X       -       -     switch to 5V
92

93
^        X       -       -      return board nominal voltage '3' or '5' Volt
94

95
R        -       -       x     write current mode and ProgMode to EEPROM 
96

97

98
confirmation from the programmer: ["÷"+infos]+"÷±"+code+"\r\n"
99

100

101
3. batch-using and example
102
==========================
103

104
To perform a special command, you can call _mySmart.cmd.
105

106
This file has to be called with 2 parameters:
107
1.para=COM-port
108
2.para=CmdTxt-file
109

110
samlpe: _mySmart.cmd COM3 BoardPowerOn.txt

Über das Terminal habe ich zuerst den Befehl "浺¹²³©5", um die 
Versorgungsspannung auf 5V festzulegen, danach "浺¹²³©+" um die 
Versorgungsspannung letztendlich zu aktivieren, eingegeben.

Bei beiden Befehlen leuchten kurz (ca. 2 Sek.) alle LEDs. Danach gehen 
alle wieder aus.

Muss ich das verstehen?

Wäre dankbar für jede Hilfe!

Mit freundlichen Grüßen
PHBU

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