Bootloader der Arduino pro micro ansprechen

OP #7599293
Lesenswert?

Moin, ich versuche, den Bootloader des pro Micro (kompatibles Arduino Leonard) anzusprechen. Mit der Arduino-IDE kann ich das Board problemlos programmieren. Ich muss ein altes AtmelStudio-Projekt umbauen, das für ein Teensy 2.0 gedacht ist. Das Teensy 2.0 ist angekündigt, und das "Folgemodell" verwendet einen anderen Controller.

Jetzt würde ich gerne den Programmierablauf der Arduino-IDE emulieren, um das Board zu programmieren

Wenn man das Board resettet (Reset per "Öffnen und Schließen der Schnittstelle mit 1200 Baud"), meldet sich der Bootloader für eine gewisse Zeit als weiteren Comport am Windows-Rechner an.

Ich bin inzwischen auch so weit, dass ich diese COM herausfinde.

Leider meckert AVRdude, dass es die Schnittstelle nicht mehr gibt. Die Arduino-IDE hat da keine Probleme...

Wie kann ich AVRdude nun dazu bewegen, das Board doch zu programmieren?

Vielen Dank und viele Grüße Rahul

Gast #7599305
Lesenswert?

Rahul D. schrieb:

Leider meckert AVRdude, dass es die Schnittstelle nicht mehr gibt.

Wie sieht die Meldung genau aus? Und wie wird der COM Port vom Gerätemanager angezeigt?

Ich meine mich grob zu erinnern, dass es da mal ein Timing-Problem gab mit Workaround. Kann mich aber gerade nicht an eine gutes Stichwort erinnern, um den Beitrag hier zu finden.

OP #7599323
Lesenswert?

Steve van de Grens schrieb:

Wie sieht die Meldung genau aus?

avrdude: ser_open(): can't open device "\.\COM11:": Das System kann die angegebene Datei nicht finden.

Wf88 schrieb:

-b 57600 afaik war die Option, der alte Bootloader kann nur "langsam".

Die Parameter habe ich von der Arduino-IDE übernommen (und sollten passen, da ich damit schon das Board programmiert habe - heute).

Steve van de Grens schrieb:

Ich meine mich grob zu erinnern, dass es da mal ein Timing-Problem gab mit Workaround.

Das sehe ich auch so.

Im Gegensatz zu dem hier (gerade gefunden), arbeite ich mit temporären Dateien (ich wusste keine andere Lösung): https://github.com/p1ne/arduino-leonardo-uploader

OP #7599329
Lesenswert?

Arduino F. schrieb:

Was zu tun ist:

  1. Alle COM Ports merken
  2. Bootloader starten
  3. Der neu hinzugekommene, ist der Bootloader Port.

Genau so mache ich das. Das ist auch nicht das Problem, sondern, dass der wieder weg ist, wenn avrdude auf ihn zugreifen will.

Ein python-script habe ich auch gefunden (und schon wieder verschlampt). Da ging es aber AFAIR nur um das Reset.

Steve van de Grens schrieb:

Und wie wird der COM Port vom Gerätemanager angezeigt?

"Arduino Leonardo bootloader"

(Firma: Gast) #7599353
Lesenswert?

Ich habe nach kleinen Änderungen keine Probleme mit deiner BAT Datei.

1
E:\bin>REM COM6: ├Âffnen und schli├ƒen
2

3
E:\bin>mode COM6: BAUD=1200
4
Die Voreinstellung für die Datenbits ist 7.
5
Die Voreinstellung für die Parität ist gerade.
6

7
Status von Gerät COM6:
8
----------------------
9
    Baudrate:        1200
10
    Parität:         Even
11
    Datenbits:       7
12
    Stoppbits:       1
13
    Timeout:       OFF
14
    XON/XOFF:        OFF
15
    CTS-Handshaking: OFF
16
    DSR-Handshaking: OFF
17
    DSR-Prüfung:     OFF
18
    DTR-Signal:      OFF
19
    RTS-Signal:      ON
20

21

22
E:\bin>REM kurze Pause
23

24
E:\bin>PING localhost -n 2  1>NUL
25

26
E:\bin>REM AVRdude aufrufen
27

28
E:\bin>E:\Programme\arduino\portable\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude -CE:\Programme\arduino\portable\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf -v -patmega32u4 -cavr109 -PCOM7 -b57600 -D -Uflash:w:E:\temp\Arduino/sketch_feb08c001.ino.hex:i
29

30
avrdude: Version 6.3-20190619
31
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
32
         Copyright (c) 2007-2014 Joerg Wunsch
33

34
         System wide configuration file is "E:\Programme\arduino\portable\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"
35

36
         Using Port                    : COM7
37
         Using Programmer              : avr109
38
         Overriding Baud Rate          : 57600
39
         AVR Part                      : ATmega32U4
40
         Chip Erase delay              : 9000 us
41
         PAGEL                         : PD7
42
         BS2                           : PA0
43
         RESET disposition             : dedicated
44
         RETRY pulse                   : SCK
45
         serial program mode           : yes
46
         parallel program mode         : yes
47
         Timeout                       : 200
48
         StabDelay                     : 100
49
         CmdexeDelay                   : 25
50
         SyncLoops                     : 32
51
         ByteDelay                     : 0
52
         PollIndex                     : 3
53
         PollValue                     : 0x53
54
         Memory Detail                 :
55

56
                                  Block Poll               Page                       Polled
57
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
58
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
59
           eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
60
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
61
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
62
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
63
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
64
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
65
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
66
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
67

68
         Programmer Type : butterfly
69
         Description     : Atmel AppNote AVR109 Boot Loader
70

71
Connecting to programmer: .
72
Found programmer: Id = "CATERIN"; type = S
73
    Software Version = 1.0; No Hardware Version given.
74
Programmer supports auto addr increment.
75
Programmer supports buffered memory access with buffersize=128 bytes.
76

77
Programmer supports the following devices:
78
    Device code: 0x44
79

80
avrdude: devcode selected: 0x44
81
avrdude: AVR device initialized and ready to accept instructions
82

83
Reading | ################################################## | 100% 0.01s
84

85
avrdude: Device signature = 0x1e9587 (probably m32u4)
86
avrdude: safemode: lfuse reads as FF
87
avrdude: safemode: hfuse reads as D8
88
avrdude: safemode: efuse reads as CB
89
avrdude: reading input file "E:\temp\Arduino/sketch_feb08c001.ino.hex"
90
avrdude: writing flash (3972 bytes):
91

92
Writing | ################################################## | 100% 0.67s
93

94
avrdude: 3972 bytes of flash written
95
avrdude: verifying flash memory against E:\temp\Arduino/sketch_feb08c001.ino.hex:
96
avrdude: load data flash data from input file E:\temp\Arduino/sketch_feb08c001.ino.hex:
97
avrdude: input file E:\temp\Arduino/sketch_feb08c001.ino.hex contains 3972 bytes
98
avrdude: reading on-chip flash data:
99

100
Reading | ################################################## | 100% 0.28s
101

102
avrdude: verifying ...
103
avrdude: 3972 bytes of flash verified
104

105
avrdude: safemode: lfuse reads as FF
106
avrdude: safemode: hfuse reads as D8
107
avrdude: safemode: efuse reads as CB
108
avrdude: safemode: Fuses OK (E:CB, H:D8, L:FF)
109

110
avrdude done.  Thank you.
111

112

113
E:\bin>pause
114
Drücken Sie eine beliebige Taste . . .

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