Forum: Mikrocontroller und Digitale Elektronik Programmieren unter Windows 7 64Bit?


von Andreas F. (Firma: //) (andifin)


Lesenswert?

Hallo,

nachdem jetzt die ganze Elektronik angekommen ist (Atmel Evaluation 
Board v2.01, ATmega8 und diverser Kleinkram) wollte ich mal loslegen. 
Dazu wollte ich erst einmal die Programme installieren. Da ich mich in 
Assemlber probieren will, habe ich AVR Studio 4 installiert. Das 
funktioniert soweit ohne Probleme.
Dann wollte ich yaap installieren. yaap alleine funktioniert nicht, weil 
es DlPortIO.dll nicht findet. Nach kurzer Recherche habe ich dann den 
DLPortIO Driver von Jesper's AVR pages heruntergeladen. Unter Win7 64Bit 
lässt er sich aber nicht installieren. Nutze ich den 
Kompatibilitätsmodus (Win XP SP2) komme ich zwar etwas weiter, stecke 
dann aber fest, wenn mir der PC sagt: Unable to Execute! 
C:\Users\Andi\AppData\Local\Temp\pft1~tmp\SETUP.EXE/SMS
Und danach: Unable to execute the specified command line!

PonyProg lässt sich auch nicht installieren. Es sagt mir: This program 
can only be installed on versions of Windows designed for the following 
processor architectures: x86

Hier im Board hab ich jetzt nur gelesen, dass es unter Windows 7 (oder 
allg. einem 64Bit-Betriebssystem) nur mit kostenpflichtigen Programmen 
richtig läuft. Ich will aber nur ungern noch mehr Geld ausgeben.
Gibt es inzwischen kostenlose Programme, die laufen? Oder bin ich 
gezwungen, parallel noch Linux zu installieren?

Noch etwas: Gibt es irgendwo ein Tutorial, welches sich speziell mit 
diesem Board befasst? Dort sind ja auch ein paar LEDs und Taster drauf, 
die über Jumper unterschiedlich angesprochen werden. Ich selber blicke 
aber da noch nicht so recht durch. Um das AVR-Tutorial von dieser Seite 
durchzuarbeiten, fehlen mir noch Drahtbrücken. Steckbrett und 
Bauelemente hab ich zu genüge, nur die Drähte hab ich vergessen... -.-

Danke für eure Hilfe!

von Christian R. (supachris)


Lesenswert?

Ich denke, das Hauptproblem liegt am LPT-Programmer. Um den anzusteuern 
braucht man die DLPORTIO.DLL und die geht meines Wissens nicht unter 
x64. Ponyprog arbeitet mit der giveio.sys und das ist ein 32Bit Treiber, 
der geht ebenfalls nicht. So ein direkter Hardware Zugriff unter Windows 
x64 ist kaum machbar. Kauf dir lieber einen USB Programmer, am besten 
den AVR ISP MK II. Damit hast du zunächst mal das Problem weniger.

von Uwe (Gast)


Lesenswert?

Die Frage die sich mir stellt ist, warum muß es unbedingt ein 64-Bit 
Windoof sein, wo es doch bekannt ist das es fast überall hakt und 
klemmt?

von Andreas F. (Firma: //) (andifin)


Lesenswert?

@Christian: Wie genau funktioniert der USB-Programmer denn? Kann ich den 
einfach auf das Evaluation Board anschließen, oder wie wird der mit dem 
Mikroprozessor verbunden?

@Uwe: Ganz einfach: Als ich das System zusammenstellte, habe ich vor 
allem darauf geachtet, dass es spieletauglich ist. Und um 4GB Ram 
ansprechen zu können, braucht man eben leider 64Bit. Die Idee, mich in 
die Welt der iCs zu stürzen, ist mir erst später gekommen.

Alternativ hätte sich gerade noch die Option aufgetan, dass ich einen 
älteren Rechner mit Windows XP, der hier rumsteht, nehmen kann. Wäre 
wohl das unkomplizierteste, hab dann halt nur ein Trumm mehr in meinem 
Zimmer rumstehen.

Trotzdem bleibt mir jetzt bzgl. Windows 7 nur die Erkenntnis, dass ich 
nur mit weiteren Kosten die Programme zum Laufen bekomme, richtig? Denn 
den USB Programmer brauche ich zusätzlich zum Atmel Board, oder? 
Ansonsten könnte ich das nämlich auch noch zurückschicken, ist erst vor 
kurzem eingetroffen.

Danke jedenfalls euch beiden. Wirklich schön, wie schnell einem hier 
geholfen wird!

von TestX .. (xaos)


Lesenswert?

ich benutze win 7x64 seitdem der RTM build draussen ist auch zu proggn 
von avrs. geht problemlos, solange man vernünftiges equipment hat. 
spricht AVR ISP MK2 programmer oder JTAG ICE etc..
gönn dir einfach einen vernünftigen programmer und du hast keine 
probleme ;)

von Andreas F. (Firma: //) (andifin)


Lesenswert?

Ich würde weitere Kosten vorerst ganz gerne umgehen, um ehrlich zu sein. 
Ich habe jetzt schon 100€ in etwas investiert, von dem ich noch nicht 
einmal sicher bin, ob ich es verstehen werde, ob es mich begeistert, 
oder ob ich einfach zu wenig Zeit haben werde, um mich da auch wirklich 
richtig einzuarbeiten. Da würde ich mir lieber einen zweiten PC ins 
Zimmer stellen. Ich hab als gerade frisch angefangener Zivi nicht 
wirklich viel Geld.
Aber danke für deinen Tipp. Wenn ich gefallen an der Sache finde und 
etwas mehr durchsteige, kann ich das ja immer noch in Erwägung ziehen.

von asdf (Gast)


Lesenswert?

Ich hatte schon vor Jahren unter XP 64Bit das selbe "Problem". Die 
günstigste Lösung war ein serieller Programmer (Stichworte 
"ISP-Programmer seriell" und "kompatibel zu AVR910") für ca. 15€. Da 
würde ich mir den zweiten PC nochmal überlegen.

Selbst wenn keine serielle Schnittstelle vorhanden ist hat dieser immer 
noch den Vorteil, dass ich mir einen USB-seriell-Wandler aussuchen kann 
(<<10€) für den es unter meinem Betriebssystem Treiber gibt. Bei den 
"USB"-Programmern ist in der Regel irgendein "USB nach sonstwas-Wandler" 
drin für den man dann genau den passenden Treiber benötigt.

von ollibass_als_gast (Gast)


Lesenswert?

vielleicht klappts ja auch, wenn du xp in einer virtuellen maschine 
installierst. dann hast du nicht noch einen pc rumstehen. kann aber sein 
dass der zugriff auf den parallelport von dort auch nicht richtig 
klappt.

von John Doe (Gast)


Lesenswert?

Die billigste Lösung ist folgende:

Windows XP Mode

installieren. Das ist eine virtuelle Umgebung mit einem 32 bit WinXP die 
bei Win7 64 kostenfrei installiert werden kann. Benutze ich, um mit 
einem alten MPLAB Programmer PICs zu (ver)brennen...

von Martin (Gast)


Lesenswert?

So, ich würde ein AVRISPmkII kaufen und die Sache ist erledigt! kein XP, 
Linux, Virtuel Maschine usw. installieren, du hast ja ein fertiges 
System und gut ist.
Ich habe Windows 7 64 Bit und mein Software läuft perfekt!
Ich habe da WinAVR + AVRDUDE + Notepad am laufen AVRStudio ist auch 
drauf und der "LibUSB-Filter" ist auch installiert (die ganz letzte 
Version) funktioniert alles wunderbar und ich muß nicht auf mein 64Bit 
versichten!!

Gruß
Martin

von Oliver J. (skriptkiddy)


Lesenswert?

Uwe schrieb:
> Die Frage die sich mir stellt ist, warum muß es unbedingt ein 64-Bit
> Windoof sein, wo es doch bekannt ist das es fast überall hakt und
> klemmt?

Ich arbeite jetzt ca. 1 Jahr mit Windows 7 x64 und habe keine 
gravierenden Probleme festgestellt. Wenns mal mit irgendwelchen Treibern 
gehakt hat, da half die Virtualiserung. Dazu hab ich im VMWare-Player 
nen Windows XP x86 laufen und kann damit sogar einen Parallel-Port über 
die benannten DLL ansprechen. Der Parallelport hängt übrigens am 
PCI-Bus. In der virtuellen Maschine sieht der dann wie ein Legacy-Port 
aus.


Gruß Skriptkiddy

von Oliver J. (skriptkiddy)


Lesenswert?

Andreas Finkler schrieb:
> Atmel Evaluation Board v2.01

Mit dem Teil kannst du seriell Programmieren. Der Programmer ist 
onboard. Wenn du nen Parallelport hast, dann hast du doch wahrscheinlich 
auch nen seriellen Port.

Andreas Finkler schrieb:
> PonyProg lässt sich auch nicht installieren. Es sagt mir: This program
> can only be installed on versions of Windows designed for the following
> processor architectures: x86

Installiere es einfach in ne 32-Bit Umgebung und kopiere dann den 
Installationordner einfach in dein Windows7-System. Habs grad mal 
getestet und das funktioniert einwandfrei. Kann auch ohne Probleme nen 
Atmega32 über das Programmer-Interface des Pollin-Boards flashen.

Gruß Skriptkiddy

von Andreas F. (Firma: //) (andifin)


Lesenswert?

@Skript Kiddy: Was genau ist denn der Unterschied, wenn ich seriell 
programmiere? Ich hab halt diese Karte:
http://www.amazon.de/LogiLink-PCI-Schnittstellenkarte-Seriell-2x/dp/B000WBHULY/ref=sr_1_1?ie=UTF8&s=computers&qid=1283530880&sr=8-1

Dazu ein passendes D-Sub-Kabel. Kann ich damit ein anderes Programm auch 
benutzen, oder wie kann ich das verstehen?

Den Trick mit dem auf einem anderen PC die Software zu installieren 
werde ich auch mal probieren, aber wie mache ich das mit dem Treiber?

@ollibas und John Doe: Das Problem an der Sache ist, dass ich so 
wahrscheinlich nicht auf den RS232-Port zugreifen kann.

@Martin: Ich will ungern noch weiter Geld ausgeben, bevor ich nicht 
einmal das hier alles zum Laufen gebracht habe. Vorher stell ich mir 
noch zusätzlich den alten PC ins Zimmer.

Trotzdem danke für alle Antworten!

von Marco S. (marco_s)


Lesenswert?

Auch wenn der Thread schon etwas älter ist kommt hier eine ungetestete 
Lösung:

Quelle
http://ponyprog.sourceforge.net/phorum/read.php?2,501

*Note : USE Parallel LPT Card.

Following are the steps to use Ponyprog (with Parallel AVR ISP I/O) in 
Windows 7 x64 :

1] Install Ponyprog 2.07c on a 32-bit Machine. Copy 
%ProgramFiles%/Ponyprog2000 Folder to any folder in Windows 7 x64 
Machine.
2] Now copy LPTCON.VXD from "System32" folder of 32 bit m/c to 
"system32" folder of Win7 x64 m/c.
3] GEt DLportiox64.zip. Extract "dlportio.sys" and "dlportio.dll".
4] Copy "dlportio.sys" and "dlportio.dll" to both "Systme32/Driver" and 
"Ponyprog2000" folder on Win7 x64 M/c.
5] Create new entry in boot menu say "windows 7 (Ponyprog)" with the 
option >>>>integritycheck = OFF<<<<
6] Print this instruction and Restart PC.
7] Select "windows 7 (Ponyprog)". Press F8 again.
8] Scroll to Select "DISABLE DRIVER SIGNATURE ENFORCEMENT". Press Enter.
9] Run cmd.exe . Change directory to where Ponyprog2000 folder is.
10] Run command "LoadDriver.exe install". A message will appear within 
10-15 seconds, click close on it.
11] Just to verify success run the command "SC start dlportio".
12] done.

You have to do step 7 and 8 everytime on boot if you wish to use 
ponyprog.

This will surely work on Windows Vista x64 too.

LG

von Andreas F. (Firma: //) (andifin)


Lesenswert?

Lustigerweise hat sich dieses Thema für mich gerade erst von selbst 
erledigt, im Studium programmieren wir nun auch auf AVRs und bekommen 
daher Atmel ISP-Progger, mit denen unter Win7 64Bit problemlos 
gearbeitet werden kann. Hätte ich früher gewusst, dass der nur wenige € 
mehr kostet als das Pollinboard, haette ich mir direkt den geholt.

Aber falls noch jemand hier noch mein urspruengliches Problem hat, kann 
er ja jetzt Hilfe finden! Danke!

von Martin (Gast)


Lesenswert?

Uwe schrieb:
> wo es doch bekannt ist das es fast überall hakt und
> klemmt?

Bei mir klemmt seit Jahren nichts. Gar nichts. Alle Peripherie läuft, 
alle Programme, die ich laufen lassen möchte. Ne, nicht ganz, Quake 3 
geht nicht. Aber sonst alles.

Natürlich gibt es Tools, die Ärger machen. Und natürlich ist es doof, 
wenn man darauf angewiesen ist.

Aber "fast überall klemmt es" ist ja wohl die Übertreibung des heutigen 
Tages.

von avr (Gast)


Lesenswert?

das aktuelle avr studio funktioniert einwandfrei !!!

von Peter S (Gast)


Lesenswert?

Hallöchen,

dieser Thread ist zwar schon uralt aber für mich aktueller denn je.
Ich hab hier auf einem Breadboard die im AVR-Tutorial gezeigte Schaltung 
aufgebaut und mit diesem ISP-Programmer
http://www.amazon.de/mySmartUSB-light-Light/dp/B005CNA1M2/ref=sr_1_sc_4?ie=UTF8&qid=1427406318&sr=8-4-spell&keywords=AVR+ISP+MK+II
Mit meinem PC verbunden (Windows 7 64bit). Zunächst mal finde ich mich 
schon im Atmel Studio kaum zurecht, aber das werde ich an anderer Stelle 
erfragen. Ich hab mir auch yaap heruntergeladen und bekomme die selben 
Fehlermeldungen wie im ersten Post beschrieben.
Da ich nun auch schon Unsummen für Kabel, Breadbaord, Bauteile, usw. 
bezahlt habe, hoffe ich, dass es mittlerweile eine Möglichkeit gibt, 
unter Win7 x64 mit meinem Equipment den Atmega8 anzusprechen.
Könnte mir da jemand weiterhelfen?

Mfg
Peter

von Henrik Haftmann (Gast)


Lesenswert?

Im Prinzip sind viele Probleme unter Windows 64bit heutzutage gelöst. 
Allerdings fallweise und mit mehr oder weniger akzeptablen Abstrichen.

Eine VM-Ware und ein 32-Bit-Gastsystem zu benutzen ist der Dampfhammer 
unter den Lösungen: Geht immer, aber ist umständlich und schwerfällig.

Parallelport-zugreifende Closed-Source-Programme müssen in 2 Kategorien 
eingeteilt werden: Solche, die für jeden Zugriff eine externe DLL 
bemühen, und solche, die sich darauf verlassen, dass irgendein 
Kernel-Hack die Portzugriffe aus dem User-Mode zum Parallelport 
durchgreifen lässt. Zu den letzteren gehört avrdude sowie Velleman 
PCS500.

Erstere Programme erschlägt man mit inpout32.dll. Die aktuellen 
Versionen sind zu io.dll, dlportio.dll, jnpout.dll usw. kompatibel und 
man muss sie nur entsprechend umbenennen, damit's klappt. Dazu gehört 
PonyProg oder lcdhype.

Für die anderen Problemfälle gibt es 1. die Lösung, die Portzugriffe per 
Exception-Handler zu einer geeigneten DLL umleiten zu lassen. Ist um 
Faktor 10 langsamer. Dies habe ich in meinem Fork der inpout32.dll 
implementiert. Die 2. Lösung ist ein Patch der IOPM mittels meiner 
64-bit-giveio.sys; dazu muss man weitere Maßnahmen gegen plötzliche 
Bluescreens ergreifen. Der Vorteil ist 100% Geschwindigkeit.

Das Problem mit abweichenden Portadressen von PCI- und PCIexpress-Karten 
sowie USB-Adapter lassen sich ebenfalls durchweg mit meiner inpout32.dll 
erschlagen, via USB mit noch deutlicherem Geschwindigkeitsverlust.

Letztlich ist das Problem nur daraus entstanden, dass:
* wir es mit Closed Source zu tun haben
* Microsoft keine brauchbare API für das Parallelport geschaffen hat

Die Geschwindigkeitsverluste wiederum haben ihre Hauptursache im 
fehlenden Quasistandard einer Mikrokode-basierten API, um die Übergänge 
zum Kernel Mode gering zu halten und trotzdem universell zu bleiben.

henni

von Pete K. (pete77)


Lesenswert?

Benutze das Atmel Studio in der Version 4.18. Dies unterstützt noch den 
alten Typ 910911 Programmer (aka AVRISP). Das neue Atmel Studio 
unterstützt diese Hardware leider nicht mehr (da brauchts ein 
AVRISPMKII). (Hat mit der Windows Version aber nichst zu tun)

Peter S schrieb:
> Da ich nun auch schon Unsummen für Kabel, Breadbaord, Bauteile, usw.
> bezahlt habe

Du kennst aliexpress.com und co?

von Programmer (Gast)


Lesenswert?

Hallo,

habe das gute alte STK500 und mittels USB->RS232-Wandler und dem 
AVR-Studio (meistens Studio4) funktioniert alles wunderbar auf meinem 
64bit-Ultrabook.

Vielleicht solltest du mal diesen Ansatz probieren? Zum Experimentieren 
und üben ist das STK500 echt klasse (die paar Euro auf jeden Fall wert). 
Ist auch die schnellste, vielfältigste und komfortabelste Lösung um 
Hardware mit einem Controller zu verbinden.


Grüße

von Alex Z. (alexander_z49)


Lesenswert?

Henrik Haftmann schrieb:

> Zu den letzteren gehört avrdude sowie Velleman
> PCS500.
>
> henni


Hallo Henrik und Community,

hier hat nicht zufällig einer eine Step-by-Step anleitung, wie man das 
Velleman PCS500 über Win7(64 oder 32 Bit) mit PCI Parallel Port Karte 
(Manhattan 158220) zum laufen bekommt?

Ich hab das Problem, dass das PC Scope Programm den Treiber/Dll beim 64 
Bit Windows nicht akzeptiert und der LPT nicht im Standardbereich der 
Adressen liegt.

Beim 32 Bit Win7 funktioniert der treiber, aber ich kann keine 
Verbindung herstellen, weil die Adresse nicht stimmt.

Alex

von Henrik Haftmann (Gast)


Lesenswert?

Velleman PCS500 Win7/64 Inbetriebnahme:
Hier steht's:
http://forum.velleman.eu/viewtopic.php?f=10&t=4314&start=15

Die Kommentare anderer ignorieren, sind irreführend.

Kurz auf deutsch:
* Velleman-Software wie gewohnt installieren (oder lassen wie sie ist)
* (Die dlportio.sys kann man getrost löschen bei 64 Bit)
* giveio64.zip herunterladen
* giveio.sys auspacken, bspw. nach
  c:\program files (x86)\Velleman\PCLab2000SE
* cmd.exe als Admin (rechte Maustaste, "Als Administrator") starten
* Dienst generieren durch Eingabe von
  sc create dlportio type= kernel binpath= "c:\voller_Pfad\giveio.sys"
  Die Leerzeichen nach "=" sind wirklich so einzugeben!
* Dienst starten durch Eingabe von
  sc start dlportio
* Velleman-Software (PCS500.exe) starten (als Normalbenutzer)
  und die Portadresse der Parallelportkarte angeben

Die Lösung mit giveio64 läuft ohne Geschwindigkeitseinbußen.

Da der Treiber signiert ist und sich nicht mit dem PatchGuard beißt, 
benötigt man keine weitere Vorkehrungen.
Der Treiber beißt sich allerdings mit VMWare u.a. Virtualisierern.
Siehe auch c't-Artikel 24/2015 Seite 182 ff.

Meckert "sc" beim Dienst-Start über fehlerhafte Signatur,
fehlt etwas an den Windows-Updates (Wurzelzertifikat).
In diesem Fall zumindest die aktuellen Wurzelzertifikate 
nachinstallieren.

Kommt dann immer noch keine Kommunikation zum Oszi zustande, sollte man 
die Portadresse und das Kabel überprüfen. Sowie die Stromversorgung des 
Gerätes.

Den Dienst starten muss man jedes Mal, wenn man PCS500.exe starten will. 
(Also aus einem Administrator-cmd-Fenster heraus.) Sicherheitshalber.
Ist das zu umständlich, kann man auch in der Dienste-Verwaltung den 
Dienst dlportio auf "automatischen Start (verzögert)" stellen.

henni

von Alex Z. (alexander_z49)


Lesenswert?

Henrik Haftmann schrieb:
> Velleman PCS500 Win7/64 Inbetriebnahme:
>
> Kommt dann immer noch keine Kommunikation zum Oszi zustande, sollte man
> die Portadresse und das Kabel überprüfen. Sowie die Stromversorgung des
> Gerätes.
>
> Den Dienst starten muss man jedes Mal, wenn man PCS500.exe starten will.
> (Also aus einem Administrator-cmd-Fenster heraus.) Sicherheitshalber.
> Ist das zu umständlich, kann man auch in der Dienste-Verwaltung den
> Dienst dlportio auf "automatischen Start (verzögert)" stellen.
>
> henni

Hallo henni,

die Treiberinstallation hat geklappt, nur leider besteht weiterhin das 
Problem mit der LPT-Port-Adresse. Die PCSLab200SE kann nur die 3 ISA 
Adressen ansteuern und beim Ausführen der PCS500.exe findet er den 
DriverLinx wieder nicht.

Die ISA-Parallelportadressen der PCI-Karte starten bei ECC im Programm 
gibt aber nur 378, 278 und 3BC.

Alex

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.