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
programmer [2014/01/25 18:14] andreprogrammer [2016/07/05 10:52] (aktuell) – Externe Bearbeitung 127.0.0.1
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.  
 + 
 +{{: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 16: 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 22: 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 47: 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 ===
Zeile 53: Zeile 83:
 {{::pdi-kabel_am_gbmboost.jpg?200|}}  {{::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''+''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.1390670046.txt.gz · Zuletzt geändert: 2016/07/05 10:48 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki