Benutzer-Werkzeuge

Webseiten-Werkzeuge


programmer

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
programmer [2014/01/25 17:37] – OS ergänzt Michaelprogrammer [2016/02/08 13:47] melior
Zeile 1: Zeile 1:
 ====== Direkte Programmierung mit Programmer ====== ====== Direkte Programmierung mit Programmer ======
  
-Mikrocontroller (u.a. auch die auf vielen Baugruppen verwendeten Atmel-Prozessoren) müssen vor der Benutzung mit einem Programmcode (Firmware) versehen werden. Es gibt verschiedene Methoden, eine Firmware in einen Mikrocontroller hineinzubringen, nachfolgend ist der Weg über die ISP-Schnittstelle beschrieben. Benötigt wird hierzu ein Gerät, welches diese Schnittstelle bedienen kann. Am unkompliziertesten für Atmel-Prozessoren hat sich der [[http://www.atmel.com/tools/avrispmkii.aspx|AVRISP MKII]] erwiesen. +Mikrocontroller (u.a. auch die auf vielen Baugruppen verwendeten Atmel-Prozessoren) müssen vor der Benutzung mit einem Programmcode (Firmware) versehen werden. Es gibt verschiedene Methoden, eine Firmware erstmals in einen Mikrocontroller hineinzubringen, nachfolgend ist der Weg über die ISP-Schnittstelle beschrieben. Benötigt wird hierzu ein Gerät, welches diese Schnittstelle bedienen kann. Am unkompliziertesten für Atmel-Prozessoren hat sich der [[http://www.atmel.com/tools/avrispmkii.aspx|AVRISP MKII]] erwiesen. 
  
-{{::pdi-kabel_am_gbmboost.jpg?200|}} +{{:avrisp_mkii.jpg?200|}} 
 + 
 +Da ich beim Programmieren der LightControl ein Problem damit hatte, den Pfostenstecker des Programmers in die PDI-Buchse der LightControl zu stecken - da war ein Wannenstecker im Weg - habe ich mir eine kleine "Verlängerung" gelötet, die aus einem 6-poligen Pfostenstecker und einer daran angelöteten 6-poligen Pfostenleiste besteht. Auf dem Bild kann man die Verlängerung sehen. 
 + 
 +Die Methode der direkten Programmierung kann man selbstverständlich auch bei der Aktualsierung der Baugruppe verwenden, die meisten Baugruppen unterstützen aber die [[update|Aktualisierung über die BiDiB-Tools]].
  
 ===== Anschluß Programmiergerät ===== ===== Anschluß Programmiergerät =====
  
-Um eine Firmware in einen AVR-Mikroprozessor zu laden, der bereits auf einer Platine verbaut ist, benutzt man die ISP-Schnittstelle. Das ist eine 6-polige Schnittstelle, die meistens in Form einer 2x3-poligen Stiftleiste auf der Platine vorhanden ist. Diese ISP-Schnittstelle verbindet man mit einem Programmiergerät. Das Programmiergerät hat außerdem einen USB-Anschluß, den man mit dem PC verbindet. Als letztes sollte man die Platine mit dem zu programmierenden Mikroprozessor mit Spannung versorgen.+Um eine Firmware in einen AVR-Mikroprozessor zu laden, der bereits auf einer Platine verbaut ist, benutzt man die ISP-Schnittstelle. Das ist eine 6-polige Schnittstelle, die meistens in Form einer 2x3-poligen Stiftleiste auf der Platine vorhanden ist. Diese ISP-Schnittstelle verbindet man mit einem Programmiergerät. Das Programmiergerät hat außerdem einen USB-Anschluß, den man mit dem PC verbindet. Als letztes sollte man die Platine mit dem zu programmierenden Mikroprozessor mit Spannung versorgen.\\ 
 + 
 +Hier zwei Beispiele für den Anschluss des ISP-Steckers:\\  
 +{{:mk_ii.jpg?400  |}}ISP am GBMBoost\\   
 +\\  
 +Wichtig ist, das die, hier rot eingekreiste LED, grün leuchtet. Wenn sie gelb leuchtet, steckt der Stecker falsch herum.\\  
 +{{:monitor:dcc-pola-isp.png|}}\\  Hier ist die ISP-Schnittstelle auf dem DCC-Pola rot markiert.
  
 ===== Programmiersoftware ===== ===== Programmiersoftware =====
Zeile 18: Zeile 28:
 Die neueste grafische Entwicklungsumgebung von Atmel ist das [[http://www.atmel.com/microsite/atmel_studio6/|Atmel Studio 6]]. Sie baut auf Microsofts Visual Studio auf und ist nur für Windows-Systeme geeignet. Die neueste grafische Entwicklungsumgebung von Atmel ist das [[http://www.atmel.com/microsite/atmel_studio6/|Atmel Studio 6]]. Sie baut auf Microsofts Visual Studio auf und ist nur für Windows-Systeme geeignet.
  
-Eine ausführliche Beschreibung zur Einrichtung findet sich hier im Kapitel [[bidiboneentwicklungsumgebung|Entwicklungsumgebung BiDiBone Programmierung]])+Eine ausführliche Beschreibung zur Einrichtung findet sich hier im Kapitel [[bidiboneentwicklungsumgebung|Entwicklungsumgebung BiDiBone Programmierung]] sowie eine Beschreibung für das Aufspielen der [[programmer:programmer_avrstudio|Firmware auf eine BiDiBOne-Baugruppe]].
  
 ==== AVR Studio 4 ==== ==== AVR Studio 4 ====
Zeile 24: Zeile 34:
 Atmels ursprüngliche und sehr erfolgreiche Entwicklungswerkzeug ist AVR Studio 4. Atmels ursprüngliche und sehr erfolgreiche Entwicklungswerkzeug ist AVR Studio 4.
  
-Eine ausführliche Beschreibung findet sich auf den Seiten von Mikrocontroller.net [[http://www.mikrocontroller.net/topic/316052#3420336|AVR Studio 4]]. +Eine ausführliche Beschreibung findet sich auf den Seiten von Mikrocontroller.net 
 +   *[[http://www.mikrocontroller.net/topic/316052#3420336|AVR Studio 4]] 
 +   *[[http://www.mikrocontroller.net/articles/Atmel_Studio|Download]]
 Hier fehlt noch Text. Hier fehlt noch Text.
  
 ==== Eclipse C/C++ ==== ==== Eclipse C/C++ ====
  
-Auch die Integrierte Entwicklungsumgebung: [[http://www.eclipse.org/downloads/|Eclipse C/C++]] kann man in Zusammenarbeit mit avrdude (siehe unten) zur Programmierung der Mikroprozessoren verwenden.+Auch die Integrierte Entwicklungsumgebung: [[http://www.eclipse.org/downloads/|Eclipse C/C++]] kann man in Zusammenarbeit mit avrdude (siehe unten [[programmer#AVRDUDE|AVRDUDE]]) zur Programmierung der Mikroprozessoren verwenden.
  
-Eclipse ist für die Betriebsysteme LinuxWindows und MacOS X geeignet.+Auf der Eclipse-Site stehen neben dem Grundpaket verschiedene Paket-Lösungen bereit. Für uns ist Eclipse C/C++ relevantdas wir von einem nahen Server herunterladen. Eclipse ist eine Java-Anwendung und wird in ein passendes Verzeichnis extrahiert, z.B. /library/eclipse4.3.2_cpp_64Bit oder C:\Programme\eclipse4.3.2_cpp_64Bit. Gestartet wird das Programm mit den üblichen Mitteln des verwendeten Betriebssystems (eclipse.exe, eclipse.app, ...).
  
-Hier fehlt noch Text.+Eclipse ist u.A. für die Betriebsysteme Linux, Windows und MacOS X geeignet und benötigt Java als Unterbau. Für unseren Fall reicht eine so genannte "Standard Edition Runtime Environment (JRE)" ab Version 7 also [[http://www.oracle.com/technetwork/java/javase/downloads/index.html|JRE 7]], wie sie auf vielen Rechnern vorhanden sein dürfte. 
 + 
 +Ab Eclipse 4.3 (Kepler) benötigen wir nur noch ein Pug-In für den Zugriff auf unsere Hardware, z.B. [[http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin|AVR Eclipse Plugin]]. Darin sind alle benötigten Werkzeuge, wie [[programmer#AVRDUDE|AVRDUDE]] und die AVR-Toolchain enthalten. 
 + 
 +<WRAP center round box 80%> 
 +Für Windows-Systeme muss man die GNU-Werkzeuge separat laden, z.B. mit [[http://winavr.sourceforge.net/index.html|WinAVR]]. Zur Ansteuerung eines Programmers ist zusätzlich die [[http://sourceforge.net/apps/trac/libusb-win32/wiki|libusb]] notwendig (mit Filter bei gleichzeitiger Verwendung von Atmel AVR/Studio). 
 +</WRAP> 
 + 
 +Eine ausführliche Beschreibung für die weitere Einrichtung der IDE Eclipse findet sich hier im Kapitel [[bidiboneentwicklungsumgebung|Entwicklungsumgebung BiDiBone Programmierung]] bzw. [[bidiboneentwicklungsumgebung:eclipse_c_cpp|Eclipse C/C++]]. 
 + 
 + 
 +Weitere interessante Links: 
 +  * [[http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial|AVR-GCC-Tutorial (mikrocontroller.net)]] 
 +  * [[http://www.mikrocontroller.net/articles/AVR_Eclipse|AVR Eclipse (mikrocontroller.net)]] 
 +  * [[http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin|AVR eclipse Plugin]] 
 +  * [[http://avrhelp.mcselec.com/libusb.htm|libusb für AVR ISP mk II unter Windows]]
  
 ==== AVRDUDE ==== ==== AVRDUDE ====
Zeile 49: Zeile 75:
 === GBM16T === === GBM16T ===
  
-''sudo avrdude -v -P usb -c avrisp2 -p x128a1 -B10 -e -U flash:w:gbm16t.hex -U eeprom:w:gbm16t.eep''+{{:pdi-kabel_am_gbm16t.jpg?200|}} 
 + 
 +''sudo avrdude -v -P usb -c avrisp2 -p x128a1 -B10 -e -U flash:w:gbm16t.hex -U eeprom:w:gbm16t.eep -U fuse0:w:0xff:m -U fuse1:w:0xaa:m -U fuse2:w:0xba:m -U fuse4:w:0xff:m -U fuse5:w:0xeb:m''
  
 === GBMBoost === === GBMBoost ===
  
-''sudo avrdude -v -P usb -c avrisp2 -p x128a1 -B10 -e -U flash:w:gbmboost_master.hex -U eeprom:w:gbmboost_master.eep''+{{::pdi-kabel_am_gbmboost.jpg?200|}}  
 + 
 +''sudo avrdude -v -P usb -c avrisp2 -p x128a1 -B10 -e -U flash:w:gbmboost_master.hex -U eeprom:w:gbmboost_master.eep -U fuse0:w:0xff:m -U fuse1:w:0xaa:m -U fuse2:w:0xba:m -U fuse4:w:0xff:m -U fuse5:w:0xeb:m'' 
 === LightControl === === LightControl ===
  
-''sudo avrdude -v -P usb -c avrisp2 -p x128a1 -B10 -e -U flash:w:LightControl.hex -U eeprom:w:LightControl.eep''+{{:pdi-kabel_am_lightcontrol.jpg?200|}} 
 + 
 +''sudo avrdude -v -P usb -c avrisp2 -p x128a1 -B10 -e -U flash:w:LightControl.hex -U eeprom:w:LightControl.eep -U fuse0:w:0xff:m -U fuse1:w:0xaa:m -U fuse2:w:0xba:m -U fuse4:w:0xff:m -U fuse5:w:0xeb:m'' 
 === MoBaLiSt === === MoBaLiSt ===
 +
 +{{:isp-kabel_am_mobalist.jpg?200|}}
  
 ''sudo avrdude -v -P usb -c avrisp2 -p m32 -B10 -e -U flash:w:mobalist.hex -U eeprom:w:mobalist.eep'' ''sudo avrdude -v -P usb -c avrisp2 -p m32 -B10 -e -U flash:w:mobalist.hex -U eeprom:w:mobalist.eep''
 +
 === OpenDCC Z1 mit Xpressnet === === OpenDCC Z1 mit Xpressnet ===
  
Zeile 68: Zeile 105:
  
 ''avrdude -v -c avr911 -p m644p -P /dev/opendcc_z1 -U flash:w:OpenDCC_XP.hex -U eeprom:w:OpenDCC_XP.eep -b 19200'' ''avrdude -v -c avr911 -p m644p -P /dev/opendcc_z1 -U flash:w:OpenDCC_XP.hex -U eeprom:w:OpenDCC_XP.eep -b 19200''
 +
 === OpenDCC-Dekoder Version 1 === === OpenDCC-Dekoder Version 1 ===
  
 ''sudo avrdude -v -P usb -c dragon_isp -p t2313 -e -B10 -U lfuse:w:0xee:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m -U flash:w:OpenDecoder.hex -U eeprom:w:OpenDecoder.eep'' ''sudo avrdude -v -P usb -c dragon_isp -p t2313 -e -B10 -U lfuse:w:0xee:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m -U flash:w:OpenDecoder.hex -U eeprom:w:OpenDecoder.eep''
programmer.txt · Zuletzt geändert: 2016/07/05 10:52 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki