Hallo zusammen, ich hoffe ich bin im richtigen Forum und nicht off topic. Seit ein paar Tagen veruche ich STK500.exe ohne der Installtion von AVR-Studio zum Laufen zu bringen. Ich möchte das Programm als Produktionsprogrammer in unserer Elektronik- fertigung einsetzen. Was habe ich bis jetzt gemacht? - Ich habe das Verzeichnis STK500 von meienm PC (wo AVR-Studio 4.18 installiert ist) auf einen PC in der Fertigung kopiert - Ich habe die Dateien "AvrCommon.dll" and "Stk500Common.dll"" (regsvr32.exe AVRCommon.dll and regsvr32.exe Stk500Common.de) registiert - Ich habe herausgefunden das ich die Datei auch "SComm.dll" kopieren muß - Ich habe die Datei "SComm.dll" registiert So weit so gut: Ich habe meine Batchdatei gestartet! +--------------------------------------------------------------------+ | | | C:\TestProject>ISPProgrammer 1 | | | | ~ STK500 command line programme, v 2.3 Atmel Corp | | ~ Connected to AVRISP mkII on port USB:000200090638 | | ~ Setting ISP frequency to 125.0 Khz | | ~ Could not load device parameters for ATMEGA328 | | | | C:\TestProject> | | | +--------------------------------------------------------------------+ UND AB HIER HABE ICH EIN PROBLEM: !!! Could not load device parameters for ATMEGA328 Ich suche nach einer Lösung wie STK500 die "Partdescriptionfiles" findet! Das habe ich schon probiert: - alle .xml-Files in das STK500-Verzeichnis kopiert - alle .xml-Files in ein Verzeichnis "Partdescriptionfiles" im STK500-Verzeichnis kopiert - Das Verzeichnis "Partdescriptionfiles" in den Suchpfad gesetzt Übrigens: Wenn ich AVR-Studio auf dem Produktions-PC installiere dann funktioniert alles. Aber ich will keine Programme die man eignetlich nicht nutzt auf allen ProduktionsPCs installieren. Diesen Artikel habe ich schon gelesen: http://www.avrfreaks.net/forum/stk500exe-required-components-installation aber er endet beim Problem der "Partdescriptionfiles" => Nach der Englischen Übersetzung findet Ihr die verwendete Batchdatei ... Vielen Dank im voraus Gruß ROBERT Hallo together, I hope I have selected the right forum and I'm not off topic. Sorry for my english - I'm german. Since a few days, I try to "install" STK500.exe to run without an installed "AVR Studio". I need this to run STK500.exe as a production-programmer in our fabrication. What did I do until yet? - I copyed the directory "STK500" from my PC (where AVR Studio 4.18 is installed) to a PC at the fabrication - I registerd "AvrCommon.dll" and "Stk500Common.dll"" (regsvr32.exe AVRCommon.dll and regsvr32.exe Stk500Common.de) - I found out that i have to copy "SComm.dll" to my Production-PC - I registerd "SComm.dll" since that, there i a USB-Communication between ASTK500.exe an my "AVR ISP mk II(clone)" So far so good: - I start my Batch-File +--------------------------------------------------------------------+ | | | C:\TestProject>ISPProgrammer 1 | | | | ~ STK500 command line programme, v 2.3 Atmel Corp | | ~ Connected to AVRISP mkII on port USB:000200090638 | | ~ Setting ISP frequency to 125.0 Khz | | ~ Could not load device parameters for ATMEGA328 | | | | C:\TestProject> | | | +--------------------------------------------------------------------+ AND NOW THE PROBLEM: !!! Could not load device parameters for ATMEGA328 I'm searching for an soulution to make STK500.exe to find the "Partdescriptionfiles" I already tryed: - copy all .xml-Files to the SKT500-Directory - copy all .xml-Files to a folder called "Partdescriptionfiles" in the SKT500-Directory - add the Partdescriptionfiles-Directory to the searchpath When I'm installing ACVRStudio to the ProductionPC - then it works fine, but i don't like to install "programms" never used to all the PCs in our Electronic-Production. I reed this article too: http://www.avrfreaks.net/forum/stk500exe-required-components-installation but it stops at the Partdescriptionfiles-Problem Thanks a lot regards Robert ------------------------------------------------------------------------ ---------------------------- :StartOfBatch @echo off MODE CON:cols=40 lines=25 COLOR F0 TITLE STK500/MKII GANGPROGRAMMER/Instanz "%1" cls :STK500 set PrgPath="C:\STK500" :Programmer REM USBPortIDs für Aufruf von 4 Instansen setzen if %1==4 set USBPortID=000200090639 if %1==3 set USBPortID=000200090638 if %1==2 set USBPortID=000200090637 if %1==1 set USBPortID=000200090636 set Port=USB set PrgMode=s set ISPFrq=125kHz :Projekt set Device=ATMEGA328 set ProjektPath=%~dp0 set HexFile=S12A_HWT_BL.%1.hex set EEPFile=S12A_HWT.eep set lfuse=E2 set hfuse=CC set efuse=FC set lock=EC set Fuses=%hfuse%%lfuse% del %0.%1.err goto start1 goto EndeBatch :start1 %PrgPath%\stk500.exe -c%Port% -m%PrgMode% -I%ISPFrq% -d%Device% -e -f%Fuses% -E%efuse% -f%Fuses% -G%efuse% if %errorlevel%==1 goto ErrorFuses echo fertig Fuses %PrgPath%\stk500.exe -c%Port% -m%PrgMode% -I%ISPFrq% -d%Device% -pb -if%ProjektPath%\%HexFile% -ie%ProjektPath%\%EEPFile% if %errorlevel%==1 goto ErrorHexFile %PrgPath%\stk500.exe -c%Port% -m%PrgMode% -I%ISPFrq% -d%Device% -vb -if%ProjektPath%\%HexFile% -ie%ProjektPath%\%EEPFile% if %errorlevel%==1 goto ErrorHexFile echo fertig Hex/EEP-File %PrgPath%\stk500.exe -c%Port% -m%PrgMode% -I%ISPFrq% -d%Device% -l%lock% -L%lock% if %errorlevel%==1 goto ErrorLockbits echo fertig LockBit goto EndeBatch :ErrorFuses echo Fehler beim "Fuses" programmieren : Errorlevel=%errorlevel% goto ErrorEnd :ErrorHexFile echo Fehler beim "Hex/EEP-File" programmieren : Errorlevel=%errorlevel% goto ErrorEnd :ErrorEEPFile echo Fehler beim "EEP-File" programmieren : Errorlevel=%errorlevel% goto ErrorEnd :ErrorLockbits echo Fehler beim "Lockbits" programmieren : Errorlevel=%errorlevel% goto ErrorEnd :ErrorEnd pause :EndeBatch echo %errorlevel% >%0.%1.err pause ------------------------------------------------------------------------ ----------------------------
Spräche denn was dagegen, statt stk500.exe ein AVRDUDE zu nehmen? Vermutlich verstößt du sogar formal gegen Atmels Lizenzbedingungen, wenn du das stk500.exe einzeln irgendwohin transferierst. Davon abgesehen, habe ich auch keine Idee, wie das Teil seine XML-Dateien sucht, möglicherweise mit einem registry key, den der Installer des Studio einträgt.
Jörg W. schrieb: > möglicherweise mit einem registry key Bei mir finden sich die im Bild sichtbaren Registry Keys
Hallo Hr. Wunsch, Danke erst mal für die Antwort. Ich habe avrdude bereits auf automatsichen Testsystemen laufen. Windows 7 Professional x32 AVRDUDE funktioniert dort mit ein paar Einschränkungen: Wenn ich avrdude aus einer Batchdatei dreimal hintereinander starte hängt sich der zweite Aufruf von AVRDUDE auf. AVRDUDE kommt vom ersten Aufruf zurück, aber der Programmer scheint noch nicht fertig zu sein. Wenn der zweite Aufruf von AVRDUDE auf den MKII zugreifen will hängt das Programm. Batchjob1.bat c:\avrdude\avrdude.exe ...-p fuses c:\avrdude\avrdude.exe ...-p flash c:\avrdude\avrdude.exe ...-p eeprom doesn't work Batchjob2.bat c:\avrdude\avrdude.exe ...-p fuses DosDelay(500msec) c:\avrdude\avrdude.exe ...-p flash DosDelay(500msec) c:\avrdude\avrdude.exe ...-p eeprom works Deßhalb habe ich mich entschlossen es mit STK500 zu probieren. Die Programmier-PCs laufen unter Windows 7 professional X64 und dafür habe ich noch keine saubere funktionierende Lösung gefunden den LIBUSB-Treiber unter W7 64-Bit zum Laufen zubringen. Der Jungo-Treiber lässt sich hier ohne Problem installieren. Gruß und Danke ROBERT
Hallo Matthias Sch. in der Regitry habe ich schon gesucht. Aber nur nach "Partdescriptionfiles" diese Einträge habe ich noch nicht gesehen. Ich werde es morgen testen ... Danke einstweilen. Gruß ROBERT
Robert H. schrieb: > Deßhalb habe ich mich entschlossen es mit STK500 zu probieren. Klar, wenn man eins nicht zum Laufen bekommt, statt den Fehler zu suchen, lieber das nächste nehmen. Dann hat man wenigstens neue Fehler. ;-) Erstens kann man natürlich alle Programmieranweisungen bei AVRDUDE in eine Kommandozeile schreiben, dann gibt es nur eine ISP-Session, und alles sollte funktionieren. Zweitens wäre noch interessant, welche AVRDUDE-Version das war. Beim AVRISPmkII sind eigentlich keine „Denkpausen“ nötig, aber ich glaube mich zu erinnern, dass da früher mal ein (überflüssiger) Reset der Schnittstelle im Code drin war. Sollte eigentlich beseitigt sein. (Das JTAGICEmkII hat intern immer so einen Reset gemacht, da es noch zwischen RS-232 und USB umschalten musste. Dagegen half wirklich nur ein sleep, um die Zeit zu überbrücken, bis das OS das Teil wieder in den Bus einsortiert hat.) Ich habe aber selbst kein Windows (höchstens innerhalb einer VM), daher kann ich es jetzt gerade nicht ausprobieren.
Der einfache Weg ist das AVR-Studio zu installieren und nur das zu Verwenden was man wirklich braucht. Das ist sicher besser, als die EXE mit "Hackversuchen" zum laufen zu bekommen. Die Zeiten wo PC's in der Fertigung zu klein waren, sollten lange der Vergangenheit angehören. Keine Probleme schaffen, wo keine sind.
Jörg W. schrieb: Hallo Jörg, >> Deßhalb habe ich mich entschlossen es mit STK500 zu probieren. > Klar, wenn man eins nicht zum Laufen bekommt, statt den Fehler zu > suchen, lieber das nächste nehmen. Dann hat man wenigstens neue > Fehler. ;-) Ein wenig zu meiner Entschuldigung: Da saß mir einfach die Fertigung und die Zeit im Nacken, deßhalb habe ich das ganze zurückgestellt. Zum Fehler finden habe ich am 6.11 den Thread "avrdude: stk500v2_recv_mk2: error in USB receive (AVRDUDE 6.1)" eröffnet! > Zweitens wäre noch interessant, welche AVRDUDE-Version das war. > Beim AVRISPmkII sind eigentlich keine „Denkpausen“ nötig, aber ich > glaube mich zu erinnern, dass da früher mal ein (überflüssiger) Reset > der Schnittstelle im Code drin war. Sollte eigentlich beseitigt sein. Probiert mit AVR-Dude: 6.0.1 und 5.11 Ich werde bei Gelegenheit das ganze weiter Testen und berichten! Danke für die Antwort
Robert H. schrieb: > Zum Fehler finden habe ich am 6.11 den Thread > "avrdude: stk500v2_recv_mk2: error in USB receive (AVRDUDE 6.1)" > eröffnet! Ja, den habe ich damals nicht gesehen. Habe dort geantwortet. Ja, der Patch dafür ist noch nicht drin, wird im nächsten Release dabei sein.
Hallo zusammen, vielen Dank für eure Hilfe. Es läuft bei mir am Platz in einer VM: (Der entscheidende Tip kam von MSchoeldgen - DANKE dir) Hier die Zusammenfassung: - Den Jungutreiber installiert aus dem Paktet: (C:\Program Files (x86)\Atmel\AVR Tools\AVRJungoUSB.exe) - Den Ordner ...\SKT500 von AVRStudio in Verzeichnis kopiert (z.B. C:\STK500) - Den Ordner ...\Partdescriptionfiles kopiert (z.B. C:\STK500\Partdescriptionfiles) - die Dateien "AvrCommon.dll", "Stk500Common.dll" und"SComm.dll" kopiert und registriert (Kopiert nach C:\STK500 und mit "regsvr32.exe dllname.dll" registiert Achtung! Als Administrator machen) - Dann von meinem PC den Schlüssel HKLM\Software\Wow6432\Atmel\AVRTools exportiert und im Windows meiner Testumgebung importiert - Den Registryeintrag HKLM\Software\Wow6432\Atmel angepasst: AVRToolsPath Reg_SZ C:\ST500\ AVRToolsPlugin Reg_SZ C:\ST500\ StudioPath Reg_SZ C:\ST500\ - Den Registryeintrag HKLM\Software\Wow6432\Atmel\STK500 angepasst: IniPath Reg_SZ C:\ST500\ STK500Path Reg_SZ C:\ST500\ UpgradePath Reg_SZ C:\ST500\ Ich hoffe ich habe jetzt keinen Schritt den ich ausgeführt habe ver- gessen. Somit sollte diese ein kleine Anleitung sein. (Ob es unbedingt einfacher ist als gleich AVRStudio zu installieren muß dann jeder selber wissen - ich habe jedefalls einiges daraus gelernt) HINWEIS: Ich abe jetzt nicht mehr geprüft ob es die Lizenz von ATMEL erlaubt, STK500 alleine ohne AVR-Studio zu installieren! Gruß und DANKE euch Robert Angehängt habe ich - den Registryschlüssel für win Win7 x64 System - und eine Bespielbatchdatei für den Programmierjob mit 4 Programmern
ANMERKUNG VON MIR: Wenn sich "SComm.dll" nicht registieren lässt wie auf meinen Produktivrechnern, dann fehlt "WDAPI1011.dll" in "C:\Windows\SysWOW64". Ich habe diese DLL dann nur in das angegebene Verzeichnis kopiert und dann lies sich "SComm.dll" registrieren. Seltsam auf den VMs war diese DLL von der Installation her vorhanden. Auf den Produktivrechnern nicht. Beide Maschinen sollten vom vom Update aber auf aktuellen Stand sein! Und für mich noch unverständlicher: Dependency Walker sagte auf beiden Systemn dass WDAPI1011.dll fehlt! Gruß ROBERT
:
Bearbeitet durch User
Hallo zusammen, Die oben beschriebene Lösung hat auf meinen 64-Bit-Maschinen funktioniert. Aber einfaches "rein Kopierern" und "registrieren" von "WDAPI1011.dll" hat hier nicht funktioniert. Da mich das Problem interessierte habe ich nochmal etwas Zeit spendiert und das ganz als "Fortbildung" gesehen. Durch Vergleich einer Installation auf einer VM wo es und funktioniert und einen echten 32-Bit-System habe ich mit "Dependency Walker" festgestellt, dass MFC90.dll und MSVCR90.dll fehlt. Diese Dateien bringt Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package mit. (https://www.microsoft.com/de-DE/download/details.aspx?id=26368) Nach dem Runterladen und Installiere, lies sich "SComm.dll" ohne Probleme installieren. Jetzt läuft STK500 "stand alone" auf einem Win7 32Bit-System. So weit diese ergänzende Info für alle die es interessiert. Gruß und ALLEN VIELEN DANK FÜR DIE HILFEN Robert
Hallo zusammen, vielleicht noch ein Hinweis weil die Frage immer wieder auftauchte: WARUM VERWENDE ICH NICHT "AVRDUDE"? Ich habe AVR-Dude auf unseren automatischen Testsystemen die noch unter Win7 32-Bit laufen im Einsatz und bin hoch zufrieden. Aber wir haben auch reine Chip-Programmierarbeitsplätze die auf Win7x64 umgestellt wurden. Und hier habe ich Probleme mit AVRDude. Ich habe noch keine einfache Lösung gefunden AVRDUDE und Win7x64 zum Laufen zu bekommen. - mein Probelem ist dabei der LIBUSB-Treiber der unter x64 nicht läuft Habe schon versucht den Treiber mit "DriverSignatureEnhancer" zu signieren aber das ganze war nie von Efolg gekrönt. Irgendwann will ich keine zwei verschieden Programmiersystem mehr betreuen sondern es sollte alles gleich sein. Gruß Robert
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.