Forum: Mikrocontroller und Digitale Elektronik stk500 profilec OS X


von Ephraim H. (ephi)


Lesenswert?

Hallo,

ich habe habe heute meinen Profilec USB RS232 wandler bekommen, und 
wollte endlich mein STK500 am MacBook Pro betreiben.

Nun, ich habe das ding angeschlossen, und die Treiber von der Homepage 
installiert.

Das ding wird auch unter /dev/tty.usbserial aufgeführt.

Nur AVRDUDE will irgendwie nicht. Hier die Ausgabe:
avrdude -c stk500 -P /dev/tty.usbserial -p attiny861 -U 
flash:w:kanalmodul.hex:i
avrdude: stk500_recv(): programmer is not responding
make: *** [flash] Bus error

Hat das schonmal irgendwer zum laufen bekommen?

Hier noch was der system profiler zum wandler sagt:
USB-Serial Controller:

  Produkt-ID:  0x2303
  Hersteller-ID:  0x067b  (Prolific Technology, Inc.)
  Version:  3.00
  Geschwindigkeit:  Bis zu 12 MBit/s
  Hersteller:  Prolific Technology Inc.
  Standort-ID:  0x06200000
  Verfügbare Stromstärke (mA):  500
  Erforderliche Stromstärke (mA):  100

Wäre über Hilfe sehr dankbar!

von Ephraim H. (ephi)


Lesenswert?

Achja: und dabei crasht AVRDUDE auchnoch:

Process:         avrdude [526]
Path:            /usr/local/CrossPack-AVR/bin/avrdude
Identifier:      avrdude
Version:         ??? (???)
Code Type:       X86 (Native)
Parent Process:  make [525]

Interval Since Last Report:          2143 sec
Crashes Since Last Report:           4
Per-App Interval Since Last Report:  0 sec
Per-App Crashes Since Last Report:   4

Date/Time:       2009-06-15 17:31:25.924 +0200
OS Version:      Mac OS X 10.5.7 (9J61)
Report Version:  6
Anonymous UUID:  0182681A-80C8-4530-948A-9ED3C9A315D8

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x000000000000001c
Crashed Thread:  0

Thread 0 Crashed:
0   avrdude                         0x000276d5 0x1000 + 157397
1   avrdude                         0x0002ca19 0x1000 + 178713
2   avrdude                         0x000081b1 0x1000 + 29105
3   avrdude                         0x00001be2 0x1000 + 3042
4   avrdude                         0x00001b09 0x1000 + 2825

Thread 0 crashed with X86 Thread State (32-bit):
  eax: 0x00000000  ebx: 0x000276b5  ecx: 0x0002bec9  edx: 0x0080ac00
  edi: 0xbffff8f9  esi: 0x0080ac00  ebp: 0xbfffee48  esp: 0xbfffee10
   ss: 0x0000001f  efl: 0x00010246  eip: 0x000276d5   cs: 0x00000017
   ds: 0x0000001f   es: 0x0000001f   fs: 0x00000000   gs: 0x00000037
  cr2: 0x0000001c

Binary Images:
    0x1000 -    0x3fff3 +avrdude ??? (???) 
<1d57f0fceac08ad74f103c3f2d0c09b8> /usr/local/CrossPack-AVR/bin/avrdude
   0x45000 -    0x5bfea  libedit.2.dylib ??? (???) 
<eb7bc965302ee8d47e585dbbfd82c938> /usr/lib/libedit.2.dylib
0x8fe00000 - 0x8fe2db43  dyld 97.1 (???) 
<100d362e03410f181a34e04e94189ae5> /usr/lib/dyld
0x90003000 - 0x90136fef  com.apple.CoreFoundation 6.5.6 (476.18) 
<2d52bab73660117571bd6486dc318f8e> 
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFound 
ation
0x9126d000 - 0x912f9ff7  com.apple.framework.IOKit 1.5.2 (???) 
<97b9f9d584f48891377f0481b9104434> 
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x91856000 - 0x91864ffd  libz.1.dylib ??? (???) 
<a98b3b221a72b54faf73ded3dd7000e5> /usr/lib/libz.1.dylib
0x92084000 - 0x92088fff  libmathCommon.A.dylib ??? (???) 
/usr/lib/system/libmathCommon.A.dylib
0x929fd000 - 0x92b36ff7  libicucore.A.dylib ??? (???) 
<cac059ebdac7d9a63ee0f7a648c9f6cf> /usr/lib/libicucore.A.dylib
0x93c7b000 - 0x93de2ff3  libSystem.B.dylib ??? (???) 
<b47c8e6e45aef620730710a732bf1930> /usr/lib/libSystem.B.dylib
0x94fe6000 - 0x95015ff7  libncurses.5.4.dylib ??? (???) 
<d14a12e66edb347d4ce52089b17e3d24> /usr/lib/libncurses.5.4.dylib
0x9600c000 - 0x96013fe9  libgcc_s.1.dylib ??? (???) 
<e280ddf3f5fb3049e674edcb109f389a> /usr/lib/libgcc_s.1.dylib
0x96628000 - 0x96653fe7  libauto.dylib ??? (???) 
<2e44c523b851e8e25f05d13a48070a58> /usr/lib/libauto.dylib
0x96a8e000 - 0x96b6efff  libobjc.A.dylib ??? (???) 
<400e943f9e8a678eea22a1d1205490ee> /usr/lib/libobjc.A.dylib
0x96f5d000 - 0x96fbaffb  libstdc++.6.dylib ??? (???) 
<f75e5133d72769de5ce6c06153fc65f6> /usr/lib/libstdc++.6.dylib
0xfffe8000 - 0xfffebfff  libobjc.A.dylib ??? (???) 
/usr/lib/libobjc.A.dylib
0xffff0000 - 0xffff1780  libSystem.B.dylib ??? (???) 
/usr/lib/libSystem.B.dylib

von Ephraim H. (ephi)


Lesenswert?

Auch weitere versuche mit /dev/cu.usbserial schlugen fehl.
Allerdings hab ich AVRDUDE dazu gebracht nichtmehr abzustürzen, wenn ich 
statt stk500 atk500v1 oder stk500v2 angebe.

avrdude -c stk500v2 -P /dev/cu.usbserial -p attiny861 -U 
flash:w:kanalmodul.hex:i

avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: stk500_2_ReceiveMessage(): timeout
^C
avrdude -c stk500v1 -P /dev/cu.usbserial -p attiny861 -U 
flash:w:kanalmodul.hex:i
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

von Ephraim H. (ephi)


Lesenswert?

ich werd aus dem ding nicht schlau.
Grad eben tat es ohne vorwarnung EIN mal. Wiederholter Versuch ging dann 
wieder nix

avrdude -c stk500v2 -P /dev/cu.usbserial -p attiny861 -U 
flash:w:kanalmodul.hex:i

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.02s

avrdude: Device signature = 0x1e930d
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be 
performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "kanalmodul.hex"
avrdude: writing flash (1048 bytes):

Writing | ################################################## | 100% 
0.31s

avrdude: 1048 bytes of flash written
avrdude: verifying flash memory against kanalmodul.hex:
avrdude: load data flash data from input file kanalmodul.hex:
avrdude: input file kanalmodul.hex contains 1048 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 
0.14s

avrdude: verifying ...
avrdude: 1048 bytes of flash verified

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

von auch Mac-User (Gast)


Lesenswert?

Wird dir nicht viel helfen: Ich habe einen USB2ser.-Wandler mit 
FTDI-Chip, damit geht alles Bestens.

Versuch doch mal ob die serielle überhaupt stabil läuft: Ser.Testprog 
auf dem uC und Terminal-Progr. auf'm Mac. Vielleicht ist der Adapter 
defekt/instabil?

Gruß

von Udo (Gast)


Lesenswert?

Hi,

ich habe einen Profilic Adapter an meinem Mac, und daran
läuft das STK500 ohne Probleme.
Scheinbar habe ich einen anderen Treiber, denn im
System Profiler taucht der Adapter gar nicht auf. Oder ich
bin zu blöd an der richtigen Stelle zu suchen :-)...

Als Device benutze ich NICHT /dev/cu.usbserial, sondern
/dev/tty.usbserial. Das funktioniert bei mir mit minicom,
avrdude und auch problemlos mit Parallels unter welchem
Betriebssystem auch immer.

Das Archiv, mit dem Treiber hat bei mir folgenden
kranken Namen mit \, Leerzeichen etc:

"\IO Cable\PL-2303\Drivers - Generic\MacOS\MacOS 
10.x\md_pl2303H_HX_X_dmg_v1.2.1r2.zip"

Falls Du einen anderen Treiber runter geladen hast,
könntest diesen mal probieren. Ich hab' ihn damals auf der
Profilic Webseite gefunden, falls er dort nicht mehr ist,
kann ich ihn Dir mailen.

ciao
   Udo

von Ephraim H. (ephi)


Lesenswert?

okay, genau diesen treiber hatte ich, und es funktionierte bis auf ein 
einziges mal weder mit  tty.usbserial, noch mit cu.usbserial.

Ich hab nun den freien Treiber von hier installiert:
http://osx-pl2303.sourceforge.net/

Seither funktioniert es einwandfrei.

Danke für eure Antworten

Gruß

von Ephraim H. (ephi)


Lesenswert?

Nun gut,

pronzipiell funktioniert die sache nun zwar, aber ich habe nun folgendes 
Problem:
$ make flash
avrdude -c stk500v2 -P /dev/tty.PL2303-00002006 -p atmega644 -U 
flash:w:cphost.hex:i

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.05s

avrdude: Device signature = 0x1e9609
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be 
performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "cphost.hex"
avrdude: writing flash (3566 bytes):

Writing | ####                                               | 7% 
0.37savrdude: stk500v2_recv(): previous packet sent with wrong checksum
avrdude: stk500v2_recv(): checksum error
Writing | #########################                          | 50% 
2.46savrdude: stk500v2_recv(): previous packet sent with wrong checksum
avrdude: stk500v2_recv(): checksum error
Writing | ####################################               | 71% 
3.48savrdude: stk500v2_recv(): previous packet sent with wrong checksum
avrdude: stk500v2_recv(): checksum error
Writing | #######################################            | 78% 
3.77savrdude: stk500v2_recv(): previous packet sent with wrong checksum
avrdude: stk500v2_recv(): checksum error
Writing | ###########################################        | 86% 
4.07savrdude: stk500v2_recv(): previous packet sent with wrong checksum
avrdude: stk500v2_recv(): checksum error
Writing | ################################################## | 100% 
4.72s

avrdude: 3566 bytes of flash written
avrdude: verifying flash memory against cphost.hex:
avrdude: load data flash data from input file cphost.hex:
avrdude: input file cphost.hex contains 3566 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 
1.31s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0100
         0x08 != 0xf1
avrdude: verification error; content mismatch

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

make: *** [flash] Error 1


Fuses schreiben geht problemlos.
Ich dachte zuerst an zu hohe isp frequenz, und hab sie mit meiner alten 
windose und avrstudio runtergesetzt (geht das irgendwie mim avrdude?) 
aber das half keinen schritt weiter.

Wenn ich meinen ATTiny861 flashen will passiert selbiges, aber da geht 
es wenigstens manchmal, vorallem nach neuprogrammieren der Fuses.

Weis da noch jemand einen Rat?

von Ephraim H. (ephi)


Lesenswert?

gerade eben hab ich versucht den wandler mal unter windows mit avrstudio 
ans laufen zu bringen. Aber das will überhauptnicht. Weder unter VMWare 
Fusion noch an den nativen windows kister (jeweils mit XP). Grund ist 
der Prilific treiber, das ding wird zwar erkannt, ist aber immer mit nem 
gelben ausrufezeichen im gerätemanager versehen.

meine vermutung ist aber sowieso eher das avrdude an den flash fails 
schuld ist.

Ideeen?

von auch Mac-User (Gast)


Lesenswert?

ich glaub nicht dass avrdude schuld ist, sondern der Adapter.

Brück' mal RX und TX und teste so die Verbindung mit einem Terminalprog. 
welches Dateien senden/empfangen kann. Was rausgeht muss auch wieder 
exakt so ankommen.

Wenn du ein Scope hast, schau dabei mal auf die Signalverläufe, ob die 
RS232-Level eingehalten werden.

Gruß
auch Mac-User

von Ephraim H. (ephi)


Lesenswert?

ich wollte das grad mal ausprobieren, aber ich finde kein anständiges 
terminalprogramm für OS X. nur der screen befehl, aber damit kann man ja 
nur empfangene Daten darstellen. und zTerm ist ja total veraltet und 
kostenpflichtig.
Kennst du da noch was brauchbares?

pegel kann ich ggf montag in der schule mal nachmessen.

von auch Mac-User (Gast)


Lesenswert?

ich nehme "minicom" - google mal danach, da gibt es einiges mit OS X im 
Zusammenhang.

Du kannst aber auch was selber schreiben, das macht dann genau was du 
dann auch für deine Anwendung brauchst. Es gibt da ein Projekt 
"testserial.c" welches einen solchen Rumpf bietet.

Gruß
auch Mac-Use

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Mit Profilec hatte ich auch nur Probleme.
Seit ich auf FTDI umgestiegen bin, klappt es einwandfrei.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Profilec

> Profilic

> Prilific

Die Firma Prolific sollte sich nie umbenennen dürfen, da ginge viel 
Kreativität verloren.

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.