PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RN-Control Mega32 mittels USB zu RS232 Adapter programmieren



pixolo
31.05.2009, 16:45
Hallo zusammen
Bin noch ganz neu in der Micro Controller Programmierung.
Bis jetzt habe ich schon mal erfolgreich erste Schritte in der Programmierung meines Controllers mittels der Demo von BASCOM-AVR gemacht. Da ich jedoch eigentlich mehr Erfahrung in C, C# und Java Programmierung habe, möchte ich eigentlich lieber mittels Eclipse IDE und dem C-Compiler (WinAVR) arbeiten.

Bin nun auch schon den ganzen Tag hier und bei microcontroller.net am nachforschen ob es allenfalls möglich ist meinen Controller auch mit dem USB nach RS232 Adapter zu beschreiben, da mein Laptop leider über keine RS232 Schnittstelle mehr verfügt.

Ich hoffe sehr, ihr könnt mir diesbezüglich weiter helfen.

Wie gesagt, mittels BASCOM-AVR funktioniert alles wunderbar und ist eigentlich auch sehr einfach. Aber eben... BASIC ist nicht unbedingt meine Welt.

Die nächste Frage die sich mir dann im Zusammenhang mit der Programmierung in C stellt... was benötige ich ausser WinAVR und der mir bereits durch die Java Programmierung vertrauten Eclipse IDE sonst noch?

Gemäss meinen Recherchen vermutlich sowas in der Richtung von PonyProg (vorausgesetzt dies funktioniert auch mit dem USB nach RS232 Adapter) um die generierten HEX-Files auf den Controller zu bekommen.

Ich bedanke mich schon mal herzlichst für Eure Inputs diesbezüglich - Danke.

pixolo
31.05.2009, 19:19
Niemand da der diesbezüglich Auskunft geben kann oder schon Erfahrung in diesem Bereich hat???

Schade

Hubert.G
31.05.2009, 19:19
Also USB Adapter funktionieren sehr schlecht bis gar nicht.
Aber womit hast du denn BASOM programmiert? Du kannst auch das *.hex File in BASCOM laden und dann zum µC übertragen.

pixolo
31.05.2009, 19:29
Hallo Hubert.G
Danke für Deine Antwort. Also beim BASCOM hat es mit dem USB-Adapter sehr gut funktioniert. Hatte nie Probleme damit. Allerdings geht diese Art der Programmierung scheinbar erst oder nur wenn ein Bootloader vorhanden ist. Damit es ging, musste ich lediglich bei Options->Programmer im BASCOM "MCS Bootloader" einstellen und natürlich noch den vom Treiber generierten COM-Port richtig setzen (ist bei mir nun COM4).

Aber Danke für Deinen Input... das wär natürlich am einfachsten wenn es so gehen würde. Allerdings werde ich dann wohl leider ebenfalls wieder die Hürde mit den auf 2 oder 4KB begrenzten Codegrösse der BASCOM Demo haben. Von dem her wäre es mir natürlich irgendwie lieber wenn es möglich wäre ganz auf BASCOM zu verzichten um nicht die doch relativ teure (wenn auch gute) Software von MCS für 89.- Euro zu kaufen.

Ach ja, würdest Du mir denn eher empfehlen einen ISP-Programmer zu organisieren? Damit scheint es ja eigentlich weniger problematisch zu sein... oder geht es damit über USB-Port ebenfalls nicht sonderlich gut den µC zu programmieren?

