Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Rasenmaehroboter Test

(Was machen die Binärdateien?)
K (Downloads)
 
(16 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Wenn man mit [[AVR]]-Controllern anfängt, braucht man oft eine Binärdatei, um die Programmierungebung zu testen oder ab man den COntroller richtig angeschlossen hat. Im Downloadbereich befinden sich Archive (zip, tar.gz), die solche Binär-Testdateien enthalten.
+
Wenn man mit [[AVR]]-Controllern anfängt, braucht man oft eine Binärdatei, um die Programmierumgebung zu testen oder ab man den [[Microcontroller|Controller]] richtig angeschlossen hat. Das Archiv gibt es als zip-Datei und als tar.gz.
  
 
== Was machen die Binärdateien? ==
 
== Was machen die Binärdateien? ==
Die Programme schalten Port B1 im Sekundentakt zwischen LOW und HIGH hin- und her. Generiert sind die Programme für eine Taktfrequend von 1 MHz. Falls dein AVR mit einem anderen Takt läuft, wann wechselt der Port entsprechend schneller bzw. langsamer.
+
Die Programme schalten Port B1 im Sekundentakt zwischen LOW und HIGH hin- und her. Generiert sind die Programme für eine Taktfrequenz von 1 MHz. Falls dein AVR mit einem anderen Takt läuft, dann wechselt der Port entsprechend schneller bzw. langsamer.
  
 
Eine der einfachsten Anzeigen dafür ist eine [[Leuchtdiode]] (LED).
 
Eine der einfachsten Anzeigen dafür ist eine [[Leuchtdiode]] (LED).
Zeile 17: Zeile 17:
 
Die LED wird mit einem Vorwiderstand R zwischen dem AVR-Port B1 und [[GND]] angeschlossen.
 
Die LED wird mit einem Vorwiderstand R zwischen dem AVR-Port B1 und [[GND]] angeschlossen.
  
Für jeden LED-Typ gibt es eine Forwärtsspannung V<sub>F</sub>. Ist V<sub>CC</sub> die Betriebsspannung, dann muss der Vorwiderstand R größer sein als
+
Für jeden LED-Typ gibt es eine Vorwärtsspannung V<sub>F</sub>. Ist V<sub>CC</sub> die Betriebsspannung, dann muss der Vorwiderstand R größer sein als
 
:<math>
 
:<math>
 
  R_\mathrm{min} = \frac{V_\mathrm{CC}-V_F}{I_F}
 
  R_\mathrm{min} = \frac{V_\mathrm{CC}-V_F}{I_F}
 
</math>
 
</math>
I<sub>F</sub> ist der Strom durch die LED. Für Standart-LEDs genügen 15 mA, für Low-Current-LEDs 2 mA. Typische V<sub>F</sub> für  
+
I<sub>F</sub> ist der Strom durch die LED. Für Standard-LEDs genügen 15 mA, für Low-Current-LEDs 2 mA. Typische V<sub>F</sub> für  
 
* rote LED: 1.6 V
 
* rote LED: 1.6 V
 
* grüne LED: 2.3 V
 
* grüne LED: 2.3 V
Zeile 27: Zeile 27:
  
 
I<sub>F</sub> muss kleiner sein als der Strom, den der AVR liefern kann, also kleiner als 20mA.
 
I<sub>F</sub> muss kleiner sein als der Strom, den der AVR liefern kann, also kleiner als 20mA.
 +
 +
{| {{Blauetabelle}}
 +
|+'''Mindestwiderstand für verschiedene LED-Typen und<br/>V<sub>CC</sub> = 5V'''
 +
|- {{Hintergrund1}}
 +
!|LED-Typ || max. Strom<br/>[mA] ||Mindest-Widerstand<br/>[&Omega;]
 +
|-
 +
| Standard Rot/Gelb    || 15 || 270
 +
|-
 +
| Standard Grün        || 15 || 220
 +
|-
 +
| Low Current Rot/Gelb ||  2 || 1800
 +
|-
 +
| Low Current Grün    ||  4 || 680
 +
|-
 +
| High Efficiency Rot/Gelb      || 5 || 680
 +
|-
 +
| High Efficiency Weiß/Blau/Grün || 5 || 300
 +
|}
 +
 +
High Efficiency LEDs vertragen höhere Ströme, zum Test reichen 5 mA aber dicke aus um was zu sehen.
  
 
== Für welche Controller gibt es Binärdateien? ==
 
== Für welche Controller gibt es Binärdateien? ==
 
Bislang gibt es Binärdateien für folgende AVRs:
 
Bislang gibt es Binärdateien für folgende AVRs:
  
'''AVR Classic:'''
+
<center>
* [[AT90S2313]]
+
{| {{Blauetabelle}}
* [[AT90S8535]]
+
|- {{Hintergrund1}}
* [[AT90S8515]]
+
!|Classic AVR || Getestet
'''ATmega:'''
+
|-
* [[ATmega8]]
+
|[[AT90S2313]] ||
* [[ATmega8515]]
+
|-
* [[ATmega8535]]
+
|[[AT90S8535]] ||
* [[ATmega48]]
+
|-
* [[ATmega88]]
+
|[[AT90S8515]] ||
* [[ATmega162]]
+
|- {{Hintergrund1}}
* [[ATmega168]]
+
!|megaAVR ||
* [[ATmega169]]
+
|-
* [[ATmega32]]
+
|[[ATmega8]]    ||align="center"| '''x'''
* [[ATmega64]]
+
|-
* [[ATmega128]]
+
|[[ATmega8515]] ||
'''ATtiny:'''
+
|-
* [[ATtiny2313]]
+
|[[ATmega8535]] ||
* [[ATtiny24]]
+
|-
* [[ATtiny44]]
+
|[[ATmega48]]   ||
* [[ATtiny84]]
+
|-
 +
|[[ATmega88]]   ||
 +
|-
 +
|[[ATmega16]] ||align="center"| '''x'''
 +
|-
 +
|[[ATmega162]] ||
 +
|-
 +
|[[ATMega168|ATmega168]] ||align="center"| '''x'''
 +
|-
 +
|[[ATmega32]]   ||align="center"| '''x'''
 +
|-
 +
|[[ATmega64]]   ||
 +
|-
 +
|[[ATmega644]]   ||align="center"| '''x'''
 +
|-
 +
|[[ATmega128]]  ||
 +
|- {{Hintergrund1}}
 +
!|LCD AVR ||
 +
|-
 +
|[[ATmega169]]  ||
 +
|- {{Hintergrund1}}
 +
!| tinyAVR      ||
 +
|-
 +
|[[ATtiny2313]]
 +
|-
 +
|[[ATtiny24]]   ||
 +
|-
 +
|[[ATtiny44]]   ||
 +
|-
 +
|[[ATtiny84]]   ||
 +
|}
 +
</center>
  
 
== Wo finde ich was im Archiv? ==
 
== Wo finde ich was im Archiv? ==
 
Im Archiv gibt es für jeden AVR-Typ ein eigenes Unterverzeichnis. Für einen ATmega32 ist es
 
Im Archiv gibt es für jeden AVR-Typ ein eigenes Unterverzeichnis. Für einen ATmega32 ist es
 
  ./blinky/atmega32
 
  ./blinky/atmega32
In diesem Unterverzeichnis liegen die Dateien für den ATmega32, die alle <tt>blinky-b1_atmega8</tt> heissen und verschiedene Endungen haben:
+
In diesem Unterverzeichnis liegen die Dateien für den ATmega32, die alle <tt>blinky-b1_atmega32</tt> heissen und verschiedene Endungen haben:
 
;&#42;.hex: Intel-HEX Datei (binär)
 
;&#42;.hex: Intel-HEX Datei (binär)
 
;&#42;.bin: Binary-Datei (binär)
 
;&#42;.bin: Binary-Datei (binär)
Zeile 68: Zeile 119:
  
 
== Downloads ==
 
== Downloads ==
* [http://people.freenet.de/gjl/pub/blinky.zip blinky.zip] (141 kByte)
+
* [http://www.gjlay.de/pub/blinky.tar.gz blinky.tar.gz] (60 kByte)
* [http://people.freenet.de/gjl/pub/blinky.tar.gz blinky.tar.gz] (57 kByte)
+
* [http://www.gjlay.de/pub/blinky.zip blinky.zip] (156 kByte)
 +
 
 +
== Wo kommen die Binärdateien her? ==
 +
Die einzelnen Dateien wurden alle aus [[Hallo Welt für AVR (LED blinken)#Quellcode|der C-Quelldatei]]
 +
./blinky/blinky.c
 +
erstellt, die ebenfalls im Archiv enthalten ist. Compiler ist [[avr-gcc]].
 +
 
 +
== Siehe auch ==
 +
 
 +
* [[AVR-Einstieg leicht gemacht]]
 +
* [[AVR-ISP Programmierkabel]]
 +
* [[Bascom - Erstes Programm in den AVR Controller übertragen]]
 +
* [[Programmer]]
  
 +
[[Kategorie:Grundlagen]]
 
[[Kategorie:Software]]
 
[[Kategorie:Software]]
 
[[Kategorie:Microcontroller]]
 
[[Kategorie:Microcontroller]]
 
[[Kategorie:Praxis]]
 
[[Kategorie:Praxis]]
 +
[[Kategorie:Projekte]]

Aktuelle Version vom 23. Juli 2007, 17:35 Uhr

Wenn man mit AVR-Controllern anfängt, braucht man oft eine Binärdatei, um die Programmierumgebung zu testen oder ab man den Controller richtig angeschlossen hat. Das Archiv gibt es als zip-Datei und als tar.gz.

Was machen die Binärdateien?

Die Programme schalten Port B1 im Sekundentakt zwischen LOW und HIGH hin- und her. Generiert sind die Programme für eine Taktfrequenz von 1 MHz. Falls dein AVR mit einem anderen Takt läuft, dann wechselt der Port entsprechend schneller bzw. langsamer.

Eine der einfachsten Anzeigen dafür ist eine Leuchtdiode (LED).

Welche Binärformate sind in den Archiven?

In den Archiven sind Binärdateien folgender Formate:

  • Intel HEX (*.hex)
  • srec (*.srec)
  • elf32-avr (*.elf)
  • Binary (*.bin)

Wie muss ich die LED anschliessen?

LED mit Vorwiderstand an Port B1

Die LED wird mit einem Vorwiderstand R zwischen dem AVR-Port B1 und GND angeschlossen.

Für jeden LED-Typ gibt es eine Vorwärtsspannung VF. Ist VCC die Betriebsspannung, dann muss der Vorwiderstand R größer sein als

[math] R_\mathrm{min} = \frac{V_\mathrm{CC}-V_F}{I_F} [/math]

IF ist der Strom durch die LED. Für Standard-LEDs genügen 15 mA, für Low-Current-LEDs 2 mA. Typische VF für

  • rote LED: 1.6 V
  • grüne LED: 2.3 V
  • blau: 3.5 V

IF muss kleiner sein als der Strom, den der AVR liefern kann, also kleiner als 20mA.

Mindestwiderstand für verschiedene LED-Typen und
VCC = 5V
LED-Typ max. Strom
[mA]
Mindest-Widerstand
[Ω]
Standard Rot/Gelb 15 270
Standard Grün 15 220
Low Current Rot/Gelb 2 1800
Low Current Grün 4 680
High Efficiency Rot/Gelb 5 680
High Efficiency Weiß/Blau/Grün 5 300

High Efficiency LEDs vertragen höhere Ströme, zum Test reichen 5 mA aber dicke aus um was zu sehen.

Für welche Controller gibt es Binärdateien?

Bislang gibt es Binärdateien für folgende AVRs:

Classic AVR Getestet
AT90S2313
AT90S8535
AT90S8515
megaAVR
ATmega8 x
ATmega8515
ATmega8535
ATmega48
ATmega88
ATmega16 x
ATmega162
ATmega168 x
ATmega32 x
ATmega64
ATmega644 x
ATmega128
LCD AVR
ATmega169
tinyAVR
ATtiny2313
ATtiny24
ATtiny44
ATtiny84

Wo finde ich was im Archiv?

Im Archiv gibt es für jeden AVR-Typ ein eigenes Unterverzeichnis. Für einen ATmega32 ist es

./blinky/atmega32

In diesem Unterverzeichnis liegen die Dateien für den ATmega32, die alle blinky-b1_atmega32 heissen und verschiedene Endungen haben:

*.hex
Intel-HEX Datei (binär)
*.bin
Binary-Datei (binär)
*.elf
elf-Datei (binär)
*.srec
srec-Datei (binär)
*.lss
Disassembly des Programms (Textdatei)

Die HEX-Datei für einen ATmega32 befindet sich im Archiv also in

./blinky/atmega32/blinky-b1_atmega32.hex

Für die anderen AVRs analog.

Downloads

Wo kommen die Binärdateien her?

Die einzelnen Dateien wurden alle aus der C-Quelldatei

./blinky/blinky.c

erstellt, die ebenfalls im Archiv enthalten ist. Compiler ist avr-gcc.

Siehe auch


LiFePO4 Speicher Test