Sorry das ich vielleicht ein bisschen doofe Fragen stelle, aber bin wirklich blutiger Anfänger. 8-[

C_Classic
31.05.2009, 19:30
Viele USB-Adapter haben nur die Pins TXD, RXD und GND auf der seriellen belegt. Teils werden jedoch noch die anderen Pins gebraucht und es funktioniert warschienlich deshalb oft nicht.
Womit du das Programm - also die HEX-Datei - auf den µC überspielst ist eigentlich egal. Du kannst jedes Programm, das eine Programmierfunktion für den bestimmten Programmieradapter besitzt benutzen. Musst ja nur, wie Hubert G. bereits sagte die HEX-Datei ins Programm laden.

C_Classic
31.05.2009, 19:33
Wenn es nur mit dem MCS Bootloader funktioniert, funktioniert es wahrschienlich auch ur mit Bascom. Da der Bootloader ja auch von denen stammt. Oder täusche ich mich?

Hubert.G
31.05.2009, 19:41
Also das Problem bei den USB-Seriell Adapter besteht darin, das für die Datenübertragung nicht RX - TX verwendet wird, sondern die Handshake-Leitungen.
Das mit dem Bootloader sollte funktionieren, im *.hex File steht ja nicht drinnen von wem es ist.
Einen günstigen und guten USB-Programmer gibt es hier: www.ullihome.de/index.php/Hauptseite#USB_AVR-Lab

pixolo
31.05.2009, 19:47
Hallo C_Classic
Dank auch Dir für Deine Antwort. Also ich hab mir (aus Interesse und um einen ersten relativ einfachen Einstieg ohne Lötaufwand zu haben) einfach bei robotikhardware.de den fertig aufgebauten RN-Control 1.4 Mega32 inkl. RS232 PC-Anschlusskabel für alle Boards, sowie den USB nach RS232 Adapter besorgt.

Allerdings vermute ich ebenfalls das der Bootloader von MCS direkt stammt oder zumindest dem nachempfunden und kompatibel ist.

Wie würden denn allenfalls die Chancen stehen meinen µC mittels dem USB-ISP-Programmer zu programmieren? Dem Namen des Teils entnehme ich jedoch das es vor allem zur Programmierung mittels BASCOM dient, oder geht es mit diesem Ding auch via PonyProg oder irgendwas ähnlichem?

Danke

C_Classic
31.05.2009, 19:59
Soweit ich weiß unterstützt PonyProg den USB-ISP-Programmer.

pixolo
31.05.2009, 20:05
Hallo C_Classic

Hab grad gesehen das es bei robotikhardware.de auch einen Atmel USB ISP-Programmer MKII gibt... mit dem müsste es eigentlich gehen mittels PonyProg den µC zu Programmieren. Zudem war ja Hubert so nett mir einen Link bereit zu stellen wo eine Anleitung zum selber bauen eines solchen ISP liegt.

Was ich mich nun allerdings Frage... was ist eigentlich der Vorteil/Unterschied von einem ISP im Gegensatz zur Programmierung über die "normale" Programmierung mittels RS232?

Ich entschuldige mich auch gleich mal, das diese weitere Frage leider in diesem Bereich etwas OffTopic ist. Aber ging mir jetzt gerade so durch den Kopf.

C_Classic
31.05.2009, 20:26
Was genau verstehst du unter der "normalen Programmierung mittels RS232"?
Ich habe mir einen Seriell-ISP Adapter gebaut. (ISP bedeutet In System Programming). Meinst du sowas mit "normaler Programmierung mittels RS232"? Oder meinst du die Sache mit dem Bootloader?
Oder meinst du mit ISP was anderes?

PS: Ich hoffe ich habe mich verständlich ausgedrückt. Wusst nicht ganz wie ichs formulieren soll. ;)

pixolo
31.05.2009, 20:51
Hihi... ja C_Classic, hast Dich durchaus verständlich ausgedrückt. Ich glaub eher das ich derjenige bin der sich etwas seltsam ausgedrückt hat. Das liegt aber vermutlich auch einfach daran das ich ein totaler Grünschnabel in der µC Programmierung bin. ;)

Mit normaler Programmierung meinte ich eigentlich: statt mit einem ISP (ist für mich erst recht absolutes neuland) mit meinem simplen USB nach RS232 Adapter, wo ich dann einen virtuellen COM-Port und im BASCOM den Bootloader nutze/einstelle.

C_Classic
31.05.2009, 22:01
Hi pixolo, hier mal eine kleine Zusammenstellung der Vorteile und der Nachteile von ISP bzw. eines Bootloaders:

gegen Bootloader
- Der Bootloader braucht auf dem Mikrocontroller ein bisschen Speicher - das ist meistens jedoch so wenig, dass dies nicht relevant ist. Der fällt bei ISP weg.
- Es ist mit dem Bootloader nicht möglich, die Fuses zu programmieren. Mit ISP gehts.

für Bootloader
- Da man die Fuses nicht programmieren kann, ist es schwerer den Controller in einen Zustand zu bringen, in dem er die Verbindung zum PC verweigert. (Das widerspricht zwar dem oben, aber wer keine Fuses braucht...)
- Der Programmieradapter entfällt(zumindest teils), ein simples serielles Kabel reicht.
- USB nach RS232 Adapter nutzbar


So das war Alles, was mir momentan eingefallen ist. Ich hoffe mal, dass es so stimmt. Wenn mir noch was einfällt ergänz ich den Punkt.

pixolo
31.05.2009, 22:45
Vielen Dank C_Classic

Du hast das sehr verständlich erklärt. Damit weiss ich nun schon einiges mehr als zuvor. Ist echt super wie gut einem Neuling hier geholfen und wie gut die Fragen beantwortet werden. :) Danke

Vielen Dank auch nochmals an Hubert. Auch seine Erklärungen haben mich nun doch schon wieder etwas weiter in diesem umfangreichen Thema gebracht.