<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Burkhart+h</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Burkhart+h"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Burkhart_h"/>
	<updated>2026-04-11T08:40:35Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=55622</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=55622"/>
		<updated>2011-03-08T13:35:38Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Funktionen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Diskussionsforum in: http://www.mikrocontroller.net/topic/206704#2041796&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;When I was your age, we had 8 bit CPUs and assembler! And we liked it! And we didn&#039;t complain!&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
above is &amp;quot;cut -&amp;gt; copy -&amp;gt; paste -&amp;gt; modify&amp;quot; from http://www.ethernut.de/en&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller. Es wurde im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der HWR-Berlin unter Mitarbeit vieler Studenten entwickelt. Es ist ein reines Assemblerprojekt, entwickelt unter Linux mit GNU-Tools. Deren letzte stabile Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion und 256 Byte des SRAMs. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im Makefile muß der Pfad zu den GNU-Tools angepasst werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BBINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepasst werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&lt;br /&gt;
Jetzt kann der Programmer entfernt werden (nur noch die serielle Verbindung (USB), welche auch die Spannungsversorgung bereitstellt) und man kann schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepassten Version arduinokermit http://minikermit.googlecode.com. arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch C/C++/ASM-Programme ohne arduinokermit (mit der ArdinoIDE oder avrdude mit der Option -carduino, http://www.mikrocontroller.net/articles/AVRDUDE) über die serielle Schnittstelle (USB) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden!!&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom C/C++/ASM-Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle am Anfang des Monitors.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega128), den arduinoMega (atmega1280) und den arduinoDuemilanove (atmega328p) getestet. Der atmega328p hat nur eine 2KWord Bootsection (0x3800 - 0x3FFF), deswegen wurde hier der Beginn des Monitors auf 0x3000 gelegt und auf der Adresse 0x3800 (Startadresse nach Reset) im Monitor ein Sprung zu 0x3000 eingebaut (besser &amp;quot;eingebastelt&amp;quot;, weil wohl der Linker mit mehreren Codesegmenten auf festen vorgegebenen Adressen nicht richtig klar kommt!). Die Anpassung an andere AVR8 Prozessoren ist nicht aufwändig. Dazu müssen im Wesentlichen die Makros in den board/prozessorspezifischen Files (arduinomegadefines.h,  arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* http://bamo128.googlecode.com&lt;br /&gt;
* http://minikermit.googlecode.com&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]],[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=55371</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=55371"/>
		<updated>2011-02-26T16:36:17Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Diskussionsforum in: http://www.mikrocontroller.net/topic/206704#2041796&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;When I was your age, we had 8 bit CPUs and assembler! And we liked it! And we didn&#039;t complain!&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
above is &amp;quot;cut -&amp;gt; copy -&amp;gt; paste -&amp;gt; modify&amp;quot; from http://www.ethernut.de/en&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller. Es wurde im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der HWR-Berlin unter Mitarbeit vieler Studenten entwickelt. Es ist ein reines Assemblerprojekt, entwickelt unter Linux mit GNU-Tools. Deren letzte stabile Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion und 256 Byte des SRAMs. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im Makefile muß der Pfad zu den GNU-Tools angepasst werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BBINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepasst werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&lt;br /&gt;
Jetzt kann der Programmer entfernt werden (nur noch die serielle Verbindung (USB), welche auch die Spannungsversorgung bereitstellt) und man kann schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepassten Version arduinokermit http://minikermit.googlecode.com. arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit (mit der ArdinoIDE oder avrdude mit der Option -carduino, http://www.mikrocontroller.net/articles/AVRDUDE) über die serielle Schnittstelle (USB) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden!!&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega128), den arduinoMega (atmega1280) und den arduinoDuemilanove (atmega328p) getestet. Der atmega328p hat nur eine 2KWord Bootsection (0x3800 - 0x3FFF), deswegen wurde hier der Beginn des Monitors auf 0x3000 gelegt und auf der Adresse 0x3800 (Startadresse nach Reset) im Monitor ein Sprung zu 0x3000 eingebaut (besser &amp;quot;eingebastelt&amp;quot;, weil wohl der Linker mit mehreren Codesegmenten auf festen vorgegebenen Adressen nicht richtig klar kommt!). Die Anpassung an andere AVR8 Prozessoren ist nicht aufwändig. Dazu müssen im Wesentlichen die Makros in den board/prozessorspezifischen Files (arduinomegadefines.h,  arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* http://bamo128.googlecode.com&lt;br /&gt;
* http://minikermit.googlecode.com&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]],[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=55370</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=55370"/>
		<updated>2011-02-26T16:35:13Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Diskussionsforum in: http://www.mikrocontroller.net/topic/206704#2041796&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;When I was your age, we had 8 bit CPUs and assembler! And we liked it! And we didn&#039;t complain!&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
above is &amp;quot;cut -&amp;gt; copy -&amp;gt; paste -&amp;gt; modify&amp;quot; from * www.ethernut.de/en&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller. Es wurde im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der HWR-Berlin unter Mitarbeit vieler Studenten entwickelt. Es ist ein reines Assemblerprojekt, entwickelt unter Linux mit GNU-Tools. Deren letzte stabile Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion und 256 Byte des SRAMs. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im Makefile muß der Pfad zu den GNU-Tools angepasst werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BBINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepasst werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&lt;br /&gt;
Jetzt kann der Programmer entfernt werden (nur noch die serielle Verbindung (USB), welche auch die Spannungsversorgung bereitstellt) und man kann schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepassten Version arduinokermit http://minikermit.googlecode.com. arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit (mit der ArdinoIDE oder avrdude mit der Option -carduino, http://www.mikrocontroller.net/articles/AVRDUDE) über die serielle Schnittstelle (USB) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden!!&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega128), den arduinoMega (atmega1280) und den arduinoDuemilanove (atmega328p) getestet. Der atmega328p hat nur eine 2KWord Bootsection (0x3800 - 0x3FFF), deswegen wurde hier der Beginn des Monitors auf 0x3000 gelegt und auf der Adresse 0x3800 (Startadresse nach Reset) im Monitor ein Sprung zu 0x3000 eingebaut (besser &amp;quot;eingebastelt&amp;quot;, weil wohl der Linker mit mehreren Codesegmenten auf festen vorgegebenen Adressen nicht richtig klar kommt!). Die Anpassung an andere AVR8 Prozessoren ist nicht aufwändig. Dazu müssen im Wesentlichen die Makros in den board/prozessorspezifischen Files (arduinomegadefines.h,  arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* http://bamo128.googlecode.com&lt;br /&gt;
* http://minikermit.googlecode.com&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]],[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54802</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54802"/>
		<updated>2011-02-07T10:49:42Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Getestete Plattformen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Diskussionsforum in: http://www.mikrocontroller.net/topic/206704#2041796&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller. Es wurde im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der HWR-Berlin unter Mitarbeit vieler Studenten entwickelt. Es ist ein reines Assemblerprojekt, entwickelt unter Linux mit GNU-Tools. Deren letzte stabile Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion und 256 Byte des SRAMs. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im Makefile muß der Pfad zu den GNU-Tools angepasst werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BBINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepasst werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&lt;br /&gt;
Jetzt kann der Programmer entfernt werden (nur noch die serielle Verbindung (USB), welche auch die Spannungsversorgung bereitstellt) und man kann schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepassten Version arduinokermit http://minikermit.googlecode.com. arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit (mit der ArdinoIDE oder avrdude mit der Option -carduino, http://www.mikrocontroller.net/articles/AVRDUDE) über die serielle Schnittstelle (USB) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden!!&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega128), den arduinoMega (atmega1280) und den arduinoDuemilanove (atmega328p) getestet. Der atmega328p hat nur eine 2KWord Bootsection (0x3800 - 0x3FFF), deswegen wurde hier der Beginn des Monitors auf 0x3000 gelegt und auf der Adresse 0x3800 (Startadresse nach Reset) im Monitor ein Sprung zu 0x3000 eingebaut (besser &amp;quot;eingebastelt&amp;quot;, weil wohl der Linker mit mehreren Codesegmenten auf festen vorgegebenen Adressen nicht richtig klar kommt!). Die Anpassung an andere AVR8 Prozessoren ist nicht aufwändig. Dazu müssen im Wesentlichen die Makros in den board/prozessorspezifischen Files (arduinomegadefines.h,  arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* http://bamo128.googlecode.com&lt;br /&gt;
* http://minikermit.googlecode.com&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]],[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54801</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54801"/>
		<updated>2011-02-07T10:47:26Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Getestete Plattformen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Diskussionsforum in: http://www.mikrocontroller.net/topic/206704#2041796&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller. Es wurde im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der HWR-Berlin unter Mitarbeit vieler Studenten entwickelt. Es ist ein reines Assemblerprojekt, entwickelt unter Linux mit GNU-Tools. Deren letzte stabile Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion und 256 Byte des SRAMs. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im Makefile muß der Pfad zu den GNU-Tools angepasst werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BBINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepasst werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&lt;br /&gt;
Jetzt kann der Programmer entfernt werden (nur noch die serielle Verbindung (USB), welche auch die Spannungsversorgung bereitstellt) und man kann schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepassten Version arduinokermit http://minikermit.googlecode.com. arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit (mit der ArdinoIDE oder avrdude mit der Option -carduino, http://www.mikrocontroller.net/articles/AVRDUDE) über die serielle Schnittstelle (USB) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden!!&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega128), den arduinoMega (atmega1280) und den arduinoDuemilanove (atmega328p) getestet. Der atmega328p hat nur eine 2KWord Bootsection (0x3800 - 0x3FFF), deswegen wurde hier der Beginn des Monitors auf 0x3000 gelegt ud auf der Adresse 0x3800 (Startadresse nach Reset) im Monitor ein Sprung zu 0x3000 eingebaut (besser &amp;quot;eingebastelt&amp;quot;, weil wohl der Linker mit mehreren Codesegmenten auf festen vorgegebenen Adressen nicht richtig klar kommt!). Die Anpassung an andere AVR8 Prozessoren ist nicht aufwändig. Dazu müssen im Wesentlichen die Makros in den board/prozessorspezifischen Files (arduinomegadefines.h,  arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* http://bamo128.googlecode.com&lt;br /&gt;
* http://minikermit.googlecode.com&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]],[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54679</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54679"/>
		<updated>2011-02-01T11:46:00Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Funktionen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Diskussionsforum in: http://www.mikrocontroller.net/topic/206704#2041796&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion  und 256 Byte des SRAMs. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im &#039;&#039;&#039;Makefile&#039;&#039;&#039; muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann der Programmer entfernt werden (nur noch die serielle Verbindung (USB), welche auch die Spannungsversorgung bereitstellt) und man kann schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepaßten Version &#039;&#039;&#039;arduinokermit&#039;&#039;&#039; http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit (mit der ArdinoIDE oder avrdude mit der Option -carduino, http://www.mikrocontroller.net/articles/AVRDUDE) über die serielle Schnittstelle (USB) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden!!&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1 wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* http://bamo128.googlecode.com&lt;br /&gt;
* http://minikermit.googlecode.com&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]],[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54672</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54672"/>
		<updated>2011-01-31T15:44:38Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: Ein Monitorprogramm für AVR8 Controller mit Bootlader&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Diskussionsforum in: http://www.mikrocontroller.net/topic/206704#2041796&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion  und 256 Byte des SRAMs. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im &#039;&#039;&#039;Makefile&#039;&#039;&#039; muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann der Programmer entfernt werden (nur noch die serielle Verbindung (USB), welche auch die Spannungsversorgung bereitstellt) und man kann schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepaßten Version &#039;&#039;&#039;arduinokermit&#039;&#039;&#039; http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit (mit der ArdinoIDE oder avrdude mit der Option -carduino) über die serielle Schnittstelle (USB) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden!!&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1 wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* http://bamo128.googlecode.com&lt;br /&gt;
* http://minikermit.googlecode.com&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]],[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54671</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54671"/>
		<updated>2011-01-31T14:55:21Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Diskussionsforum in: http://www.mikrocontroller.net/topic/206704#2041796&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im &#039;&#039;&#039;Makefile&#039;&#039;&#039; muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann der Programmer entfernt werden (nur noch die serielle Verbindung (USB), welche auch die Spannungsversorgung bereitstellt) und man kann schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepaßten Version &#039;&#039;&#039;arduinokermit&#039;&#039;&#039; http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit (mit der ArdinoIDE oder avrdude mit der Option -carduino) über die serielle Schnittstelle (USB) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden!!&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1 wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* http://bamo128.googlecode.com&lt;br /&gt;
* http://minikermit.googlecode.com&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]],[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54669</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54669"/>
		<updated>2011-01-31T13:14:30Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im &#039;&#039;&#039;Makefile&#039;&#039;&#039; muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann der Programmer entfernt werden (nur noch die serielle Verbindung (USB), welche auch die Spannungsversorgung bereitstellt) und man kann schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepaßten Version &#039;&#039;&#039;arduinokermit&#039;&#039;&#039; http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit (mit der ArdinoIDE oder avrdude mit der Option -carduino) über die serielle Schnittstelle (USB) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden!!&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1 wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* http://bamo128.googlecode.com&lt;br /&gt;
* http://minikermit.googlecode.com&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]],[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54668</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54668"/>
		<updated>2011-01-31T13:12:47Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Funktionen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im &#039;&#039;&#039;Makefile&#039;&#039;&#039; muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann der Programmer entfernt werden (nur noch die serielle Verbindung (USB), welche auch die Spannungsversorgung bereitstellt) und man kann schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepaßten Version &#039;&#039;&#039;arduinokermit&#039;&#039;&#039; http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit (mit der ArdinoIDE oder avrdude mit der Option -carduino) über die serielle Schnittstelle (USB) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden!!&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1 wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* http://bamo128.googlecode.com&lt;br /&gt;
* http://minikermit.googlecode.com&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]],[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54667</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54667"/>
		<updated>2011-01-31T10:04:21Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Funktionen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im &#039;&#039;&#039;Makefile&#039;&#039;&#039; muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann der Programmer entfernt werden (nur noch die serielle Verbindung (USB), welche auch die Spannungsversorgung bereitstellt) und man kann schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepaßten Version &#039;&#039;&#039;arduinokermit&#039;&#039;&#039; http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit (mit der ArdinoIDE oder avrdude mit der Option -carduino) über die serielle Schnittstelle (USB) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden.&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1 wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* http://bamo128.googlecode.com&lt;br /&gt;
* http://minikermit.googlecode.com&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]],[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54666</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54666"/>
		<updated>2011-01-31T10:04:05Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Funktionen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im &#039;&#039;&#039;Makefile&#039;&#039;&#039; muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann der Programmer entfernt werden (nur noch die serielle Verbindung (USB), welche auch die Spannungsversorgung bereitstellt) und man kann schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepaßten Version &#039;&#039;&#039;arduinokermit&#039;&#039;&#039; http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&#039;Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit (mit der ArdinoIDE oder avrdude mit der Option -carduino) über die serielle Schnittstelle (USB) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden.&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1 wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* http://bamo128.googlecode.com&lt;br /&gt;
* http://minikermit.googlecode.com&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]],[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54665</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54665"/>
		<updated>2011-01-31T09:55:23Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im &#039;&#039;&#039;Makefile&#039;&#039;&#039; muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann der Programmer entfernt werden (nur noch die serielle Verbindung (USB), welche auch die Spannungsversorgung bereitstellt) und man kann schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepaßten Version &#039;&#039;&#039;arduinokermit&#039;&#039;&#039; http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit (mit der ArdinoIDE oder avrdude mit der Option -carduino) über die serielle Schnittstelle (USB) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden.&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;Kursiver Text&#039;&#039;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1 wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* http://bamo128.googlecode.com&lt;br /&gt;
* http://minikermit.googlecode.com&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]],[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54664</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54664"/>
		<updated>2011-01-31T09:51:42Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Funktionen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im &#039;&#039;&#039;Makefile&#039;&#039;&#039; muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepaßten Version &#039;&#039;&#039;arduinokermit&#039;&#039;&#039; http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit (mit der ArdinoIDE oder avrdude mit der Option -carduino) über die serielle Schnittstelle (USB) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden.&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;Kursiver Text&#039;&#039;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1 wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* http://bamo128.googlecode.com&lt;br /&gt;
* http://minikermit.googlecode.com&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]],[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54663</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54663"/>
		<updated>2011-01-31T09:49:48Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Funktionen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im &#039;&#039;&#039;Makefile&#039;&#039;&#039; muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepaßten Version &#039;&#039;&#039;arduinokermit&#039;&#039;&#039; http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit ( über einen Programmer und mit der ArdinoIDE oder avrdude mit der Option -carduino) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden.&amp;lt;br&amp;gt;&#039;&#039;&#039;&#039;&#039;Kursiver Text&#039;&#039;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1 wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* http://bamo128.googlecode.com&lt;br /&gt;
* http://minikermit.googlecode.com&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]],[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_Softwarepool&amp;diff=54662</id>
		<title>AVR Softwarepool</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_Softwarepool&amp;diff=54662"/>
		<updated>2011-01-31T08:10:29Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die interessantesten Softwareprojekte aus der Codesammlung...&lt;br /&gt;
&lt;br /&gt;
(A)   ... Projekt ist in &#039;&#039;&#039;Assembler&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(C)   ... Projekt ist in &#039;&#039;&#039;C&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(C++) ... Projekt ist in &#039;&#039;&#039;C++&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(B)   ... Projekt ist in &#039;&#039;&#039;Bascom&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(PC)  ... Projekt ist nicht für einen µC, sondern für den PC&lt;br /&gt;
&lt;br /&gt;
==1-Wire==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14792  DS1820, DS18B20 in C]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6505 Mehrere DS1820/DS18B20 auslesen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Mehrere DS1820/DS18B20/DS18S20/DS1822 über einen Webserver auslesbar]&lt;br /&gt;
&lt;br /&gt;
==Akkulader==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/72627#594587 Bleiakku-Lader 12/24V]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
&lt;br /&gt;
==Betriebssysteme und Scheduler==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/190388#1856376 Nano OS] von Tobias W. ([http://sourceforge.net/projects/nanoos/ Sourceforge])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12176#79672 Wartezeiten effektiv (Scheduler)] von Peter Dannegger&lt;br /&gt;
* (C++) [http://www.mikrocontroller.net/topic/96977#837989 Einfacher Scheduler und Timer in C++ für ATMega] von S. Seegel&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/74026#609246 GOS: einfacher preemptive multitasking scheduler] von Günter Greschenz&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/articles/Monitorprogramm_Bamo128 Bamo128] Monitorprogramm und Bootloader&lt;br /&gt;
&lt;br /&gt;
==Bootloader==&lt;br /&gt;
* (A,C,PC) [http://www.mikrocontroller.net/topic/12181#79866 AVR Bootloader]&lt;br /&gt;
* (A, PC) [http://www.mikrocontroller.net/topic/146638#1364260 AVR Bootloader für GCC-Toolchain]&lt;br /&gt;
* (A,PC) [http://www.mikrocontroller.net/topic/95839 AVR Bootloader mit Verschlüsselung]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/72308#591159 ATtiny45 Bootloader]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67047#538510 MMC/SD Bootloader für ATMega16]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/56818#439359 SD/MMC Card Bootloader (passt in 2kb bootsection)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/61170#480765 boofa - Bootloader für AVR über UART (AVR109)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53130#413058 Bootloader ATmega168]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/73196#600293 UART Bootloader ATtiny13 - ATmega644]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/150816#1414460 UART Bootloader AtMega644P @ 20MHz] (Eclipse Projekt)&lt;br /&gt;
* (C) [[AVR Bootloader in C - eine einfache Anleitung]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/200645#1971295 LAN-Bootloader für ATmega1284p]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/articles/Monitorprogramm_Bamo128 Bamo128] Monitorprogramm und Bootloader&lt;br /&gt;
Siehe auch: [[Bootloader]]&lt;br /&gt;
&lt;br /&gt;
==DCC==&lt;br /&gt;
&lt;br /&gt;
(Digital Command Control, Standard zur digitalen Steuerung von Modelleisenbahnen)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31397#241300 DCC Decoder]&lt;br /&gt;
&lt;br /&gt;
==DCF77==&lt;br /&gt;
&lt;br /&gt;
(Zeitsignaldienst für funkgesteuerte Uhren auf der Langwellen-Frequenz 77,5 kHz)&lt;br /&gt;
 &lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/38914#287867 DCF77 AVR-Assemblerbaustein ]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6500#41738 DCF77-Uhr mit ATTINY12]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31385#241104 DCF Digital Empfangsmodul - Korrelation - (Assembler)ATmega8 ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25071#186286 DCF 77 ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14788#101528 DCF-Uhr mit DotMatrix-Anzeige für avr-gcc]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12154#79501 PC DCF Timer ( PC Zeitschaltuhr)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25116#187197 DCF 77 Uhr mit CodeVision ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/58769#456232 DCF77 Uhr in C mit ATtiny26]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48597#372164 DCF77 Uhr, zum X.ten Mal, jetzt mit SAF]&lt;br /&gt;
* (C,A) [http://www.mikrocontroller.net/topic/31408#536372 DCF77 mit beliebig gepoltem Eingangssignal innerhalb eines Webservers]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/121049 DCF-Uhr, Sonnenstand, TWI-Port, Alarmfunktion für Atmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/151260#1419218 DCF77 Uhr 7 Segment LED ATmega8 Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/168807#1614129 DCF-Uhr mit LCD in C]&lt;br /&gt;
&lt;br /&gt;
== DRAM ==&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/25053#186085 2MB DRAM an AVR] und Anwendung als [http://www.mikrocontroller.net/topic/25053#186089 Audiorekorder]&lt;br /&gt;
&lt;br /&gt;
==Drehgeber==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6526#41978 Drehgeber auslesen]&lt;br /&gt;
&lt;br /&gt;
==DTMF==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/92444#792954 DTMF dekodieren]&lt;br /&gt;
&lt;br /&gt;
==DMX==&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/92350#new 20 Kanal Relaissteuerung per DMX]&lt;br /&gt;
&lt;br /&gt;
==Entwicklungssysteme==&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/74198#611404 AVR Code Wizard]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/30110#230503 Multitasking kernel für ATtinys in ASM]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/65156#521012 BASIC-Computer mit ATmega32]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/64129#511368 AVR TinyBASIC Anpassung für ATmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/59189#460273 Mini-Computer mit BASIC]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/55807 Forth System für ATmegas in Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/94193 Forth-Computer mit ATmega32 und Videoausgabe] von Christian Berger&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/62500#493931 Fixpoint-Arithmetik in &amp;quot;C&amp;quot;]&lt;br /&gt;
* (C++) [http://www.mikrocontroller.net/topic/143537 Fixpoint-Arithmetik in &amp;quot;C++&amp;quot;]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/85256#717037 64 Bit float Emulator in C, IEEE754 kompatibel]&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/92979#797957 AVR ATmega8TestBoard]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/94468#812992 Gleitkomma-Bibliothek für AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/177481?page=1 AVR CP/M System]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/187390 EMACS Konfiguration]&lt;br /&gt;
&lt;br /&gt;
==FFT==&lt;br /&gt;
&lt;br /&gt;
(Fast Fourier Transformation, &amp;quot;schnelle&amp;quot; Fouriertransformation)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25095#186536 FFT auf dem AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25062#186225 128point FFT in ASM]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/27001#203911 Schnelle FFT in Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131525#1191497 AVR-Lichtorgel per FFT MEGA8 32 644 ]&lt;br /&gt;
&lt;br /&gt;
==Funksteckdosen==&lt;br /&gt;
* (C,A) [http://www.mikrocontroller.net/topic/31408#536372 Ansteuerung von Funksteckdosen mit einem Webserver]&lt;br /&gt;
&lt;br /&gt;
==GPS==&lt;br /&gt;
&lt;br /&gt;
(Global Positioning System, satellitengestütztes System zur weltweiten Positions- und Zeitbestimmung)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/48544#371717 GPS - MOUSE - MINI- NAVIGATOR (Assembler) ATmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/72507#593252 GPS an mega8,88 oder 168]&lt;br /&gt;
&lt;br /&gt;
==IR==&lt;br /&gt;
* siehe auch [[AVR Softwarepool#RC5|RC5]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/162119#1545798 IRMP - Infrared Multi Protocol Decoder]&lt;br /&gt;
&lt;br /&gt;
==Kryptographie==&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/73468 Verschiedene kryptographische Funktionen] &lt;br /&gt;
&lt;br /&gt;
==LANC==&lt;br /&gt;
&lt;br /&gt;
(Steuerprotokoll für Video- und Digitalfotokameras, auch als Control-L bekannt)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/40463#302754 Sony LANC Auswertung mit AVR] (Atmega 128 @ 16 MHz)&lt;br /&gt;
&lt;br /&gt;
==LEDs und LED-Anzeigen==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76839#638278 Solarlicht Steuerung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/77863#648213 Taster + LED am selben Draht (4*)]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/73776#606472 LED-Touch-Panel] (ARM)&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/74013#609097 RGB-Moodlight auf ATTiny2313 mit RC5-Fernbedienung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/54561#421940 HSV RGB Led Dimmer, C Code &amp;amp; Video &amp;amp; Doku]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/67567#543492 Mini RGB Lichteffektgenerator mit Menü für Pic16F84]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48464#370871 Ansteuerung einer RGB LED (PWM)]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/87149#737282 3x7 Segment und 1 I/O-Pin (Assembler)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31370#240843 ADC mit Multiplexanzeige] (vier 7-Segmentanzeigen)&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31388#241192 AVR-Lauflicht]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/94746#815809 HSB-&amp;gt;RGB Umrechnung rein in Assembler, auch für ATiny]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/110168 2x7-Segment an nur 3 Leitungen]&lt;br /&gt;
* (A) [[Ambilight in Hardware]]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131525#1191497 AVR-Lichtorgel per FFT MEGA8 32 644 ]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/182305 TLC5940 16-Kanal 12bit LED Treiber ansteuern und HighPower LEDs über MosFETs treiben]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/185730 7Segment Coder]&lt;br /&gt;
&lt;br /&gt;
==LCD und VFD==&lt;br /&gt;
* (C) [http://bluematrixi.bl.funpic.de/index.php/elektronik-avr/lcd-display-nokia3310 Bibliothek für Nokia 3310 Lcd Ansteuerung in &amp;quot;C&amp;quot; - sehr gut]&lt;br /&gt;
*(C,A)[http://www.mikrocontroller.net/articles/Ansteuerung_Handy_Displays Ansteuerung_Handy_Displays]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/53137#413137 Programm zum Erstellen eigener Schriftarten (LCD)]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/54860#423255 LCD Schriftarten ( Fonts in veschiedenen Größen )]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31403  The Siemens S65 132x176, 65536 color display with AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48501#371218 LCD Ansteuerung im 4bit-Modus]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48456#370782 LCD Library T6963c]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76399#633680 &amp;quot;Bessere&amp;quot; T6963c Library]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25099#186569 LCD Controller für 640x480 LCD mit mega8515]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38923#287939 LCD Controller KS0073 Support im 4-Bit Mode]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/79609#664268 KS0066U oder Ähnliche --- LCD Treiber]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/81793#683135 Pollin E0855-2 SED1530-Treiber]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/90449#772843 LCD über nur einen IO-Pin ansteuern]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120475 VFD Library (Vacuum Fluorescent Display Library)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98321#851423 Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/140369 Menüsystem für beliebige schwarz-weiß LCDs bis 4096x4096 Pixeln und grafischem Editor]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/194149 Schnelle SED1520 Funktionsbibliothek mit Bildkonverter und Fontgenerator]&lt;br /&gt;
&lt;br /&gt;
==I2C==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98923#857451 Ultraschall Entfernungsmesser mit I2C, Eigenbau]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/83871#new  I2C-Master realisiert in Software, ohne TWI für alle ATMEGAs]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/38919#new  RS232 &amp;lt;-&amp;gt; TWI / I2C Interface für ATMega8 (ASM) inkl. Windows Software]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67698#544930 USI TWI Master]&lt;br /&gt;
&lt;br /&gt;
==Messgeräte==&lt;br /&gt;
===Drehzahlmesser===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/1518#8469 Drehzahlmesser 4 mal 7-Segment mit 90S2313]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/Drehzahlmesser Drehzahlmesser mit 4 mal 7-Segment anzeigen mit Tiny2313, Wiki-Artikel]&lt;br /&gt;
&lt;br /&gt;
===Klopfsensormessgerät===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/Klopfsensormessgeraet Messgerät für Klopfgeräusche an Verbrennungsmotoren auf Basis des TPIC8101]&lt;br /&gt;
&lt;br /&gt;
===Entfernungsmesser===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98923#857451 Ultraschall Entfernungsmesser mit I2C, Eigenbau]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/130834 3D Umgebungserfassung mit einem auf zwei Servors montiertem Sharp Distanzsensor, Eigenbau]&lt;br /&gt;
&lt;br /&gt;
===Frequenzmesser===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/62610#495030 Frequenzmesser bis 2Mhz -- mit AVR ATmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48582#372072 Frequenzmessung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/62517#494146 Input Capture Pin (ICP) auslesen ( Frequenz messen)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25144#187587 Frequenzmessung und Impulszählung über den Parallelport-IR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31394#241251 einfacher 5 MHz Frequenzzähler (Assembler) ATmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/173665#new sehr genauer Frequenzmesser Atmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/186801#new  Reziproker Frequenzzähler+ Optimierte 64bit uint Routinen]&lt;br /&gt;
* (C+A) [http://www.mikrocontroller.net/topic/200279#new 6 Stellen von 1Hz bis 40MHz ATmega8]&lt;br /&gt;
&lt;br /&gt;
===Frequenzgenerator===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/152966#1438488 Einstellbarer Frequenzgenerator für 0.12 Hz - 8 MHz mit Atmega 8 und Bascom ]&lt;br /&gt;
&lt;br /&gt;
===Kompass===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/100239#870281 KOMPASS KMZ10A KMZ10B ATmega8 Assembler]&lt;br /&gt;
&lt;br /&gt;
===Messgeräte für elektronische Bauteile===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/60797#477026 LC-METER / LC-Messgerät ATmega8 Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/60591#474873 Widerstandstester]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/56770#438957 Ladungsmessgerät]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31386#241139 Transistortester]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131804#1194273 Transistortester]&lt;br /&gt;
&lt;br /&gt;
===Spannungsmesser===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31370#240843 ADC mit Multiplexanzeige] - Voltmeter&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
&lt;br /&gt;
===Thermometer===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6516#41903 Zeit + Temperatur auf LCD mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53127#413006 Thermometer mit LED &amp;amp; LM35]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Viele DS18x20-Thermometer in einem Webserver]&lt;br /&gt;
&lt;br /&gt;
===Oszilloskop===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/53129#413011 Einfaches Oszilloskop - Bascom]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/48586#372093 Oszi- &amp;amp; Logikanalyser mit LCD]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31376#240880 einfaches DIGITAL- Oszilloskop (800 Datenpunkte) Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/56616#437772 Einfaches &amp;quot;Oszilloskop&amp;quot;]&lt;br /&gt;
* (C) [http://www.christoph-lauer.de/Homepage/Blog/Eintrage/2010/8/22_Embedded_C_based_Spectrumanalyzer.html ATXMega based Oscilloscope and Spectrumanalyzer]&lt;br /&gt;
&lt;br /&gt;
==MIDI==&lt;br /&gt;
&lt;br /&gt;
(Musical Instrument Digital Interface, Datenübertragungsstandard für Musikinstrumente)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48542#371695 Mr.MidiPlayer - Spielt alle MIDI-Dateien von einer SD-Karte] (siehe auch: [[Midi_Rekorder_mit_MMC/SD-Karte]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/106512# Drum-Trigger mit MIDI-Ausgabe]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/159760#1517791 Drum-Trigger mit USB-Midi-Ausgabe]&lt;br /&gt;
&lt;br /&gt;
==MMC==&lt;br /&gt;
&lt;br /&gt;
(Multimedia Card, digitales Flash-Speichermedium)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25056#186117 SourceCode MMC die Zweite]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48481#370950 MMC/SD-Karte mit FAT16 an AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67047#538510 MMC/SD Bootloader füt ATMega16]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14800#102024 MMC/SD ansteuern mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/FAT32 MMC/SD - FAT16/32 Bibliothek für AVR  mit Wiki]&lt;br /&gt;
&lt;br /&gt;
==Netzgeräte==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/60786#476904 Labornetzgerät]&lt;br /&gt;
* [[RADLAB-PS1]] [http://www.mikrocontroller.net/topic/124858#1138781 Netzteil um LM317 mit Strombegrenzung und Anzeige!]&lt;br /&gt;
&lt;br /&gt;
==Netzwerk==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/87517#new Kleiner ENC28J60 µWebserver von SimonK]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/82127#new Ulrich Radigs ENC28J60 mit leicht lötbaren/beschaffbaren Bauteilen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131825 Dirk Broßwick Webserver auf ENC28j60 Basis mit einem ATmega2561, es gibt auch einen Port auf das AVR-NET IO]&lt;br /&gt;
&lt;br /&gt;
==Parser==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64763#517245 Zwei Parser für numerische Ausdrücke]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76842#638283 uShell - ein universeller Parser für uCs]&lt;br /&gt;
&lt;br /&gt;
==RFID==&lt;br /&gt;
&lt;br /&gt;
(Radio Frequency Identification, Verfahren zur funkbasierten Identifizierung und Lokalisierung von Gegenständen)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68442#552128 USB RFID Tag Leser]&lt;br /&gt;
&lt;br /&gt;
==RC - Fernsteuerungen/Servos==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48529#371582 RC Summen Signal erzeugen ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/192453 RC Summen Signal dekodieren ]&lt;br /&gt;
&lt;br /&gt;
==RC5==&lt;br /&gt;
&lt;br /&gt;
(verbreitetes Datenübertragungsprotokoll für Infrarot-Fernbedienungen)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/14789#101536 RC5 Sender auf einem Attiny11L]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/74013#609097 RGB-Moodlight auf ATTiny2313 mit RC5-Fernbedienung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12216#80856 Fernbedien RC5 Empfänger]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/59235#460765 RC5 Sender selber bauen ???]&lt;br /&gt;
&lt;br /&gt;
==Ringpuffer==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/66789#536189 Ringpuffer AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101472#882716 AVR-GCC: UART mit FIFO]&lt;br /&gt;
&lt;br /&gt;
==SD==&lt;br /&gt;
&lt;br /&gt;
(Secure Digital Memory Card; digitales Flash-Speichermedium)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48542#371695 Mr.MidiPlayer - Spielt alle MIDI-Dateien von einer SD-Karte] (siehe auch: [[Midi_Rekorder_mit_MMC/SD-Karte]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68257#550336 Datenrekorder auf SD-Karte mit mega88]&lt;br /&gt;
&lt;br /&gt;
==Sonstiges==&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/111783#994358 Sonnenstandberechnung mit Atmega 8]&lt;br /&gt;
&lt;br /&gt;
==Spaßprojekte==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/119876#1083044 Miniprojekt: Lagerfeuer-LED (ATtiny25)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120289#1087905 Klingel mit 100 Melodien - last minute Weihnachtsgeschenk]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/167528#1601077 Toastbrote zählen]&lt;br /&gt;
&lt;br /&gt;
==Spiele==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48505#371259 Tetris auf dem AtMega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/187253# Atmega8 Schachuhr mit Max7219 ]&lt;br /&gt;
&lt;br /&gt;
==Steuerungen==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/123551 Aquarium Controller]&lt;br /&gt;
&lt;br /&gt;
==Taster / Schalter==&lt;br /&gt;
===mechanisch===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6492#41625 Tasten entprellen - Bulletproof] (siehe auch: [[Entprellung]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48465#370877 Universelle Tastenabfrage]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6491#41624 Tasten-Matrix entprellen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64731#517001 Tastenmatrix auslesen über nur 2 Leitungen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64743#517105 Tasten Entprellen für N00bs]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/77863#648213 Taster + LED am selben Draht (4*)]&lt;br /&gt;
===kapazitiv===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38904  Sensor mit nur einer Kontaktfläche]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25045 Einfache Sensortaste]&lt;br /&gt;
&lt;br /&gt;
==Tonerzeugung==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/66945#537624 ATMEGA8 Soundgenerator/Synthesizer]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120289#1087905 Klingel mit 100 Melodien - last minute Weihnachtsgeschenk]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/134362 RTTTL Melodiegenerator mit ATTINY85]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25051 Melodie ausgeben mit AVR ATTiny12]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/137629#1259132 Melodieklingel BASCOM ATmega8]&lt;br /&gt;
&lt;br /&gt;
==TWI==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/87597#742070 AVR TWI Master und Slave Funtionen in C]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31404#242081 TWI / I2C einf. MASTER SLAVE Beispiel(Assembler) ATmega8]&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/75254#622120 USB Host Stack für Eingebettete Systeme (LGPL)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68442#552128 USB RFID Tag Leser]&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/92979#797957 AVR ATmega8TestBoard]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/90791#776280 Relaiskarte für den USB Port]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/130381#1179352 USB-Stick am Mikrocontroller VNC1L]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/155241 PDIUSBD12 Treiber und micro USB-Device stack]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/192453 HID-Joystick mit V-USB ]&lt;br /&gt;
&lt;br /&gt;
==UART==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101472#882716 AVR-GCC: UART mit FIFO]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38928#287985 Software UART]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/125651#1147436 Software UART mit FIFO]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/175946#1690682 uParse] - ein kompakter und vielseitiger Parser (Atmega32) für [[RS232]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/159753#1517744 Einfacher Interpreter für Komandozeilen/Befehlszeilen] (Atmega32) für [[RS232]]&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/53140#413249 AVR ASCII Video Terminal - 40 x 25 - BAS Signal]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/53139#413225 TV VIDEO BILD BAS Frequenzzähler DVM Atmega8 Assembler]&lt;br /&gt;
* (A) [http://www.electronicspit.com/video/ Videosignal in Farbe aus dem ATMega32]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25091#new VGA Testbildgenerator]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101429#882288 ATmega8 erzeugt Video in C!]&lt;br /&gt;
&lt;br /&gt;
==Zeitgeber und Uhren==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/12185#80055 Die genaue Sekunde / RTC]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/74673#616226 LCD-Timer für Belichtungsgerät]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/119859#1082804 DS1307 Assembler-Code]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31374#240878 AVR Library für RTC 12C887 in C]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25136#187534 RTC DS1302 in C]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25087#186454 RTC + Scheduler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53131#413059 Jumbo-LED Uhr]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6516#41903 Zeit + Temperatur auf LCD mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25069 Sekunden in Zeit/Datum umwandeln (mit Sommerzeit/Schaltjahren)]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/48560#371911 BASCOM Uhr mit Butterfly]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48450#370765 Countdown timer für UV Belichter]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98885 Countdown Timer mit ATtiny2313]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12176#79672 Wartezeiten effektiv (Scheduler)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Schaltuhr mit DCF77-Referenz in einem Webserver, Steuerung von Funksteckdosen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/100892#876549 Eieruhr mit ATtiny24V/ATtiny2313V]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/151236 Zeitauslöser für Casio EX F1 mit Attiny2313]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/151260#1419218 DCF77 Uhr 7 Segment LED ATmega8 Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/177688# NIXIE Uhr mit vielen Funktionen in C mit ATTiny2313]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[AVR-Codesammlung Übersicht]]&lt;br /&gt;
&lt;br /&gt;
[[Category:AVR| ]]&lt;br /&gt;
[[Kategorie:Forum]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_Softwarepool&amp;diff=54661</id>
		<title>AVR Softwarepool</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_Softwarepool&amp;diff=54661"/>
		<updated>2011-01-31T08:09:18Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Betriebssysteme und Scheduler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die interessantesten Softwareprojekte aus der Codesammlung...&lt;br /&gt;
&lt;br /&gt;
(A)   ... Projekt ist in &#039;&#039;&#039;Assembler&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(C)   ... Projekt ist in &#039;&#039;&#039;C&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(C++) ... Projekt ist in &#039;&#039;&#039;C++&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(B)   ... Projekt ist in &#039;&#039;&#039;Bascom&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(PC)  ... Projekt ist nicht für einen µC, sondern für den PC&lt;br /&gt;
&lt;br /&gt;
==1-Wire==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14792  DS1820, DS18B20 in C]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6505 Mehrere DS1820/DS18B20 auslesen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Mehrere DS1820/DS18B20/DS18S20/DS1822 über einen Webserver auslesbar]&lt;br /&gt;
&lt;br /&gt;
==Akkulader==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/72627#594587 Bleiakku-Lader 12/24V]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
&lt;br /&gt;
==Betriebssysteme und Scheduler==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/190388#1856376 Nano OS] von Tobias W. ([http://sourceforge.net/projects/nanoos/ Sourceforge])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12176#79672 Wartezeiten effektiv (Scheduler)] von Peter Dannegger&lt;br /&gt;
* (C++) [http://www.mikrocontroller.net/topic/96977#837989 Einfacher Scheduler und Timer in C++ für ATMega] von S. Seegel&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/74026#609246 GOS: einfacher preemptive multitasking scheduler] von Günter Greschenz&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/articles/Monitorprogramm_Bamo128 Bamo128] Monitorprogramm und Bootloader&lt;br /&gt;
&lt;br /&gt;
==Bootloader==&lt;br /&gt;
* (A,C,PC) [http://www.mikrocontroller.net/topic/12181#79866 AVR Bootloader]&lt;br /&gt;
* (A, PC) [http://www.mikrocontroller.net/topic/146638#1364260 AVR Bootloader für GCC-Toolchain]&lt;br /&gt;
* (A,PC) [http://www.mikrocontroller.net/topic/95839 AVR Bootloader mit Verschlüsselung]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/72308#591159 ATtiny45 Bootloader]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67047#538510 MMC/SD Bootloader für ATMega16]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/56818#439359 SD/MMC Card Bootloader (passt in 2kb bootsection)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/61170#480765 boofa - Bootloader für AVR über UART (AVR109)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53130#413058 Bootloader ATmega168]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/73196#600293 UART Bootloader ATtiny13 - ATmega644]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/150816#1414460 UART Bootloader AtMega644P @ 20MHz] (Eclipse Projekt)&lt;br /&gt;
* (C) [[AVR Bootloader in C - eine einfache Anleitung]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/200645#1971295 LAN-Bootloader für ATmega1284p]&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Bootloader]]&lt;br /&gt;
&lt;br /&gt;
==DCC==&lt;br /&gt;
&lt;br /&gt;
(Digital Command Control, Standard zur digitalen Steuerung von Modelleisenbahnen)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31397#241300 DCC Decoder]&lt;br /&gt;
&lt;br /&gt;
==DCF77==&lt;br /&gt;
&lt;br /&gt;
(Zeitsignaldienst für funkgesteuerte Uhren auf der Langwellen-Frequenz 77,5 kHz)&lt;br /&gt;
 &lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/38914#287867 DCF77 AVR-Assemblerbaustein ]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6500#41738 DCF77-Uhr mit ATTINY12]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31385#241104 DCF Digital Empfangsmodul - Korrelation - (Assembler)ATmega8 ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25071#186286 DCF 77 ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14788#101528 DCF-Uhr mit DotMatrix-Anzeige für avr-gcc]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12154#79501 PC DCF Timer ( PC Zeitschaltuhr)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25116#187197 DCF 77 Uhr mit CodeVision ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/58769#456232 DCF77 Uhr in C mit ATtiny26]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48597#372164 DCF77 Uhr, zum X.ten Mal, jetzt mit SAF]&lt;br /&gt;
* (C,A) [http://www.mikrocontroller.net/topic/31408#536372 DCF77 mit beliebig gepoltem Eingangssignal innerhalb eines Webservers]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/121049 DCF-Uhr, Sonnenstand, TWI-Port, Alarmfunktion für Atmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/151260#1419218 DCF77 Uhr 7 Segment LED ATmega8 Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/168807#1614129 DCF-Uhr mit LCD in C]&lt;br /&gt;
&lt;br /&gt;
== DRAM ==&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/25053#186085 2MB DRAM an AVR] und Anwendung als [http://www.mikrocontroller.net/topic/25053#186089 Audiorekorder]&lt;br /&gt;
&lt;br /&gt;
==Drehgeber==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6526#41978 Drehgeber auslesen]&lt;br /&gt;
&lt;br /&gt;
==DTMF==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/92444#792954 DTMF dekodieren]&lt;br /&gt;
&lt;br /&gt;
==DMX==&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/92350#new 20 Kanal Relaissteuerung per DMX]&lt;br /&gt;
&lt;br /&gt;
==Entwicklungssysteme==&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/74198#611404 AVR Code Wizard]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/30110#230503 Multitasking kernel für ATtinys in ASM]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/65156#521012 BASIC-Computer mit ATmega32]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/64129#511368 AVR TinyBASIC Anpassung für ATmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/59189#460273 Mini-Computer mit BASIC]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/55807 Forth System für ATmegas in Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/94193 Forth-Computer mit ATmega32 und Videoausgabe] von Christian Berger&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/62500#493931 Fixpoint-Arithmetik in &amp;quot;C&amp;quot;]&lt;br /&gt;
* (C++) [http://www.mikrocontroller.net/topic/143537 Fixpoint-Arithmetik in &amp;quot;C++&amp;quot;]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/85256#717037 64 Bit float Emulator in C, IEEE754 kompatibel]&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/92979#797957 AVR ATmega8TestBoard]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/94468#812992 Gleitkomma-Bibliothek für AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/177481?page=1 AVR CP/M System]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/187390 EMACS Konfiguration]&lt;br /&gt;
&lt;br /&gt;
==FFT==&lt;br /&gt;
&lt;br /&gt;
(Fast Fourier Transformation, &amp;quot;schnelle&amp;quot; Fouriertransformation)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25095#186536 FFT auf dem AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25062#186225 128point FFT in ASM]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/27001#203911 Schnelle FFT in Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131525#1191497 AVR-Lichtorgel per FFT MEGA8 32 644 ]&lt;br /&gt;
&lt;br /&gt;
==Funksteckdosen==&lt;br /&gt;
* (C,A) [http://www.mikrocontroller.net/topic/31408#536372 Ansteuerung von Funksteckdosen mit einem Webserver]&lt;br /&gt;
&lt;br /&gt;
==GPS==&lt;br /&gt;
&lt;br /&gt;
(Global Positioning System, satellitengestütztes System zur weltweiten Positions- und Zeitbestimmung)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/48544#371717 GPS - MOUSE - MINI- NAVIGATOR (Assembler) ATmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/72507#593252 GPS an mega8,88 oder 168]&lt;br /&gt;
&lt;br /&gt;
==IR==&lt;br /&gt;
* siehe auch [[AVR Softwarepool#RC5|RC5]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/162119#1545798 IRMP - Infrared Multi Protocol Decoder]&lt;br /&gt;
&lt;br /&gt;
==Kryptographie==&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/73468 Verschiedene kryptographische Funktionen] &lt;br /&gt;
&lt;br /&gt;
==LANC==&lt;br /&gt;
&lt;br /&gt;
(Steuerprotokoll für Video- und Digitalfotokameras, auch als Control-L bekannt)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/40463#302754 Sony LANC Auswertung mit AVR] (Atmega 128 @ 16 MHz)&lt;br /&gt;
&lt;br /&gt;
==LEDs und LED-Anzeigen==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76839#638278 Solarlicht Steuerung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/77863#648213 Taster + LED am selben Draht (4*)]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/73776#606472 LED-Touch-Panel] (ARM)&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/74013#609097 RGB-Moodlight auf ATTiny2313 mit RC5-Fernbedienung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/54561#421940 HSV RGB Led Dimmer, C Code &amp;amp; Video &amp;amp; Doku]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/67567#543492 Mini RGB Lichteffektgenerator mit Menü für Pic16F84]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48464#370871 Ansteuerung einer RGB LED (PWM)]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/87149#737282 3x7 Segment und 1 I/O-Pin (Assembler)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31370#240843 ADC mit Multiplexanzeige] (vier 7-Segmentanzeigen)&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31388#241192 AVR-Lauflicht]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/94746#815809 HSB-&amp;gt;RGB Umrechnung rein in Assembler, auch für ATiny]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/110168 2x7-Segment an nur 3 Leitungen]&lt;br /&gt;
* (A) [[Ambilight in Hardware]]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131525#1191497 AVR-Lichtorgel per FFT MEGA8 32 644 ]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/182305 TLC5940 16-Kanal 12bit LED Treiber ansteuern und HighPower LEDs über MosFETs treiben]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/185730 7Segment Coder]&lt;br /&gt;
&lt;br /&gt;
==LCD und VFD==&lt;br /&gt;
* (C) [http://bluematrixi.bl.funpic.de/index.php/elektronik-avr/lcd-display-nokia3310 Bibliothek für Nokia 3310 Lcd Ansteuerung in &amp;quot;C&amp;quot; - sehr gut]&lt;br /&gt;
*(C,A)[http://www.mikrocontroller.net/articles/Ansteuerung_Handy_Displays Ansteuerung_Handy_Displays]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/53137#413137 Programm zum Erstellen eigener Schriftarten (LCD)]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/54860#423255 LCD Schriftarten ( Fonts in veschiedenen Größen )]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31403  The Siemens S65 132x176, 65536 color display with AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48501#371218 LCD Ansteuerung im 4bit-Modus]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48456#370782 LCD Library T6963c]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76399#633680 &amp;quot;Bessere&amp;quot; T6963c Library]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25099#186569 LCD Controller für 640x480 LCD mit mega8515]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38923#287939 LCD Controller KS0073 Support im 4-Bit Mode]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/79609#664268 KS0066U oder Ähnliche --- LCD Treiber]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/81793#683135 Pollin E0855-2 SED1530-Treiber]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/90449#772843 LCD über nur einen IO-Pin ansteuern]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120475 VFD Library (Vacuum Fluorescent Display Library)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98321#851423 Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/140369 Menüsystem für beliebige schwarz-weiß LCDs bis 4096x4096 Pixeln und grafischem Editor]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/194149 Schnelle SED1520 Funktionsbibliothek mit Bildkonverter und Fontgenerator]&lt;br /&gt;
&lt;br /&gt;
==I2C==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98923#857451 Ultraschall Entfernungsmesser mit I2C, Eigenbau]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/83871#new  I2C-Master realisiert in Software, ohne TWI für alle ATMEGAs]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/38919#new  RS232 &amp;lt;-&amp;gt; TWI / I2C Interface für ATMega8 (ASM) inkl. Windows Software]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67698#544930 USI TWI Master]&lt;br /&gt;
&lt;br /&gt;
==Messgeräte==&lt;br /&gt;
===Drehzahlmesser===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/1518#8469 Drehzahlmesser 4 mal 7-Segment mit 90S2313]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/Drehzahlmesser Drehzahlmesser mit 4 mal 7-Segment anzeigen mit Tiny2313, Wiki-Artikel]&lt;br /&gt;
&lt;br /&gt;
===Klopfsensormessgerät===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/Klopfsensormessgeraet Messgerät für Klopfgeräusche an Verbrennungsmotoren auf Basis des TPIC8101]&lt;br /&gt;
&lt;br /&gt;
===Entfernungsmesser===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98923#857451 Ultraschall Entfernungsmesser mit I2C, Eigenbau]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/130834 3D Umgebungserfassung mit einem auf zwei Servors montiertem Sharp Distanzsensor, Eigenbau]&lt;br /&gt;
&lt;br /&gt;
===Frequenzmesser===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/62610#495030 Frequenzmesser bis 2Mhz -- mit AVR ATmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48582#372072 Frequenzmessung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/62517#494146 Input Capture Pin (ICP) auslesen ( Frequenz messen)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25144#187587 Frequenzmessung und Impulszählung über den Parallelport-IR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31394#241251 einfacher 5 MHz Frequenzzähler (Assembler) ATmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/173665#new sehr genauer Frequenzmesser Atmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/186801#new  Reziproker Frequenzzähler+ Optimierte 64bit uint Routinen]&lt;br /&gt;
* (C+A) [http://www.mikrocontroller.net/topic/200279#new 6 Stellen von 1Hz bis 40MHz ATmega8]&lt;br /&gt;
&lt;br /&gt;
===Frequenzgenerator===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/152966#1438488 Einstellbarer Frequenzgenerator für 0.12 Hz - 8 MHz mit Atmega 8 und Bascom ]&lt;br /&gt;
&lt;br /&gt;
===Kompass===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/100239#870281 KOMPASS KMZ10A KMZ10B ATmega8 Assembler]&lt;br /&gt;
&lt;br /&gt;
===Messgeräte für elektronische Bauteile===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/60797#477026 LC-METER / LC-Messgerät ATmega8 Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/60591#474873 Widerstandstester]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/56770#438957 Ladungsmessgerät]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31386#241139 Transistortester]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131804#1194273 Transistortester]&lt;br /&gt;
&lt;br /&gt;
===Spannungsmesser===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31370#240843 ADC mit Multiplexanzeige] - Voltmeter&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
&lt;br /&gt;
===Thermometer===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6516#41903 Zeit + Temperatur auf LCD mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53127#413006 Thermometer mit LED &amp;amp; LM35]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Viele DS18x20-Thermometer in einem Webserver]&lt;br /&gt;
&lt;br /&gt;
===Oszilloskop===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/53129#413011 Einfaches Oszilloskop - Bascom]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/48586#372093 Oszi- &amp;amp; Logikanalyser mit LCD]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31376#240880 einfaches DIGITAL- Oszilloskop (800 Datenpunkte) Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/56616#437772 Einfaches &amp;quot;Oszilloskop&amp;quot;]&lt;br /&gt;
* (C) [http://www.christoph-lauer.de/Homepage/Blog/Eintrage/2010/8/22_Embedded_C_based_Spectrumanalyzer.html ATXMega based Oscilloscope and Spectrumanalyzer]&lt;br /&gt;
&lt;br /&gt;
==MIDI==&lt;br /&gt;
&lt;br /&gt;
(Musical Instrument Digital Interface, Datenübertragungsstandard für Musikinstrumente)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48542#371695 Mr.MidiPlayer - Spielt alle MIDI-Dateien von einer SD-Karte] (siehe auch: [[Midi_Rekorder_mit_MMC/SD-Karte]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/106512# Drum-Trigger mit MIDI-Ausgabe]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/159760#1517791 Drum-Trigger mit USB-Midi-Ausgabe]&lt;br /&gt;
&lt;br /&gt;
==MMC==&lt;br /&gt;
&lt;br /&gt;
(Multimedia Card, digitales Flash-Speichermedium)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25056#186117 SourceCode MMC die Zweite]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48481#370950 MMC/SD-Karte mit FAT16 an AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67047#538510 MMC/SD Bootloader füt ATMega16]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14800#102024 MMC/SD ansteuern mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/FAT32 MMC/SD - FAT16/32 Bibliothek für AVR  mit Wiki]&lt;br /&gt;
&lt;br /&gt;
==Netzgeräte==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/60786#476904 Labornetzgerät]&lt;br /&gt;
* [[RADLAB-PS1]] [http://www.mikrocontroller.net/topic/124858#1138781 Netzteil um LM317 mit Strombegrenzung und Anzeige!]&lt;br /&gt;
&lt;br /&gt;
==Netzwerk==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/87517#new Kleiner ENC28J60 µWebserver von SimonK]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/82127#new Ulrich Radigs ENC28J60 mit leicht lötbaren/beschaffbaren Bauteilen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131825 Dirk Broßwick Webserver auf ENC28j60 Basis mit einem ATmega2561, es gibt auch einen Port auf das AVR-NET IO]&lt;br /&gt;
&lt;br /&gt;
==Parser==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64763#517245 Zwei Parser für numerische Ausdrücke]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76842#638283 uShell - ein universeller Parser für uCs]&lt;br /&gt;
&lt;br /&gt;
==RFID==&lt;br /&gt;
&lt;br /&gt;
(Radio Frequency Identification, Verfahren zur funkbasierten Identifizierung und Lokalisierung von Gegenständen)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68442#552128 USB RFID Tag Leser]&lt;br /&gt;
&lt;br /&gt;
==RC - Fernsteuerungen/Servos==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48529#371582 RC Summen Signal erzeugen ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/192453 RC Summen Signal dekodieren ]&lt;br /&gt;
&lt;br /&gt;
==RC5==&lt;br /&gt;
&lt;br /&gt;
(verbreitetes Datenübertragungsprotokoll für Infrarot-Fernbedienungen)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/14789#101536 RC5 Sender auf einem Attiny11L]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/74013#609097 RGB-Moodlight auf ATTiny2313 mit RC5-Fernbedienung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12216#80856 Fernbedien RC5 Empfänger]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/59235#460765 RC5 Sender selber bauen ???]&lt;br /&gt;
&lt;br /&gt;
==Ringpuffer==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/66789#536189 Ringpuffer AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101472#882716 AVR-GCC: UART mit FIFO]&lt;br /&gt;
&lt;br /&gt;
==SD==&lt;br /&gt;
&lt;br /&gt;
(Secure Digital Memory Card; digitales Flash-Speichermedium)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48542#371695 Mr.MidiPlayer - Spielt alle MIDI-Dateien von einer SD-Karte] (siehe auch: [[Midi_Rekorder_mit_MMC/SD-Karte]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68257#550336 Datenrekorder auf SD-Karte mit mega88]&lt;br /&gt;
&lt;br /&gt;
==Sonstiges==&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/111783#994358 Sonnenstandberechnung mit Atmega 8]&lt;br /&gt;
&lt;br /&gt;
==Spaßprojekte==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/119876#1083044 Miniprojekt: Lagerfeuer-LED (ATtiny25)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120289#1087905 Klingel mit 100 Melodien - last minute Weihnachtsgeschenk]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/167528#1601077 Toastbrote zählen]&lt;br /&gt;
&lt;br /&gt;
==Spiele==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48505#371259 Tetris auf dem AtMega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/187253# Atmega8 Schachuhr mit Max7219 ]&lt;br /&gt;
&lt;br /&gt;
==Steuerungen==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/123551 Aquarium Controller]&lt;br /&gt;
&lt;br /&gt;
==Taster / Schalter==&lt;br /&gt;
===mechanisch===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6492#41625 Tasten entprellen - Bulletproof] (siehe auch: [[Entprellung]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48465#370877 Universelle Tastenabfrage]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6491#41624 Tasten-Matrix entprellen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64731#517001 Tastenmatrix auslesen über nur 2 Leitungen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64743#517105 Tasten Entprellen für N00bs]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/77863#648213 Taster + LED am selben Draht (4*)]&lt;br /&gt;
===kapazitiv===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38904  Sensor mit nur einer Kontaktfläche]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25045 Einfache Sensortaste]&lt;br /&gt;
&lt;br /&gt;
==Tonerzeugung==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/66945#537624 ATMEGA8 Soundgenerator/Synthesizer]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120289#1087905 Klingel mit 100 Melodien - last minute Weihnachtsgeschenk]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/134362 RTTTL Melodiegenerator mit ATTINY85]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25051 Melodie ausgeben mit AVR ATTiny12]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/137629#1259132 Melodieklingel BASCOM ATmega8]&lt;br /&gt;
&lt;br /&gt;
==TWI==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/87597#742070 AVR TWI Master und Slave Funtionen in C]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31404#242081 TWI / I2C einf. MASTER SLAVE Beispiel(Assembler) ATmega8]&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/75254#622120 USB Host Stack für Eingebettete Systeme (LGPL)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68442#552128 USB RFID Tag Leser]&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/92979#797957 AVR ATmega8TestBoard]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/90791#776280 Relaiskarte für den USB Port]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/130381#1179352 USB-Stick am Mikrocontroller VNC1L]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/155241 PDIUSBD12 Treiber und micro USB-Device stack]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/192453 HID-Joystick mit V-USB ]&lt;br /&gt;
&lt;br /&gt;
==UART==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101472#882716 AVR-GCC: UART mit FIFO]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38928#287985 Software UART]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/125651#1147436 Software UART mit FIFO]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/175946#1690682 uParse] - ein kompakter und vielseitiger Parser (Atmega32) für [[RS232]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/159753#1517744 Einfacher Interpreter für Komandozeilen/Befehlszeilen] (Atmega32) für [[RS232]]&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/53140#413249 AVR ASCII Video Terminal - 40 x 25 - BAS Signal]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/53139#413225 TV VIDEO BILD BAS Frequenzzähler DVM Atmega8 Assembler]&lt;br /&gt;
* (A) [http://www.electronicspit.com/video/ Videosignal in Farbe aus dem ATMega32]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25091#new VGA Testbildgenerator]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101429#882288 ATmega8 erzeugt Video in C!]&lt;br /&gt;
&lt;br /&gt;
==Zeitgeber und Uhren==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/12185#80055 Die genaue Sekunde / RTC]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/74673#616226 LCD-Timer für Belichtungsgerät]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/119859#1082804 DS1307 Assembler-Code]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31374#240878 AVR Library für RTC 12C887 in C]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25136#187534 RTC DS1302 in C]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25087#186454 RTC + Scheduler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53131#413059 Jumbo-LED Uhr]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6516#41903 Zeit + Temperatur auf LCD mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25069 Sekunden in Zeit/Datum umwandeln (mit Sommerzeit/Schaltjahren)]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/48560#371911 BASCOM Uhr mit Butterfly]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48450#370765 Countdown timer für UV Belichter]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98885 Countdown Timer mit ATtiny2313]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12176#79672 Wartezeiten effektiv (Scheduler)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Schaltuhr mit DCF77-Referenz in einem Webserver, Steuerung von Funksteckdosen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/100892#876549 Eieruhr mit ATtiny24V/ATtiny2313V]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/151236 Zeitauslöser für Casio EX F1 mit Attiny2313]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/151260#1419218 DCF77 Uhr 7 Segment LED ATmega8 Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/177688# NIXIE Uhr mit vielen Funktionen in C mit ATTiny2313]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[AVR-Codesammlung Übersicht]]&lt;br /&gt;
&lt;br /&gt;
[[Category:AVR| ]]&lt;br /&gt;
[[Kategorie:Forum]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_Softwarepool&amp;diff=54660</id>
		<title>AVR Softwarepool</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_Softwarepool&amp;diff=54660"/>
		<updated>2011-01-31T08:08:14Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Betriebssysteme und Scheduler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die interessantesten Softwareprojekte aus der Codesammlung...&lt;br /&gt;
&lt;br /&gt;
(A)   ... Projekt ist in &#039;&#039;&#039;Assembler&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(C)   ... Projekt ist in &#039;&#039;&#039;C&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(C++) ... Projekt ist in &#039;&#039;&#039;C++&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(B)   ... Projekt ist in &#039;&#039;&#039;Bascom&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(PC)  ... Projekt ist nicht für einen µC, sondern für den PC&lt;br /&gt;
&lt;br /&gt;
==1-Wire==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14792  DS1820, DS18B20 in C]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6505 Mehrere DS1820/DS18B20 auslesen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Mehrere DS1820/DS18B20/DS18S20/DS1822 über einen Webserver auslesbar]&lt;br /&gt;
&lt;br /&gt;
==Akkulader==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/72627#594587 Bleiakku-Lader 12/24V]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
&lt;br /&gt;
==Betriebssysteme und Scheduler==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/190388#1856376 Nano OS] von Tobias W. ([http://sourceforge.net/projects/nanoos/ Sourceforge])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12176#79672 Wartezeiten effektiv (Scheduler)] von Peter Dannegger&lt;br /&gt;
* (C++) [http://www.mikrocontroller.net/topic/96977#837989 Einfacher Scheduler und Timer in C++ für ATMega] von S. Seegel&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/74026#609246 GOS: einfacher preemptive multitasking scheduler] von Günter Greschenz&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/articles/Monitorprogramm_Bamo128] Monitorprogramm und Bootloader&lt;br /&gt;
&lt;br /&gt;
==Bootloader==&lt;br /&gt;
* (A,C,PC) [http://www.mikrocontroller.net/topic/12181#79866 AVR Bootloader]&lt;br /&gt;
* (A, PC) [http://www.mikrocontroller.net/topic/146638#1364260 AVR Bootloader für GCC-Toolchain]&lt;br /&gt;
* (A,PC) [http://www.mikrocontroller.net/topic/95839 AVR Bootloader mit Verschlüsselung]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/72308#591159 ATtiny45 Bootloader]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67047#538510 MMC/SD Bootloader für ATMega16]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/56818#439359 SD/MMC Card Bootloader (passt in 2kb bootsection)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/61170#480765 boofa - Bootloader für AVR über UART (AVR109)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53130#413058 Bootloader ATmega168]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/73196#600293 UART Bootloader ATtiny13 - ATmega644]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/150816#1414460 UART Bootloader AtMega644P @ 20MHz] (Eclipse Projekt)&lt;br /&gt;
* (C) [[AVR Bootloader in C - eine einfache Anleitung]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/200645#1971295 LAN-Bootloader für ATmega1284p]&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Bootloader]]&lt;br /&gt;
&lt;br /&gt;
==DCC==&lt;br /&gt;
&lt;br /&gt;
(Digital Command Control, Standard zur digitalen Steuerung von Modelleisenbahnen)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31397#241300 DCC Decoder]&lt;br /&gt;
&lt;br /&gt;
==DCF77==&lt;br /&gt;
&lt;br /&gt;
(Zeitsignaldienst für funkgesteuerte Uhren auf der Langwellen-Frequenz 77,5 kHz)&lt;br /&gt;
 &lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/38914#287867 DCF77 AVR-Assemblerbaustein ]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6500#41738 DCF77-Uhr mit ATTINY12]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31385#241104 DCF Digital Empfangsmodul - Korrelation - (Assembler)ATmega8 ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25071#186286 DCF 77 ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14788#101528 DCF-Uhr mit DotMatrix-Anzeige für avr-gcc]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12154#79501 PC DCF Timer ( PC Zeitschaltuhr)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25116#187197 DCF 77 Uhr mit CodeVision ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/58769#456232 DCF77 Uhr in C mit ATtiny26]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48597#372164 DCF77 Uhr, zum X.ten Mal, jetzt mit SAF]&lt;br /&gt;
* (C,A) [http://www.mikrocontroller.net/topic/31408#536372 DCF77 mit beliebig gepoltem Eingangssignal innerhalb eines Webservers]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/121049 DCF-Uhr, Sonnenstand, TWI-Port, Alarmfunktion für Atmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/151260#1419218 DCF77 Uhr 7 Segment LED ATmega8 Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/168807#1614129 DCF-Uhr mit LCD in C]&lt;br /&gt;
&lt;br /&gt;
== DRAM ==&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/25053#186085 2MB DRAM an AVR] und Anwendung als [http://www.mikrocontroller.net/topic/25053#186089 Audiorekorder]&lt;br /&gt;
&lt;br /&gt;
==Drehgeber==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6526#41978 Drehgeber auslesen]&lt;br /&gt;
&lt;br /&gt;
==DTMF==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/92444#792954 DTMF dekodieren]&lt;br /&gt;
&lt;br /&gt;
==DMX==&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/92350#new 20 Kanal Relaissteuerung per DMX]&lt;br /&gt;
&lt;br /&gt;
==Entwicklungssysteme==&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/74198#611404 AVR Code Wizard]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/30110#230503 Multitasking kernel für ATtinys in ASM]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/65156#521012 BASIC-Computer mit ATmega32]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/64129#511368 AVR TinyBASIC Anpassung für ATmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/59189#460273 Mini-Computer mit BASIC]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/55807 Forth System für ATmegas in Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/94193 Forth-Computer mit ATmega32 und Videoausgabe] von Christian Berger&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/62500#493931 Fixpoint-Arithmetik in &amp;quot;C&amp;quot;]&lt;br /&gt;
* (C++) [http://www.mikrocontroller.net/topic/143537 Fixpoint-Arithmetik in &amp;quot;C++&amp;quot;]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/85256#717037 64 Bit float Emulator in C, IEEE754 kompatibel]&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/92979#797957 AVR ATmega8TestBoard]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/94468#812992 Gleitkomma-Bibliothek für AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/177481?page=1 AVR CP/M System]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/187390 EMACS Konfiguration]&lt;br /&gt;
&lt;br /&gt;
==FFT==&lt;br /&gt;
&lt;br /&gt;
(Fast Fourier Transformation, &amp;quot;schnelle&amp;quot; Fouriertransformation)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25095#186536 FFT auf dem AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25062#186225 128point FFT in ASM]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/27001#203911 Schnelle FFT in Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131525#1191497 AVR-Lichtorgel per FFT MEGA8 32 644 ]&lt;br /&gt;
&lt;br /&gt;
==Funksteckdosen==&lt;br /&gt;
* (C,A) [http://www.mikrocontroller.net/topic/31408#536372 Ansteuerung von Funksteckdosen mit einem Webserver]&lt;br /&gt;
&lt;br /&gt;
==GPS==&lt;br /&gt;
&lt;br /&gt;
(Global Positioning System, satellitengestütztes System zur weltweiten Positions- und Zeitbestimmung)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/48544#371717 GPS - MOUSE - MINI- NAVIGATOR (Assembler) ATmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/72507#593252 GPS an mega8,88 oder 168]&lt;br /&gt;
&lt;br /&gt;
==IR==&lt;br /&gt;
* siehe auch [[AVR Softwarepool#RC5|RC5]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/162119#1545798 IRMP - Infrared Multi Protocol Decoder]&lt;br /&gt;
&lt;br /&gt;
==Kryptographie==&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/73468 Verschiedene kryptographische Funktionen] &lt;br /&gt;
&lt;br /&gt;
==LANC==&lt;br /&gt;
&lt;br /&gt;
(Steuerprotokoll für Video- und Digitalfotokameras, auch als Control-L bekannt)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/40463#302754 Sony LANC Auswertung mit AVR] (Atmega 128 @ 16 MHz)&lt;br /&gt;
&lt;br /&gt;
==LEDs und LED-Anzeigen==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76839#638278 Solarlicht Steuerung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/77863#648213 Taster + LED am selben Draht (4*)]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/73776#606472 LED-Touch-Panel] (ARM)&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/74013#609097 RGB-Moodlight auf ATTiny2313 mit RC5-Fernbedienung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/54561#421940 HSV RGB Led Dimmer, C Code &amp;amp; Video &amp;amp; Doku]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/67567#543492 Mini RGB Lichteffektgenerator mit Menü für Pic16F84]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48464#370871 Ansteuerung einer RGB LED (PWM)]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/87149#737282 3x7 Segment und 1 I/O-Pin (Assembler)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31370#240843 ADC mit Multiplexanzeige] (vier 7-Segmentanzeigen)&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31388#241192 AVR-Lauflicht]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/94746#815809 HSB-&amp;gt;RGB Umrechnung rein in Assembler, auch für ATiny]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/110168 2x7-Segment an nur 3 Leitungen]&lt;br /&gt;
* (A) [[Ambilight in Hardware]]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131525#1191497 AVR-Lichtorgel per FFT MEGA8 32 644 ]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/182305 TLC5940 16-Kanal 12bit LED Treiber ansteuern und HighPower LEDs über MosFETs treiben]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/185730 7Segment Coder]&lt;br /&gt;
&lt;br /&gt;
==LCD und VFD==&lt;br /&gt;
* (C) [http://bluematrixi.bl.funpic.de/index.php/elektronik-avr/lcd-display-nokia3310 Bibliothek für Nokia 3310 Lcd Ansteuerung in &amp;quot;C&amp;quot; - sehr gut]&lt;br /&gt;
*(C,A)[http://www.mikrocontroller.net/articles/Ansteuerung_Handy_Displays Ansteuerung_Handy_Displays]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/53137#413137 Programm zum Erstellen eigener Schriftarten (LCD)]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/54860#423255 LCD Schriftarten ( Fonts in veschiedenen Größen )]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31403  The Siemens S65 132x176, 65536 color display with AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48501#371218 LCD Ansteuerung im 4bit-Modus]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48456#370782 LCD Library T6963c]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76399#633680 &amp;quot;Bessere&amp;quot; T6963c Library]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25099#186569 LCD Controller für 640x480 LCD mit mega8515]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38923#287939 LCD Controller KS0073 Support im 4-Bit Mode]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/79609#664268 KS0066U oder Ähnliche --- LCD Treiber]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/81793#683135 Pollin E0855-2 SED1530-Treiber]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/90449#772843 LCD über nur einen IO-Pin ansteuern]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120475 VFD Library (Vacuum Fluorescent Display Library)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98321#851423 Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/140369 Menüsystem für beliebige schwarz-weiß LCDs bis 4096x4096 Pixeln und grafischem Editor]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/194149 Schnelle SED1520 Funktionsbibliothek mit Bildkonverter und Fontgenerator]&lt;br /&gt;
&lt;br /&gt;
==I2C==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98923#857451 Ultraschall Entfernungsmesser mit I2C, Eigenbau]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/83871#new  I2C-Master realisiert in Software, ohne TWI für alle ATMEGAs]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/38919#new  RS232 &amp;lt;-&amp;gt; TWI / I2C Interface für ATMega8 (ASM) inkl. Windows Software]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67698#544930 USI TWI Master]&lt;br /&gt;
&lt;br /&gt;
==Messgeräte==&lt;br /&gt;
===Drehzahlmesser===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/1518#8469 Drehzahlmesser 4 mal 7-Segment mit 90S2313]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/Drehzahlmesser Drehzahlmesser mit 4 mal 7-Segment anzeigen mit Tiny2313, Wiki-Artikel]&lt;br /&gt;
&lt;br /&gt;
===Klopfsensormessgerät===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/Klopfsensormessgeraet Messgerät für Klopfgeräusche an Verbrennungsmotoren auf Basis des TPIC8101]&lt;br /&gt;
&lt;br /&gt;
===Entfernungsmesser===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98923#857451 Ultraschall Entfernungsmesser mit I2C, Eigenbau]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/130834 3D Umgebungserfassung mit einem auf zwei Servors montiertem Sharp Distanzsensor, Eigenbau]&lt;br /&gt;
&lt;br /&gt;
===Frequenzmesser===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/62610#495030 Frequenzmesser bis 2Mhz -- mit AVR ATmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48582#372072 Frequenzmessung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/62517#494146 Input Capture Pin (ICP) auslesen ( Frequenz messen)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25144#187587 Frequenzmessung und Impulszählung über den Parallelport-IR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31394#241251 einfacher 5 MHz Frequenzzähler (Assembler) ATmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/173665#new sehr genauer Frequenzmesser Atmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/186801#new  Reziproker Frequenzzähler+ Optimierte 64bit uint Routinen]&lt;br /&gt;
* (C+A) [http://www.mikrocontroller.net/topic/200279#new 6 Stellen von 1Hz bis 40MHz ATmega8]&lt;br /&gt;
&lt;br /&gt;
===Frequenzgenerator===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/152966#1438488 Einstellbarer Frequenzgenerator für 0.12 Hz - 8 MHz mit Atmega 8 und Bascom ]&lt;br /&gt;
&lt;br /&gt;
===Kompass===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/100239#870281 KOMPASS KMZ10A KMZ10B ATmega8 Assembler]&lt;br /&gt;
&lt;br /&gt;
===Messgeräte für elektronische Bauteile===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/60797#477026 LC-METER / LC-Messgerät ATmega8 Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/60591#474873 Widerstandstester]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/56770#438957 Ladungsmessgerät]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31386#241139 Transistortester]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131804#1194273 Transistortester]&lt;br /&gt;
&lt;br /&gt;
===Spannungsmesser===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31370#240843 ADC mit Multiplexanzeige] - Voltmeter&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
&lt;br /&gt;
===Thermometer===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6516#41903 Zeit + Temperatur auf LCD mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53127#413006 Thermometer mit LED &amp;amp; LM35]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Viele DS18x20-Thermometer in einem Webserver]&lt;br /&gt;
&lt;br /&gt;
===Oszilloskop===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/53129#413011 Einfaches Oszilloskop - Bascom]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/48586#372093 Oszi- &amp;amp; Logikanalyser mit LCD]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31376#240880 einfaches DIGITAL- Oszilloskop (800 Datenpunkte) Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/56616#437772 Einfaches &amp;quot;Oszilloskop&amp;quot;]&lt;br /&gt;
* (C) [http://www.christoph-lauer.de/Homepage/Blog/Eintrage/2010/8/22_Embedded_C_based_Spectrumanalyzer.html ATXMega based Oscilloscope and Spectrumanalyzer]&lt;br /&gt;
&lt;br /&gt;
==MIDI==&lt;br /&gt;
&lt;br /&gt;
(Musical Instrument Digital Interface, Datenübertragungsstandard für Musikinstrumente)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48542#371695 Mr.MidiPlayer - Spielt alle MIDI-Dateien von einer SD-Karte] (siehe auch: [[Midi_Rekorder_mit_MMC/SD-Karte]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/106512# Drum-Trigger mit MIDI-Ausgabe]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/159760#1517791 Drum-Trigger mit USB-Midi-Ausgabe]&lt;br /&gt;
&lt;br /&gt;
==MMC==&lt;br /&gt;
&lt;br /&gt;
(Multimedia Card, digitales Flash-Speichermedium)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25056#186117 SourceCode MMC die Zweite]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48481#370950 MMC/SD-Karte mit FAT16 an AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67047#538510 MMC/SD Bootloader füt ATMega16]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14800#102024 MMC/SD ansteuern mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/FAT32 MMC/SD - FAT16/32 Bibliothek für AVR  mit Wiki]&lt;br /&gt;
&lt;br /&gt;
==Netzgeräte==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/60786#476904 Labornetzgerät]&lt;br /&gt;
* [[RADLAB-PS1]] [http://www.mikrocontroller.net/topic/124858#1138781 Netzteil um LM317 mit Strombegrenzung und Anzeige!]&lt;br /&gt;
&lt;br /&gt;
==Netzwerk==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/87517#new Kleiner ENC28J60 µWebserver von SimonK]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/82127#new Ulrich Radigs ENC28J60 mit leicht lötbaren/beschaffbaren Bauteilen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131825 Dirk Broßwick Webserver auf ENC28j60 Basis mit einem ATmega2561, es gibt auch einen Port auf das AVR-NET IO]&lt;br /&gt;
&lt;br /&gt;
==Parser==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64763#517245 Zwei Parser für numerische Ausdrücke]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76842#638283 uShell - ein universeller Parser für uCs]&lt;br /&gt;
&lt;br /&gt;
==RFID==&lt;br /&gt;
&lt;br /&gt;
(Radio Frequency Identification, Verfahren zur funkbasierten Identifizierung und Lokalisierung von Gegenständen)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68442#552128 USB RFID Tag Leser]&lt;br /&gt;
&lt;br /&gt;
==RC - Fernsteuerungen/Servos==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48529#371582 RC Summen Signal erzeugen ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/192453 RC Summen Signal dekodieren ]&lt;br /&gt;
&lt;br /&gt;
==RC5==&lt;br /&gt;
&lt;br /&gt;
(verbreitetes Datenübertragungsprotokoll für Infrarot-Fernbedienungen)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/14789#101536 RC5 Sender auf einem Attiny11L]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/74013#609097 RGB-Moodlight auf ATTiny2313 mit RC5-Fernbedienung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12216#80856 Fernbedien RC5 Empfänger]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/59235#460765 RC5 Sender selber bauen ???]&lt;br /&gt;
&lt;br /&gt;
==Ringpuffer==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/66789#536189 Ringpuffer AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101472#882716 AVR-GCC: UART mit FIFO]&lt;br /&gt;
&lt;br /&gt;
==SD==&lt;br /&gt;
&lt;br /&gt;
(Secure Digital Memory Card; digitales Flash-Speichermedium)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48542#371695 Mr.MidiPlayer - Spielt alle MIDI-Dateien von einer SD-Karte] (siehe auch: [[Midi_Rekorder_mit_MMC/SD-Karte]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68257#550336 Datenrekorder auf SD-Karte mit mega88]&lt;br /&gt;
&lt;br /&gt;
==Sonstiges==&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/111783#994358 Sonnenstandberechnung mit Atmega 8]&lt;br /&gt;
&lt;br /&gt;
==Spaßprojekte==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/119876#1083044 Miniprojekt: Lagerfeuer-LED (ATtiny25)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120289#1087905 Klingel mit 100 Melodien - last minute Weihnachtsgeschenk]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/167528#1601077 Toastbrote zählen]&lt;br /&gt;
&lt;br /&gt;
==Spiele==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48505#371259 Tetris auf dem AtMega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/187253# Atmega8 Schachuhr mit Max7219 ]&lt;br /&gt;
&lt;br /&gt;
==Steuerungen==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/123551 Aquarium Controller]&lt;br /&gt;
&lt;br /&gt;
==Taster / Schalter==&lt;br /&gt;
===mechanisch===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6492#41625 Tasten entprellen - Bulletproof] (siehe auch: [[Entprellung]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48465#370877 Universelle Tastenabfrage]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6491#41624 Tasten-Matrix entprellen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64731#517001 Tastenmatrix auslesen über nur 2 Leitungen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64743#517105 Tasten Entprellen für N00bs]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/77863#648213 Taster + LED am selben Draht (4*)]&lt;br /&gt;
===kapazitiv===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38904  Sensor mit nur einer Kontaktfläche]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25045 Einfache Sensortaste]&lt;br /&gt;
&lt;br /&gt;
==Tonerzeugung==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/66945#537624 ATMEGA8 Soundgenerator/Synthesizer]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120289#1087905 Klingel mit 100 Melodien - last minute Weihnachtsgeschenk]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/134362 RTTTL Melodiegenerator mit ATTINY85]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25051 Melodie ausgeben mit AVR ATTiny12]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/137629#1259132 Melodieklingel BASCOM ATmega8]&lt;br /&gt;
&lt;br /&gt;
==TWI==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/87597#742070 AVR TWI Master und Slave Funtionen in C]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31404#242081 TWI / I2C einf. MASTER SLAVE Beispiel(Assembler) ATmega8]&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/75254#622120 USB Host Stack für Eingebettete Systeme (LGPL)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68442#552128 USB RFID Tag Leser]&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/92979#797957 AVR ATmega8TestBoard]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/90791#776280 Relaiskarte für den USB Port]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/130381#1179352 USB-Stick am Mikrocontroller VNC1L]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/155241 PDIUSBD12 Treiber und micro USB-Device stack]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/192453 HID-Joystick mit V-USB ]&lt;br /&gt;
&lt;br /&gt;
==UART==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101472#882716 AVR-GCC: UART mit FIFO]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38928#287985 Software UART]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/125651#1147436 Software UART mit FIFO]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/175946#1690682 uParse] - ein kompakter und vielseitiger Parser (Atmega32) für [[RS232]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/159753#1517744 Einfacher Interpreter für Komandozeilen/Befehlszeilen] (Atmega32) für [[RS232]]&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/53140#413249 AVR ASCII Video Terminal - 40 x 25 - BAS Signal]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/53139#413225 TV VIDEO BILD BAS Frequenzzähler DVM Atmega8 Assembler]&lt;br /&gt;
* (A) [http://www.electronicspit.com/video/ Videosignal in Farbe aus dem ATMega32]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25091#new VGA Testbildgenerator]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101429#882288 ATmega8 erzeugt Video in C!]&lt;br /&gt;
&lt;br /&gt;
==Zeitgeber und Uhren==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/12185#80055 Die genaue Sekunde / RTC]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/74673#616226 LCD-Timer für Belichtungsgerät]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/119859#1082804 DS1307 Assembler-Code]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31374#240878 AVR Library für RTC 12C887 in C]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25136#187534 RTC DS1302 in C]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25087#186454 RTC + Scheduler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53131#413059 Jumbo-LED Uhr]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6516#41903 Zeit + Temperatur auf LCD mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25069 Sekunden in Zeit/Datum umwandeln (mit Sommerzeit/Schaltjahren)]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/48560#371911 BASCOM Uhr mit Butterfly]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48450#370765 Countdown timer für UV Belichter]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98885 Countdown Timer mit ATtiny2313]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12176#79672 Wartezeiten effektiv (Scheduler)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Schaltuhr mit DCF77-Referenz in einem Webserver, Steuerung von Funksteckdosen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/100892#876549 Eieruhr mit ATtiny24V/ATtiny2313V]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/151236 Zeitauslöser für Casio EX F1 mit Attiny2313]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/151260#1419218 DCF77 Uhr 7 Segment LED ATmega8 Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/177688# NIXIE Uhr mit vielen Funktionen in C mit ATTiny2313]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[AVR-Codesammlung Übersicht]]&lt;br /&gt;
&lt;br /&gt;
[[Category:AVR| ]]&lt;br /&gt;
[[Kategorie:Forum]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_Softwarepool&amp;diff=54659</id>
		<title>AVR Softwarepool</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_Softwarepool&amp;diff=54659"/>
		<updated>2011-01-31T08:07:31Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Betriebssysteme und Scheduler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die interessantesten Softwareprojekte aus der Codesammlung...&lt;br /&gt;
&lt;br /&gt;
(A)   ... Projekt ist in &#039;&#039;&#039;Assembler&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(C)   ... Projekt ist in &#039;&#039;&#039;C&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(C++) ... Projekt ist in &#039;&#039;&#039;C++&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(B)   ... Projekt ist in &#039;&#039;&#039;Bascom&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(PC)  ... Projekt ist nicht für einen µC, sondern für den PC&lt;br /&gt;
&lt;br /&gt;
==1-Wire==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14792  DS1820, DS18B20 in C]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6505 Mehrere DS1820/DS18B20 auslesen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Mehrere DS1820/DS18B20/DS18S20/DS1822 über einen Webserver auslesbar]&lt;br /&gt;
&lt;br /&gt;
==Akkulader==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/72627#594587 Bleiakku-Lader 12/24V]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
&lt;br /&gt;
==Betriebssysteme und Scheduler==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/190388#1856376 Nano OS] von Tobias W. ([http://sourceforge.net/projects/nanoos/ Sourceforge])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12176#79672 Wartezeiten effektiv (Scheduler)] von Peter Dannegger&lt;br /&gt;
* (C++) [http://www.mikrocontroller.net/topic/96977#837989 Einfacher Scheduler und Timer in C++ für ATMega] von S. Seegel&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/74026#609246 GOS: einfacher preemptive multitasking scheduler] von Günter Greschenz&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/articles/Monitorprogramm_Bamo128:Bamo128] Monitorprogramm und Bootloader&lt;br /&gt;
&lt;br /&gt;
==Bootloader==&lt;br /&gt;
* (A,C,PC) [http://www.mikrocontroller.net/topic/12181#79866 AVR Bootloader]&lt;br /&gt;
* (A, PC) [http://www.mikrocontroller.net/topic/146638#1364260 AVR Bootloader für GCC-Toolchain]&lt;br /&gt;
* (A,PC) [http://www.mikrocontroller.net/topic/95839 AVR Bootloader mit Verschlüsselung]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/72308#591159 ATtiny45 Bootloader]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67047#538510 MMC/SD Bootloader für ATMega16]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/56818#439359 SD/MMC Card Bootloader (passt in 2kb bootsection)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/61170#480765 boofa - Bootloader für AVR über UART (AVR109)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53130#413058 Bootloader ATmega168]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/73196#600293 UART Bootloader ATtiny13 - ATmega644]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/150816#1414460 UART Bootloader AtMega644P @ 20MHz] (Eclipse Projekt)&lt;br /&gt;
* (C) [[AVR Bootloader in C - eine einfache Anleitung]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/200645#1971295 LAN-Bootloader für ATmega1284p]&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Bootloader]]&lt;br /&gt;
&lt;br /&gt;
==DCC==&lt;br /&gt;
&lt;br /&gt;
(Digital Command Control, Standard zur digitalen Steuerung von Modelleisenbahnen)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31397#241300 DCC Decoder]&lt;br /&gt;
&lt;br /&gt;
==DCF77==&lt;br /&gt;
&lt;br /&gt;
(Zeitsignaldienst für funkgesteuerte Uhren auf der Langwellen-Frequenz 77,5 kHz)&lt;br /&gt;
 &lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/38914#287867 DCF77 AVR-Assemblerbaustein ]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6500#41738 DCF77-Uhr mit ATTINY12]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31385#241104 DCF Digital Empfangsmodul - Korrelation - (Assembler)ATmega8 ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25071#186286 DCF 77 ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14788#101528 DCF-Uhr mit DotMatrix-Anzeige für avr-gcc]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12154#79501 PC DCF Timer ( PC Zeitschaltuhr)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25116#187197 DCF 77 Uhr mit CodeVision ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/58769#456232 DCF77 Uhr in C mit ATtiny26]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48597#372164 DCF77 Uhr, zum X.ten Mal, jetzt mit SAF]&lt;br /&gt;
* (C,A) [http://www.mikrocontroller.net/topic/31408#536372 DCF77 mit beliebig gepoltem Eingangssignal innerhalb eines Webservers]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/121049 DCF-Uhr, Sonnenstand, TWI-Port, Alarmfunktion für Atmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/151260#1419218 DCF77 Uhr 7 Segment LED ATmega8 Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/168807#1614129 DCF-Uhr mit LCD in C]&lt;br /&gt;
&lt;br /&gt;
== DRAM ==&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/25053#186085 2MB DRAM an AVR] und Anwendung als [http://www.mikrocontroller.net/topic/25053#186089 Audiorekorder]&lt;br /&gt;
&lt;br /&gt;
==Drehgeber==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6526#41978 Drehgeber auslesen]&lt;br /&gt;
&lt;br /&gt;
==DTMF==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/92444#792954 DTMF dekodieren]&lt;br /&gt;
&lt;br /&gt;
==DMX==&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/92350#new 20 Kanal Relaissteuerung per DMX]&lt;br /&gt;
&lt;br /&gt;
==Entwicklungssysteme==&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/74198#611404 AVR Code Wizard]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/30110#230503 Multitasking kernel für ATtinys in ASM]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/65156#521012 BASIC-Computer mit ATmega32]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/64129#511368 AVR TinyBASIC Anpassung für ATmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/59189#460273 Mini-Computer mit BASIC]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/55807 Forth System für ATmegas in Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/94193 Forth-Computer mit ATmega32 und Videoausgabe] von Christian Berger&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/62500#493931 Fixpoint-Arithmetik in &amp;quot;C&amp;quot;]&lt;br /&gt;
* (C++) [http://www.mikrocontroller.net/topic/143537 Fixpoint-Arithmetik in &amp;quot;C++&amp;quot;]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/85256#717037 64 Bit float Emulator in C, IEEE754 kompatibel]&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/92979#797957 AVR ATmega8TestBoard]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/94468#812992 Gleitkomma-Bibliothek für AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/177481?page=1 AVR CP/M System]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/187390 EMACS Konfiguration]&lt;br /&gt;
&lt;br /&gt;
==FFT==&lt;br /&gt;
&lt;br /&gt;
(Fast Fourier Transformation, &amp;quot;schnelle&amp;quot; Fouriertransformation)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25095#186536 FFT auf dem AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25062#186225 128point FFT in ASM]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/27001#203911 Schnelle FFT in Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131525#1191497 AVR-Lichtorgel per FFT MEGA8 32 644 ]&lt;br /&gt;
&lt;br /&gt;
==Funksteckdosen==&lt;br /&gt;
* (C,A) [http://www.mikrocontroller.net/topic/31408#536372 Ansteuerung von Funksteckdosen mit einem Webserver]&lt;br /&gt;
&lt;br /&gt;
==GPS==&lt;br /&gt;
&lt;br /&gt;
(Global Positioning System, satellitengestütztes System zur weltweiten Positions- und Zeitbestimmung)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/48544#371717 GPS - MOUSE - MINI- NAVIGATOR (Assembler) ATmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/72507#593252 GPS an mega8,88 oder 168]&lt;br /&gt;
&lt;br /&gt;
==IR==&lt;br /&gt;
* siehe auch [[AVR Softwarepool#RC5|RC5]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/162119#1545798 IRMP - Infrared Multi Protocol Decoder]&lt;br /&gt;
&lt;br /&gt;
==Kryptographie==&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/73468 Verschiedene kryptographische Funktionen] &lt;br /&gt;
&lt;br /&gt;
==LANC==&lt;br /&gt;
&lt;br /&gt;
(Steuerprotokoll für Video- und Digitalfotokameras, auch als Control-L bekannt)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/40463#302754 Sony LANC Auswertung mit AVR] (Atmega 128 @ 16 MHz)&lt;br /&gt;
&lt;br /&gt;
==LEDs und LED-Anzeigen==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76839#638278 Solarlicht Steuerung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/77863#648213 Taster + LED am selben Draht (4*)]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/73776#606472 LED-Touch-Panel] (ARM)&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/74013#609097 RGB-Moodlight auf ATTiny2313 mit RC5-Fernbedienung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/54561#421940 HSV RGB Led Dimmer, C Code &amp;amp; Video &amp;amp; Doku]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/67567#543492 Mini RGB Lichteffektgenerator mit Menü für Pic16F84]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48464#370871 Ansteuerung einer RGB LED (PWM)]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/87149#737282 3x7 Segment und 1 I/O-Pin (Assembler)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31370#240843 ADC mit Multiplexanzeige] (vier 7-Segmentanzeigen)&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31388#241192 AVR-Lauflicht]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/94746#815809 HSB-&amp;gt;RGB Umrechnung rein in Assembler, auch für ATiny]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/110168 2x7-Segment an nur 3 Leitungen]&lt;br /&gt;
* (A) [[Ambilight in Hardware]]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131525#1191497 AVR-Lichtorgel per FFT MEGA8 32 644 ]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/182305 TLC5940 16-Kanal 12bit LED Treiber ansteuern und HighPower LEDs über MosFETs treiben]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/185730 7Segment Coder]&lt;br /&gt;
&lt;br /&gt;
==LCD und VFD==&lt;br /&gt;
* (C) [http://bluematrixi.bl.funpic.de/index.php/elektronik-avr/lcd-display-nokia3310 Bibliothek für Nokia 3310 Lcd Ansteuerung in &amp;quot;C&amp;quot; - sehr gut]&lt;br /&gt;
*(C,A)[http://www.mikrocontroller.net/articles/Ansteuerung_Handy_Displays Ansteuerung_Handy_Displays]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/53137#413137 Programm zum Erstellen eigener Schriftarten (LCD)]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/54860#423255 LCD Schriftarten ( Fonts in veschiedenen Größen )]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31403  The Siemens S65 132x176, 65536 color display with AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48501#371218 LCD Ansteuerung im 4bit-Modus]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48456#370782 LCD Library T6963c]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76399#633680 &amp;quot;Bessere&amp;quot; T6963c Library]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25099#186569 LCD Controller für 640x480 LCD mit mega8515]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38923#287939 LCD Controller KS0073 Support im 4-Bit Mode]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/79609#664268 KS0066U oder Ähnliche --- LCD Treiber]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/81793#683135 Pollin E0855-2 SED1530-Treiber]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/90449#772843 LCD über nur einen IO-Pin ansteuern]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120475 VFD Library (Vacuum Fluorescent Display Library)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98321#851423 Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/140369 Menüsystem für beliebige schwarz-weiß LCDs bis 4096x4096 Pixeln und grafischem Editor]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/194149 Schnelle SED1520 Funktionsbibliothek mit Bildkonverter und Fontgenerator]&lt;br /&gt;
&lt;br /&gt;
==I2C==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98923#857451 Ultraschall Entfernungsmesser mit I2C, Eigenbau]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/83871#new  I2C-Master realisiert in Software, ohne TWI für alle ATMEGAs]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/38919#new  RS232 &amp;lt;-&amp;gt; TWI / I2C Interface für ATMega8 (ASM) inkl. Windows Software]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67698#544930 USI TWI Master]&lt;br /&gt;
&lt;br /&gt;
==Messgeräte==&lt;br /&gt;
===Drehzahlmesser===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/1518#8469 Drehzahlmesser 4 mal 7-Segment mit 90S2313]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/Drehzahlmesser Drehzahlmesser mit 4 mal 7-Segment anzeigen mit Tiny2313, Wiki-Artikel]&lt;br /&gt;
&lt;br /&gt;
===Klopfsensormessgerät===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/Klopfsensormessgeraet Messgerät für Klopfgeräusche an Verbrennungsmotoren auf Basis des TPIC8101]&lt;br /&gt;
&lt;br /&gt;
===Entfernungsmesser===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98923#857451 Ultraschall Entfernungsmesser mit I2C, Eigenbau]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/130834 3D Umgebungserfassung mit einem auf zwei Servors montiertem Sharp Distanzsensor, Eigenbau]&lt;br /&gt;
&lt;br /&gt;
===Frequenzmesser===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/62610#495030 Frequenzmesser bis 2Mhz -- mit AVR ATmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48582#372072 Frequenzmessung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/62517#494146 Input Capture Pin (ICP) auslesen ( Frequenz messen)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25144#187587 Frequenzmessung und Impulszählung über den Parallelport-IR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31394#241251 einfacher 5 MHz Frequenzzähler (Assembler) ATmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/173665#new sehr genauer Frequenzmesser Atmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/186801#new  Reziproker Frequenzzähler+ Optimierte 64bit uint Routinen]&lt;br /&gt;
* (C+A) [http://www.mikrocontroller.net/topic/200279#new 6 Stellen von 1Hz bis 40MHz ATmega8]&lt;br /&gt;
&lt;br /&gt;
===Frequenzgenerator===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/152966#1438488 Einstellbarer Frequenzgenerator für 0.12 Hz - 8 MHz mit Atmega 8 und Bascom ]&lt;br /&gt;
&lt;br /&gt;
===Kompass===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/100239#870281 KOMPASS KMZ10A KMZ10B ATmega8 Assembler]&lt;br /&gt;
&lt;br /&gt;
===Messgeräte für elektronische Bauteile===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/60797#477026 LC-METER / LC-Messgerät ATmega8 Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/60591#474873 Widerstandstester]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/56770#438957 Ladungsmessgerät]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31386#241139 Transistortester]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131804#1194273 Transistortester]&lt;br /&gt;
&lt;br /&gt;
===Spannungsmesser===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31370#240843 ADC mit Multiplexanzeige] - Voltmeter&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
&lt;br /&gt;
===Thermometer===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6516#41903 Zeit + Temperatur auf LCD mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53127#413006 Thermometer mit LED &amp;amp; LM35]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Viele DS18x20-Thermometer in einem Webserver]&lt;br /&gt;
&lt;br /&gt;
===Oszilloskop===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/53129#413011 Einfaches Oszilloskop - Bascom]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/48586#372093 Oszi- &amp;amp; Logikanalyser mit LCD]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31376#240880 einfaches DIGITAL- Oszilloskop (800 Datenpunkte) Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/56616#437772 Einfaches &amp;quot;Oszilloskop&amp;quot;]&lt;br /&gt;
* (C) [http://www.christoph-lauer.de/Homepage/Blog/Eintrage/2010/8/22_Embedded_C_based_Spectrumanalyzer.html ATXMega based Oscilloscope and Spectrumanalyzer]&lt;br /&gt;
&lt;br /&gt;
==MIDI==&lt;br /&gt;
&lt;br /&gt;
(Musical Instrument Digital Interface, Datenübertragungsstandard für Musikinstrumente)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48542#371695 Mr.MidiPlayer - Spielt alle MIDI-Dateien von einer SD-Karte] (siehe auch: [[Midi_Rekorder_mit_MMC/SD-Karte]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/106512# Drum-Trigger mit MIDI-Ausgabe]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/159760#1517791 Drum-Trigger mit USB-Midi-Ausgabe]&lt;br /&gt;
&lt;br /&gt;
==MMC==&lt;br /&gt;
&lt;br /&gt;
(Multimedia Card, digitales Flash-Speichermedium)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25056#186117 SourceCode MMC die Zweite]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48481#370950 MMC/SD-Karte mit FAT16 an AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67047#538510 MMC/SD Bootloader füt ATMega16]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14800#102024 MMC/SD ansteuern mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/FAT32 MMC/SD - FAT16/32 Bibliothek für AVR  mit Wiki]&lt;br /&gt;
&lt;br /&gt;
==Netzgeräte==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/60786#476904 Labornetzgerät]&lt;br /&gt;
* [[RADLAB-PS1]] [http://www.mikrocontroller.net/topic/124858#1138781 Netzteil um LM317 mit Strombegrenzung und Anzeige!]&lt;br /&gt;
&lt;br /&gt;
==Netzwerk==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/87517#new Kleiner ENC28J60 µWebserver von SimonK]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/82127#new Ulrich Radigs ENC28J60 mit leicht lötbaren/beschaffbaren Bauteilen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131825 Dirk Broßwick Webserver auf ENC28j60 Basis mit einem ATmega2561, es gibt auch einen Port auf das AVR-NET IO]&lt;br /&gt;
&lt;br /&gt;
==Parser==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64763#517245 Zwei Parser für numerische Ausdrücke]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76842#638283 uShell - ein universeller Parser für uCs]&lt;br /&gt;
&lt;br /&gt;
==RFID==&lt;br /&gt;
&lt;br /&gt;
(Radio Frequency Identification, Verfahren zur funkbasierten Identifizierung und Lokalisierung von Gegenständen)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68442#552128 USB RFID Tag Leser]&lt;br /&gt;
&lt;br /&gt;
==RC - Fernsteuerungen/Servos==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48529#371582 RC Summen Signal erzeugen ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/192453 RC Summen Signal dekodieren ]&lt;br /&gt;
&lt;br /&gt;
==RC5==&lt;br /&gt;
&lt;br /&gt;
(verbreitetes Datenübertragungsprotokoll für Infrarot-Fernbedienungen)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/14789#101536 RC5 Sender auf einem Attiny11L]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/74013#609097 RGB-Moodlight auf ATTiny2313 mit RC5-Fernbedienung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12216#80856 Fernbedien RC5 Empfänger]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/59235#460765 RC5 Sender selber bauen ???]&lt;br /&gt;
&lt;br /&gt;
==Ringpuffer==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/66789#536189 Ringpuffer AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101472#882716 AVR-GCC: UART mit FIFO]&lt;br /&gt;
&lt;br /&gt;
==SD==&lt;br /&gt;
&lt;br /&gt;
(Secure Digital Memory Card; digitales Flash-Speichermedium)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48542#371695 Mr.MidiPlayer - Spielt alle MIDI-Dateien von einer SD-Karte] (siehe auch: [[Midi_Rekorder_mit_MMC/SD-Karte]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68257#550336 Datenrekorder auf SD-Karte mit mega88]&lt;br /&gt;
&lt;br /&gt;
==Sonstiges==&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/111783#994358 Sonnenstandberechnung mit Atmega 8]&lt;br /&gt;
&lt;br /&gt;
==Spaßprojekte==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/119876#1083044 Miniprojekt: Lagerfeuer-LED (ATtiny25)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120289#1087905 Klingel mit 100 Melodien - last minute Weihnachtsgeschenk]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/167528#1601077 Toastbrote zählen]&lt;br /&gt;
&lt;br /&gt;
==Spiele==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48505#371259 Tetris auf dem AtMega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/187253# Atmega8 Schachuhr mit Max7219 ]&lt;br /&gt;
&lt;br /&gt;
==Steuerungen==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/123551 Aquarium Controller]&lt;br /&gt;
&lt;br /&gt;
==Taster / Schalter==&lt;br /&gt;
===mechanisch===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6492#41625 Tasten entprellen - Bulletproof] (siehe auch: [[Entprellung]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48465#370877 Universelle Tastenabfrage]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6491#41624 Tasten-Matrix entprellen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64731#517001 Tastenmatrix auslesen über nur 2 Leitungen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64743#517105 Tasten Entprellen für N00bs]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/77863#648213 Taster + LED am selben Draht (4*)]&lt;br /&gt;
===kapazitiv===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38904  Sensor mit nur einer Kontaktfläche]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25045 Einfache Sensortaste]&lt;br /&gt;
&lt;br /&gt;
==Tonerzeugung==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/66945#537624 ATMEGA8 Soundgenerator/Synthesizer]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120289#1087905 Klingel mit 100 Melodien - last minute Weihnachtsgeschenk]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/134362 RTTTL Melodiegenerator mit ATTINY85]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25051 Melodie ausgeben mit AVR ATTiny12]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/137629#1259132 Melodieklingel BASCOM ATmega8]&lt;br /&gt;
&lt;br /&gt;
==TWI==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/87597#742070 AVR TWI Master und Slave Funtionen in C]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31404#242081 TWI / I2C einf. MASTER SLAVE Beispiel(Assembler) ATmega8]&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/75254#622120 USB Host Stack für Eingebettete Systeme (LGPL)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68442#552128 USB RFID Tag Leser]&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/92979#797957 AVR ATmega8TestBoard]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/90791#776280 Relaiskarte für den USB Port]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/130381#1179352 USB-Stick am Mikrocontroller VNC1L]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/155241 PDIUSBD12 Treiber und micro USB-Device stack]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/192453 HID-Joystick mit V-USB ]&lt;br /&gt;
&lt;br /&gt;
==UART==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101472#882716 AVR-GCC: UART mit FIFO]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38928#287985 Software UART]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/125651#1147436 Software UART mit FIFO]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/175946#1690682 uParse] - ein kompakter und vielseitiger Parser (Atmega32) für [[RS232]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/159753#1517744 Einfacher Interpreter für Komandozeilen/Befehlszeilen] (Atmega32) für [[RS232]]&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/53140#413249 AVR ASCII Video Terminal - 40 x 25 - BAS Signal]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/53139#413225 TV VIDEO BILD BAS Frequenzzähler DVM Atmega8 Assembler]&lt;br /&gt;
* (A) [http://www.electronicspit.com/video/ Videosignal in Farbe aus dem ATMega32]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25091#new VGA Testbildgenerator]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101429#882288 ATmega8 erzeugt Video in C!]&lt;br /&gt;
&lt;br /&gt;
==Zeitgeber und Uhren==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/12185#80055 Die genaue Sekunde / RTC]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/74673#616226 LCD-Timer für Belichtungsgerät]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/119859#1082804 DS1307 Assembler-Code]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31374#240878 AVR Library für RTC 12C887 in C]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25136#187534 RTC DS1302 in C]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25087#186454 RTC + Scheduler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53131#413059 Jumbo-LED Uhr]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6516#41903 Zeit + Temperatur auf LCD mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25069 Sekunden in Zeit/Datum umwandeln (mit Sommerzeit/Schaltjahren)]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/48560#371911 BASCOM Uhr mit Butterfly]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48450#370765 Countdown timer für UV Belichter]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98885 Countdown Timer mit ATtiny2313]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12176#79672 Wartezeiten effektiv (Scheduler)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Schaltuhr mit DCF77-Referenz in einem Webserver, Steuerung von Funksteckdosen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/100892#876549 Eieruhr mit ATtiny24V/ATtiny2313V]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/151236 Zeitauslöser für Casio EX F1 mit Attiny2313]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/151260#1419218 DCF77 Uhr 7 Segment LED ATmega8 Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/177688# NIXIE Uhr mit vielen Funktionen in C mit ATTiny2313]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[AVR-Codesammlung Übersicht]]&lt;br /&gt;
&lt;br /&gt;
[[Category:AVR| ]]&lt;br /&gt;
[[Kategorie:Forum]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_Softwarepool&amp;diff=54658</id>
		<title>AVR Softwarepool</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_Softwarepool&amp;diff=54658"/>
		<updated>2011-01-31T08:05:04Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Betriebssysteme und Scheduler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die interessantesten Softwareprojekte aus der Codesammlung...&lt;br /&gt;
&lt;br /&gt;
(A)   ... Projekt ist in &#039;&#039;&#039;Assembler&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(C)   ... Projekt ist in &#039;&#039;&#039;C&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(C++) ... Projekt ist in &#039;&#039;&#039;C++&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(B)   ... Projekt ist in &#039;&#039;&#039;Bascom&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(PC)  ... Projekt ist nicht für einen µC, sondern für den PC&lt;br /&gt;
&lt;br /&gt;
==1-Wire==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14792  DS1820, DS18B20 in C]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6505 Mehrere DS1820/DS18B20 auslesen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Mehrere DS1820/DS18B20/DS18S20/DS1822 über einen Webserver auslesbar]&lt;br /&gt;
&lt;br /&gt;
==Akkulader==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/72627#594587 Bleiakku-Lader 12/24V]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
&lt;br /&gt;
==Betriebssysteme und Scheduler==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/190388#1856376 Nano OS] von Tobias W. ([http://sourceforge.net/projects/nanoos/ Sourceforge])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12176#79672 Wartezeiten effektiv (Scheduler)] von Peter Dannegger&lt;br /&gt;
* (C++) [http://www.mikrocontroller.net/topic/96977#837989 Einfacher Scheduler und Timer in C++ für ATMega] von S. Seegel&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/74026#609246 GOS: einfacher preemptive multitasking scheduler] von Günter Greschenz&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/articles/Monitorprogramm_Bamo128] Monitorprogramm und Bootloader Bamo128&lt;br /&gt;
&lt;br /&gt;
==Bootloader==&lt;br /&gt;
* (A,C,PC) [http://www.mikrocontroller.net/topic/12181#79866 AVR Bootloader]&lt;br /&gt;
* (A, PC) [http://www.mikrocontroller.net/topic/146638#1364260 AVR Bootloader für GCC-Toolchain]&lt;br /&gt;
* (A,PC) [http://www.mikrocontroller.net/topic/95839 AVR Bootloader mit Verschlüsselung]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/72308#591159 ATtiny45 Bootloader]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67047#538510 MMC/SD Bootloader für ATMega16]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/56818#439359 SD/MMC Card Bootloader (passt in 2kb bootsection)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/61170#480765 boofa - Bootloader für AVR über UART (AVR109)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53130#413058 Bootloader ATmega168]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/73196#600293 UART Bootloader ATtiny13 - ATmega644]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/150816#1414460 UART Bootloader AtMega644P @ 20MHz] (Eclipse Projekt)&lt;br /&gt;
* (C) [[AVR Bootloader in C - eine einfache Anleitung]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/200645#1971295 LAN-Bootloader für ATmega1284p]&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Bootloader]]&lt;br /&gt;
&lt;br /&gt;
==DCC==&lt;br /&gt;
&lt;br /&gt;
(Digital Command Control, Standard zur digitalen Steuerung von Modelleisenbahnen)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31397#241300 DCC Decoder]&lt;br /&gt;
&lt;br /&gt;
==DCF77==&lt;br /&gt;
&lt;br /&gt;
(Zeitsignaldienst für funkgesteuerte Uhren auf der Langwellen-Frequenz 77,5 kHz)&lt;br /&gt;
 &lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/38914#287867 DCF77 AVR-Assemblerbaustein ]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6500#41738 DCF77-Uhr mit ATTINY12]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31385#241104 DCF Digital Empfangsmodul - Korrelation - (Assembler)ATmega8 ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25071#186286 DCF 77 ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14788#101528 DCF-Uhr mit DotMatrix-Anzeige für avr-gcc]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12154#79501 PC DCF Timer ( PC Zeitschaltuhr)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25116#187197 DCF 77 Uhr mit CodeVision ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/58769#456232 DCF77 Uhr in C mit ATtiny26]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48597#372164 DCF77 Uhr, zum X.ten Mal, jetzt mit SAF]&lt;br /&gt;
* (C,A) [http://www.mikrocontroller.net/topic/31408#536372 DCF77 mit beliebig gepoltem Eingangssignal innerhalb eines Webservers]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/121049 DCF-Uhr, Sonnenstand, TWI-Port, Alarmfunktion für Atmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/151260#1419218 DCF77 Uhr 7 Segment LED ATmega8 Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/168807#1614129 DCF-Uhr mit LCD in C]&lt;br /&gt;
&lt;br /&gt;
== DRAM ==&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/25053#186085 2MB DRAM an AVR] und Anwendung als [http://www.mikrocontroller.net/topic/25053#186089 Audiorekorder]&lt;br /&gt;
&lt;br /&gt;
==Drehgeber==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6526#41978 Drehgeber auslesen]&lt;br /&gt;
&lt;br /&gt;
==DTMF==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/92444#792954 DTMF dekodieren]&lt;br /&gt;
&lt;br /&gt;
==DMX==&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/92350#new 20 Kanal Relaissteuerung per DMX]&lt;br /&gt;
&lt;br /&gt;
==Entwicklungssysteme==&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/74198#611404 AVR Code Wizard]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/30110#230503 Multitasking kernel für ATtinys in ASM]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/65156#521012 BASIC-Computer mit ATmega32]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/64129#511368 AVR TinyBASIC Anpassung für ATmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/59189#460273 Mini-Computer mit BASIC]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/55807 Forth System für ATmegas in Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/94193 Forth-Computer mit ATmega32 und Videoausgabe] von Christian Berger&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/62500#493931 Fixpoint-Arithmetik in &amp;quot;C&amp;quot;]&lt;br /&gt;
* (C++) [http://www.mikrocontroller.net/topic/143537 Fixpoint-Arithmetik in &amp;quot;C++&amp;quot;]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/85256#717037 64 Bit float Emulator in C, IEEE754 kompatibel]&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/92979#797957 AVR ATmega8TestBoard]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/94468#812992 Gleitkomma-Bibliothek für AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/177481?page=1 AVR CP/M System]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/187390 EMACS Konfiguration]&lt;br /&gt;
&lt;br /&gt;
==FFT==&lt;br /&gt;
&lt;br /&gt;
(Fast Fourier Transformation, &amp;quot;schnelle&amp;quot; Fouriertransformation)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25095#186536 FFT auf dem AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25062#186225 128point FFT in ASM]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/27001#203911 Schnelle FFT in Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131525#1191497 AVR-Lichtorgel per FFT MEGA8 32 644 ]&lt;br /&gt;
&lt;br /&gt;
==Funksteckdosen==&lt;br /&gt;
* (C,A) [http://www.mikrocontroller.net/topic/31408#536372 Ansteuerung von Funksteckdosen mit einem Webserver]&lt;br /&gt;
&lt;br /&gt;
==GPS==&lt;br /&gt;
&lt;br /&gt;
(Global Positioning System, satellitengestütztes System zur weltweiten Positions- und Zeitbestimmung)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/48544#371717 GPS - MOUSE - MINI- NAVIGATOR (Assembler) ATmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/72507#593252 GPS an mega8,88 oder 168]&lt;br /&gt;
&lt;br /&gt;
==IR==&lt;br /&gt;
* siehe auch [[AVR Softwarepool#RC5|RC5]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/162119#1545798 IRMP - Infrared Multi Protocol Decoder]&lt;br /&gt;
&lt;br /&gt;
==Kryptographie==&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/73468 Verschiedene kryptographische Funktionen] &lt;br /&gt;
&lt;br /&gt;
==LANC==&lt;br /&gt;
&lt;br /&gt;
(Steuerprotokoll für Video- und Digitalfotokameras, auch als Control-L bekannt)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/40463#302754 Sony LANC Auswertung mit AVR] (Atmega 128 @ 16 MHz)&lt;br /&gt;
&lt;br /&gt;
==LEDs und LED-Anzeigen==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76839#638278 Solarlicht Steuerung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/77863#648213 Taster + LED am selben Draht (4*)]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/73776#606472 LED-Touch-Panel] (ARM)&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/74013#609097 RGB-Moodlight auf ATTiny2313 mit RC5-Fernbedienung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/54561#421940 HSV RGB Led Dimmer, C Code &amp;amp; Video &amp;amp; Doku]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/67567#543492 Mini RGB Lichteffektgenerator mit Menü für Pic16F84]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48464#370871 Ansteuerung einer RGB LED (PWM)]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/87149#737282 3x7 Segment und 1 I/O-Pin (Assembler)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31370#240843 ADC mit Multiplexanzeige] (vier 7-Segmentanzeigen)&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31388#241192 AVR-Lauflicht]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/94746#815809 HSB-&amp;gt;RGB Umrechnung rein in Assembler, auch für ATiny]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/110168 2x7-Segment an nur 3 Leitungen]&lt;br /&gt;
* (A) [[Ambilight in Hardware]]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131525#1191497 AVR-Lichtorgel per FFT MEGA8 32 644 ]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/182305 TLC5940 16-Kanal 12bit LED Treiber ansteuern und HighPower LEDs über MosFETs treiben]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/185730 7Segment Coder]&lt;br /&gt;
&lt;br /&gt;
==LCD und VFD==&lt;br /&gt;
* (C) [http://bluematrixi.bl.funpic.de/index.php/elektronik-avr/lcd-display-nokia3310 Bibliothek für Nokia 3310 Lcd Ansteuerung in &amp;quot;C&amp;quot; - sehr gut]&lt;br /&gt;
*(C,A)[http://www.mikrocontroller.net/articles/Ansteuerung_Handy_Displays Ansteuerung_Handy_Displays]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/53137#413137 Programm zum Erstellen eigener Schriftarten (LCD)]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/54860#423255 LCD Schriftarten ( Fonts in veschiedenen Größen )]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31403  The Siemens S65 132x176, 65536 color display with AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48501#371218 LCD Ansteuerung im 4bit-Modus]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48456#370782 LCD Library T6963c]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76399#633680 &amp;quot;Bessere&amp;quot; T6963c Library]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25099#186569 LCD Controller für 640x480 LCD mit mega8515]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38923#287939 LCD Controller KS0073 Support im 4-Bit Mode]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/79609#664268 KS0066U oder Ähnliche --- LCD Treiber]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/81793#683135 Pollin E0855-2 SED1530-Treiber]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/90449#772843 LCD über nur einen IO-Pin ansteuern]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120475 VFD Library (Vacuum Fluorescent Display Library)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98321#851423 Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/140369 Menüsystem für beliebige schwarz-weiß LCDs bis 4096x4096 Pixeln und grafischem Editor]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/194149 Schnelle SED1520 Funktionsbibliothek mit Bildkonverter und Fontgenerator]&lt;br /&gt;
&lt;br /&gt;
==I2C==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98923#857451 Ultraschall Entfernungsmesser mit I2C, Eigenbau]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/83871#new  I2C-Master realisiert in Software, ohne TWI für alle ATMEGAs]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/38919#new  RS232 &amp;lt;-&amp;gt; TWI / I2C Interface für ATMega8 (ASM) inkl. Windows Software]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67698#544930 USI TWI Master]&lt;br /&gt;
&lt;br /&gt;
==Messgeräte==&lt;br /&gt;
===Drehzahlmesser===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/1518#8469 Drehzahlmesser 4 mal 7-Segment mit 90S2313]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/Drehzahlmesser Drehzahlmesser mit 4 mal 7-Segment anzeigen mit Tiny2313, Wiki-Artikel]&lt;br /&gt;
&lt;br /&gt;
===Klopfsensormessgerät===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/Klopfsensormessgeraet Messgerät für Klopfgeräusche an Verbrennungsmotoren auf Basis des TPIC8101]&lt;br /&gt;
&lt;br /&gt;
===Entfernungsmesser===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98923#857451 Ultraschall Entfernungsmesser mit I2C, Eigenbau]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/130834 3D Umgebungserfassung mit einem auf zwei Servors montiertem Sharp Distanzsensor, Eigenbau]&lt;br /&gt;
&lt;br /&gt;
===Frequenzmesser===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/62610#495030 Frequenzmesser bis 2Mhz -- mit AVR ATmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48582#372072 Frequenzmessung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/62517#494146 Input Capture Pin (ICP) auslesen ( Frequenz messen)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25144#187587 Frequenzmessung und Impulszählung über den Parallelport-IR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31394#241251 einfacher 5 MHz Frequenzzähler (Assembler) ATmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/173665#new sehr genauer Frequenzmesser Atmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/186801#new  Reziproker Frequenzzähler+ Optimierte 64bit uint Routinen]&lt;br /&gt;
* (C+A) [http://www.mikrocontroller.net/topic/200279#new 6 Stellen von 1Hz bis 40MHz ATmega8]&lt;br /&gt;
&lt;br /&gt;
===Frequenzgenerator===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/152966#1438488 Einstellbarer Frequenzgenerator für 0.12 Hz - 8 MHz mit Atmega 8 und Bascom ]&lt;br /&gt;
&lt;br /&gt;
===Kompass===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/100239#870281 KOMPASS KMZ10A KMZ10B ATmega8 Assembler]&lt;br /&gt;
&lt;br /&gt;
===Messgeräte für elektronische Bauteile===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/60797#477026 LC-METER / LC-Messgerät ATmega8 Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/60591#474873 Widerstandstester]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/56770#438957 Ladungsmessgerät]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31386#241139 Transistortester]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131804#1194273 Transistortester]&lt;br /&gt;
&lt;br /&gt;
===Spannungsmesser===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31370#240843 ADC mit Multiplexanzeige] - Voltmeter&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
&lt;br /&gt;
===Thermometer===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6516#41903 Zeit + Temperatur auf LCD mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53127#413006 Thermometer mit LED &amp;amp; LM35]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Viele DS18x20-Thermometer in einem Webserver]&lt;br /&gt;
&lt;br /&gt;
===Oszilloskop===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/53129#413011 Einfaches Oszilloskop - Bascom]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/48586#372093 Oszi- &amp;amp; Logikanalyser mit LCD]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31376#240880 einfaches DIGITAL- Oszilloskop (800 Datenpunkte) Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/56616#437772 Einfaches &amp;quot;Oszilloskop&amp;quot;]&lt;br /&gt;
* (C) [http://www.christoph-lauer.de/Homepage/Blog/Eintrage/2010/8/22_Embedded_C_based_Spectrumanalyzer.html ATXMega based Oscilloscope and Spectrumanalyzer]&lt;br /&gt;
&lt;br /&gt;
==MIDI==&lt;br /&gt;
&lt;br /&gt;
(Musical Instrument Digital Interface, Datenübertragungsstandard für Musikinstrumente)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48542#371695 Mr.MidiPlayer - Spielt alle MIDI-Dateien von einer SD-Karte] (siehe auch: [[Midi_Rekorder_mit_MMC/SD-Karte]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/106512# Drum-Trigger mit MIDI-Ausgabe]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/159760#1517791 Drum-Trigger mit USB-Midi-Ausgabe]&lt;br /&gt;
&lt;br /&gt;
==MMC==&lt;br /&gt;
&lt;br /&gt;
(Multimedia Card, digitales Flash-Speichermedium)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25056#186117 SourceCode MMC die Zweite]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48481#370950 MMC/SD-Karte mit FAT16 an AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67047#538510 MMC/SD Bootloader füt ATMega16]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14800#102024 MMC/SD ansteuern mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/FAT32 MMC/SD - FAT16/32 Bibliothek für AVR  mit Wiki]&lt;br /&gt;
&lt;br /&gt;
==Netzgeräte==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/60786#476904 Labornetzgerät]&lt;br /&gt;
* [[RADLAB-PS1]] [http://www.mikrocontroller.net/topic/124858#1138781 Netzteil um LM317 mit Strombegrenzung und Anzeige!]&lt;br /&gt;
&lt;br /&gt;
==Netzwerk==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/87517#new Kleiner ENC28J60 µWebserver von SimonK]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/82127#new Ulrich Radigs ENC28J60 mit leicht lötbaren/beschaffbaren Bauteilen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131825 Dirk Broßwick Webserver auf ENC28j60 Basis mit einem ATmega2561, es gibt auch einen Port auf das AVR-NET IO]&lt;br /&gt;
&lt;br /&gt;
==Parser==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64763#517245 Zwei Parser für numerische Ausdrücke]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76842#638283 uShell - ein universeller Parser für uCs]&lt;br /&gt;
&lt;br /&gt;
==RFID==&lt;br /&gt;
&lt;br /&gt;
(Radio Frequency Identification, Verfahren zur funkbasierten Identifizierung und Lokalisierung von Gegenständen)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68442#552128 USB RFID Tag Leser]&lt;br /&gt;
&lt;br /&gt;
==RC - Fernsteuerungen/Servos==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48529#371582 RC Summen Signal erzeugen ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/192453 RC Summen Signal dekodieren ]&lt;br /&gt;
&lt;br /&gt;
==RC5==&lt;br /&gt;
&lt;br /&gt;
(verbreitetes Datenübertragungsprotokoll für Infrarot-Fernbedienungen)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/14789#101536 RC5 Sender auf einem Attiny11L]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/74013#609097 RGB-Moodlight auf ATTiny2313 mit RC5-Fernbedienung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12216#80856 Fernbedien RC5 Empfänger]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/59235#460765 RC5 Sender selber bauen ???]&lt;br /&gt;
&lt;br /&gt;
==Ringpuffer==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/66789#536189 Ringpuffer AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101472#882716 AVR-GCC: UART mit FIFO]&lt;br /&gt;
&lt;br /&gt;
==SD==&lt;br /&gt;
&lt;br /&gt;
(Secure Digital Memory Card; digitales Flash-Speichermedium)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48542#371695 Mr.MidiPlayer - Spielt alle MIDI-Dateien von einer SD-Karte] (siehe auch: [[Midi_Rekorder_mit_MMC/SD-Karte]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68257#550336 Datenrekorder auf SD-Karte mit mega88]&lt;br /&gt;
&lt;br /&gt;
==Sonstiges==&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/111783#994358 Sonnenstandberechnung mit Atmega 8]&lt;br /&gt;
&lt;br /&gt;
==Spaßprojekte==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/119876#1083044 Miniprojekt: Lagerfeuer-LED (ATtiny25)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120289#1087905 Klingel mit 100 Melodien - last minute Weihnachtsgeschenk]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/167528#1601077 Toastbrote zählen]&lt;br /&gt;
&lt;br /&gt;
==Spiele==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48505#371259 Tetris auf dem AtMega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/187253# Atmega8 Schachuhr mit Max7219 ]&lt;br /&gt;
&lt;br /&gt;
==Steuerungen==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/123551 Aquarium Controller]&lt;br /&gt;
&lt;br /&gt;
==Taster / Schalter==&lt;br /&gt;
===mechanisch===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6492#41625 Tasten entprellen - Bulletproof] (siehe auch: [[Entprellung]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48465#370877 Universelle Tastenabfrage]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6491#41624 Tasten-Matrix entprellen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64731#517001 Tastenmatrix auslesen über nur 2 Leitungen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64743#517105 Tasten Entprellen für N00bs]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/77863#648213 Taster + LED am selben Draht (4*)]&lt;br /&gt;
===kapazitiv===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38904  Sensor mit nur einer Kontaktfläche]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25045 Einfache Sensortaste]&lt;br /&gt;
&lt;br /&gt;
==Tonerzeugung==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/66945#537624 ATMEGA8 Soundgenerator/Synthesizer]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120289#1087905 Klingel mit 100 Melodien - last minute Weihnachtsgeschenk]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/134362 RTTTL Melodiegenerator mit ATTINY85]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25051 Melodie ausgeben mit AVR ATTiny12]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/137629#1259132 Melodieklingel BASCOM ATmega8]&lt;br /&gt;
&lt;br /&gt;
==TWI==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/87597#742070 AVR TWI Master und Slave Funtionen in C]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31404#242081 TWI / I2C einf. MASTER SLAVE Beispiel(Assembler) ATmega8]&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/75254#622120 USB Host Stack für Eingebettete Systeme (LGPL)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68442#552128 USB RFID Tag Leser]&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/92979#797957 AVR ATmega8TestBoard]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/90791#776280 Relaiskarte für den USB Port]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/130381#1179352 USB-Stick am Mikrocontroller VNC1L]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/155241 PDIUSBD12 Treiber und micro USB-Device stack]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/192453 HID-Joystick mit V-USB ]&lt;br /&gt;
&lt;br /&gt;
==UART==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101472#882716 AVR-GCC: UART mit FIFO]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38928#287985 Software UART]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/125651#1147436 Software UART mit FIFO]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/175946#1690682 uParse] - ein kompakter und vielseitiger Parser (Atmega32) für [[RS232]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/159753#1517744 Einfacher Interpreter für Komandozeilen/Befehlszeilen] (Atmega32) für [[RS232]]&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/53140#413249 AVR ASCII Video Terminal - 40 x 25 - BAS Signal]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/53139#413225 TV VIDEO BILD BAS Frequenzzähler DVM Atmega8 Assembler]&lt;br /&gt;
* (A) [http://www.electronicspit.com/video/ Videosignal in Farbe aus dem ATMega32]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25091#new VGA Testbildgenerator]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101429#882288 ATmega8 erzeugt Video in C!]&lt;br /&gt;
&lt;br /&gt;
==Zeitgeber und Uhren==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/12185#80055 Die genaue Sekunde / RTC]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/74673#616226 LCD-Timer für Belichtungsgerät]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/119859#1082804 DS1307 Assembler-Code]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31374#240878 AVR Library für RTC 12C887 in C]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25136#187534 RTC DS1302 in C]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25087#186454 RTC + Scheduler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53131#413059 Jumbo-LED Uhr]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6516#41903 Zeit + Temperatur auf LCD mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25069 Sekunden in Zeit/Datum umwandeln (mit Sommerzeit/Schaltjahren)]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/48560#371911 BASCOM Uhr mit Butterfly]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48450#370765 Countdown timer für UV Belichter]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98885 Countdown Timer mit ATtiny2313]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12176#79672 Wartezeiten effektiv (Scheduler)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Schaltuhr mit DCF77-Referenz in einem Webserver, Steuerung von Funksteckdosen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/100892#876549 Eieruhr mit ATtiny24V/ATtiny2313V]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/151236 Zeitauslöser für Casio EX F1 mit Attiny2313]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/151260#1419218 DCF77 Uhr 7 Segment LED ATmega8 Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/177688# NIXIE Uhr mit vielen Funktionen in C mit ATTiny2313]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[AVR-Codesammlung Übersicht]]&lt;br /&gt;
&lt;br /&gt;
[[Category:AVR| ]]&lt;br /&gt;
[[Kategorie:Forum]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_Softwarepool&amp;diff=54657</id>
		<title>AVR Softwarepool</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_Softwarepool&amp;diff=54657"/>
		<updated>2011-01-31T07:57:59Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Betriebssysteme und Scheduler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die interessantesten Softwareprojekte aus der Codesammlung...&lt;br /&gt;
&lt;br /&gt;
(A)   ... Projekt ist in &#039;&#039;&#039;Assembler&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(C)   ... Projekt ist in &#039;&#039;&#039;C&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(C++) ... Projekt ist in &#039;&#039;&#039;C++&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(B)   ... Projekt ist in &#039;&#039;&#039;Bascom&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
(PC)  ... Projekt ist nicht für einen µC, sondern für den PC&lt;br /&gt;
&lt;br /&gt;
==1-Wire==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14792  DS1820, DS18B20 in C]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6505 Mehrere DS1820/DS18B20 auslesen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Mehrere DS1820/DS18B20/DS18S20/DS1822 über einen Webserver auslesbar]&lt;br /&gt;
&lt;br /&gt;
==Akkulader==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/72627#594587 Bleiakku-Lader 12/24V]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
&lt;br /&gt;
==Betriebssysteme und Scheduler==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/190388#1856376 Nano OS] von Tobias W. ([http://sourceforge.net/projects/nanoos/ Sourceforge])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12176#79672 Wartezeiten effektiv (Scheduler)] von Peter Dannegger&lt;br /&gt;
* (C++) [http://www.mikrocontroller.net/topic/96977#837989 Einfacher Scheduler und Timer in C++ für ATMega] von S. Seegel&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/74026#609246 GOS: einfacher preemptive multitasking scheduler] von Günter Greschenz&lt;br /&gt;
* (A) [[Kategorie:AVR-Projekte]] Monitorprogramm und Bootloader Bamo128&lt;br /&gt;
&lt;br /&gt;
==Bootloader==&lt;br /&gt;
* (A,C,PC) [http://www.mikrocontroller.net/topic/12181#79866 AVR Bootloader]&lt;br /&gt;
* (A, PC) [http://www.mikrocontroller.net/topic/146638#1364260 AVR Bootloader für GCC-Toolchain]&lt;br /&gt;
* (A,PC) [http://www.mikrocontroller.net/topic/95839 AVR Bootloader mit Verschlüsselung]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/72308#591159 ATtiny45 Bootloader]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67047#538510 MMC/SD Bootloader für ATMega16]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/56818#439359 SD/MMC Card Bootloader (passt in 2kb bootsection)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/61170#480765 boofa - Bootloader für AVR über UART (AVR109)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53130#413058 Bootloader ATmega168]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/73196#600293 UART Bootloader ATtiny13 - ATmega644]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/150816#1414460 UART Bootloader AtMega644P @ 20MHz] (Eclipse Projekt)&lt;br /&gt;
* (C) [[AVR Bootloader in C - eine einfache Anleitung]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/200645#1971295 LAN-Bootloader für ATmega1284p]&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Bootloader]]&lt;br /&gt;
&lt;br /&gt;
==DCC==&lt;br /&gt;
&lt;br /&gt;
(Digital Command Control, Standard zur digitalen Steuerung von Modelleisenbahnen)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31397#241300 DCC Decoder]&lt;br /&gt;
&lt;br /&gt;
==DCF77==&lt;br /&gt;
&lt;br /&gt;
(Zeitsignaldienst für funkgesteuerte Uhren auf der Langwellen-Frequenz 77,5 kHz)&lt;br /&gt;
 &lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/38914#287867 DCF77 AVR-Assemblerbaustein ]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6500#41738 DCF77-Uhr mit ATTINY12]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31385#241104 DCF Digital Empfangsmodul - Korrelation - (Assembler)ATmega8 ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25071#186286 DCF 77 ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14788#101528 DCF-Uhr mit DotMatrix-Anzeige für avr-gcc]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12154#79501 PC DCF Timer ( PC Zeitschaltuhr)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25116#187197 DCF 77 Uhr mit CodeVision ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/58769#456232 DCF77 Uhr in C mit ATtiny26]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48597#372164 DCF77 Uhr, zum X.ten Mal, jetzt mit SAF]&lt;br /&gt;
* (C,A) [http://www.mikrocontroller.net/topic/31408#536372 DCF77 mit beliebig gepoltem Eingangssignal innerhalb eines Webservers]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/121049 DCF-Uhr, Sonnenstand, TWI-Port, Alarmfunktion für Atmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/151260#1419218 DCF77 Uhr 7 Segment LED ATmega8 Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/168807#1614129 DCF-Uhr mit LCD in C]&lt;br /&gt;
&lt;br /&gt;
== DRAM ==&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/25053#186085 2MB DRAM an AVR] und Anwendung als [http://www.mikrocontroller.net/topic/25053#186089 Audiorekorder]&lt;br /&gt;
&lt;br /&gt;
==Drehgeber==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6526#41978 Drehgeber auslesen]&lt;br /&gt;
&lt;br /&gt;
==DTMF==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/92444#792954 DTMF dekodieren]&lt;br /&gt;
&lt;br /&gt;
==DMX==&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/92350#new 20 Kanal Relaissteuerung per DMX]&lt;br /&gt;
&lt;br /&gt;
==Entwicklungssysteme==&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/74198#611404 AVR Code Wizard]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/30110#230503 Multitasking kernel für ATtinys in ASM]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/65156#521012 BASIC-Computer mit ATmega32]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/64129#511368 AVR TinyBASIC Anpassung für ATmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/59189#460273 Mini-Computer mit BASIC]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/55807 Forth System für ATmegas in Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/94193 Forth-Computer mit ATmega32 und Videoausgabe] von Christian Berger&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/62500#493931 Fixpoint-Arithmetik in &amp;quot;C&amp;quot;]&lt;br /&gt;
* (C++) [http://www.mikrocontroller.net/topic/143537 Fixpoint-Arithmetik in &amp;quot;C++&amp;quot;]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/85256#717037 64 Bit float Emulator in C, IEEE754 kompatibel]&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/92979#797957 AVR ATmega8TestBoard]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/94468#812992 Gleitkomma-Bibliothek für AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/177481?page=1 AVR CP/M System]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/187390 EMACS Konfiguration]&lt;br /&gt;
&lt;br /&gt;
==FFT==&lt;br /&gt;
&lt;br /&gt;
(Fast Fourier Transformation, &amp;quot;schnelle&amp;quot; Fouriertransformation)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25095#186536 FFT auf dem AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25062#186225 128point FFT in ASM]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/27001#203911 Schnelle FFT in Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131525#1191497 AVR-Lichtorgel per FFT MEGA8 32 644 ]&lt;br /&gt;
&lt;br /&gt;
==Funksteckdosen==&lt;br /&gt;
* (C,A) [http://www.mikrocontroller.net/topic/31408#536372 Ansteuerung von Funksteckdosen mit einem Webserver]&lt;br /&gt;
&lt;br /&gt;
==GPS==&lt;br /&gt;
&lt;br /&gt;
(Global Positioning System, satellitengestütztes System zur weltweiten Positions- und Zeitbestimmung)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/48544#371717 GPS - MOUSE - MINI- NAVIGATOR (Assembler) ATmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/72507#593252 GPS an mega8,88 oder 168]&lt;br /&gt;
&lt;br /&gt;
==IR==&lt;br /&gt;
* siehe auch [[AVR Softwarepool#RC5|RC5]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/162119#1545798 IRMP - Infrared Multi Protocol Decoder]&lt;br /&gt;
&lt;br /&gt;
==Kryptographie==&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/73468 Verschiedene kryptographische Funktionen] &lt;br /&gt;
&lt;br /&gt;
==LANC==&lt;br /&gt;
&lt;br /&gt;
(Steuerprotokoll für Video- und Digitalfotokameras, auch als Control-L bekannt)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/40463#302754 Sony LANC Auswertung mit AVR] (Atmega 128 @ 16 MHz)&lt;br /&gt;
&lt;br /&gt;
==LEDs und LED-Anzeigen==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76839#638278 Solarlicht Steuerung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/77863#648213 Taster + LED am selben Draht (4*)]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/73776#606472 LED-Touch-Panel] (ARM)&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/74013#609097 RGB-Moodlight auf ATTiny2313 mit RC5-Fernbedienung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/54561#421940 HSV RGB Led Dimmer, C Code &amp;amp; Video &amp;amp; Doku]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/67567#543492 Mini RGB Lichteffektgenerator mit Menü für Pic16F84]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48464#370871 Ansteuerung einer RGB LED (PWM)]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/87149#737282 3x7 Segment und 1 I/O-Pin (Assembler)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31370#240843 ADC mit Multiplexanzeige] (vier 7-Segmentanzeigen)&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31388#241192 AVR-Lauflicht]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/94746#815809 HSB-&amp;gt;RGB Umrechnung rein in Assembler, auch für ATiny]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/110168 2x7-Segment an nur 3 Leitungen]&lt;br /&gt;
* (A) [[Ambilight in Hardware]]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131525#1191497 AVR-Lichtorgel per FFT MEGA8 32 644 ]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/182305 TLC5940 16-Kanal 12bit LED Treiber ansteuern und HighPower LEDs über MosFETs treiben]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/185730 7Segment Coder]&lt;br /&gt;
&lt;br /&gt;
==LCD und VFD==&lt;br /&gt;
* (C) [http://bluematrixi.bl.funpic.de/index.php/elektronik-avr/lcd-display-nokia3310 Bibliothek für Nokia 3310 Lcd Ansteuerung in &amp;quot;C&amp;quot; - sehr gut]&lt;br /&gt;
*(C,A)[http://www.mikrocontroller.net/articles/Ansteuerung_Handy_Displays Ansteuerung_Handy_Displays]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/53137#413137 Programm zum Erstellen eigener Schriftarten (LCD)]&lt;br /&gt;
* (PC) [http://www.mikrocontroller.net/topic/54860#423255 LCD Schriftarten ( Fonts in veschiedenen Größen )]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31403  The Siemens S65 132x176, 65536 color display with AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48501#371218 LCD Ansteuerung im 4bit-Modus]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48456#370782 LCD Library T6963c]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76399#633680 &amp;quot;Bessere&amp;quot; T6963c Library]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25099#186569 LCD Controller für 640x480 LCD mit mega8515]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38923#287939 LCD Controller KS0073 Support im 4-Bit Mode]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/79609#664268 KS0066U oder Ähnliche --- LCD Treiber]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/81793#683135 Pollin E0855-2 SED1530-Treiber]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/90449#772843 LCD über nur einen IO-Pin ansteuern]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120475 VFD Library (Vacuum Fluorescent Display Library)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98321#851423 Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/140369 Menüsystem für beliebige schwarz-weiß LCDs bis 4096x4096 Pixeln und grafischem Editor]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/194149 Schnelle SED1520 Funktionsbibliothek mit Bildkonverter und Fontgenerator]&lt;br /&gt;
&lt;br /&gt;
==I2C==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98923#857451 Ultraschall Entfernungsmesser mit I2C, Eigenbau]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/83871#new  I2C-Master realisiert in Software, ohne TWI für alle ATMEGAs]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/38919#new  RS232 &amp;lt;-&amp;gt; TWI / I2C Interface für ATMega8 (ASM) inkl. Windows Software]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67698#544930 USI TWI Master]&lt;br /&gt;
&lt;br /&gt;
==Messgeräte==&lt;br /&gt;
===Drehzahlmesser===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/1518#8469 Drehzahlmesser 4 mal 7-Segment mit 90S2313]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/Drehzahlmesser Drehzahlmesser mit 4 mal 7-Segment anzeigen mit Tiny2313, Wiki-Artikel]&lt;br /&gt;
&lt;br /&gt;
===Klopfsensormessgerät===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/Klopfsensormessgeraet Messgerät für Klopfgeräusche an Verbrennungsmotoren auf Basis des TPIC8101]&lt;br /&gt;
&lt;br /&gt;
===Entfernungsmesser===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98923#857451 Ultraschall Entfernungsmesser mit I2C, Eigenbau]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/130834 3D Umgebungserfassung mit einem auf zwei Servors montiertem Sharp Distanzsensor, Eigenbau]&lt;br /&gt;
&lt;br /&gt;
===Frequenzmesser===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/62610#495030 Frequenzmesser bis 2Mhz -- mit AVR ATmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48582#372072 Frequenzmessung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/62517#494146 Input Capture Pin (ICP) auslesen ( Frequenz messen)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25144#187587 Frequenzmessung und Impulszählung über den Parallelport-IR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31394#241251 einfacher 5 MHz Frequenzzähler (Assembler) ATmega8]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/173665#new sehr genauer Frequenzmesser Atmega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/186801#new  Reziproker Frequenzzähler+ Optimierte 64bit uint Routinen]&lt;br /&gt;
* (C+A) [http://www.mikrocontroller.net/topic/200279#new 6 Stellen von 1Hz bis 40MHz ATmega8]&lt;br /&gt;
&lt;br /&gt;
===Frequenzgenerator===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/152966#1438488 Einstellbarer Frequenzgenerator für 0.12 Hz - 8 MHz mit Atmega 8 und Bascom ]&lt;br /&gt;
&lt;br /&gt;
===Kompass===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/100239#870281 KOMPASS KMZ10A KMZ10B ATmega8 Assembler]&lt;br /&gt;
&lt;br /&gt;
===Messgeräte für elektronische Bauteile===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/60797#477026 LC-METER / LC-Messgerät ATmega8 Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/60591#474873 Widerstandstester]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/56770#438957 Ladungsmessgerät]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31386#241139 Transistortester]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131804#1194273 Transistortester]&lt;br /&gt;
&lt;br /&gt;
===Spannungsmesser===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31370#240843 ADC mit Multiplexanzeige] - Voltmeter&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/69021#558098 Multimeter]&lt;br /&gt;
&lt;br /&gt;
===Thermometer===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6516#41903 Zeit + Temperatur auf LCD mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53127#413006 Thermometer mit LED &amp;amp; LM35]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Viele DS18x20-Thermometer in einem Webserver]&lt;br /&gt;
&lt;br /&gt;
===Oszilloskop===&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/53129#413011 Einfaches Oszilloskop - Bascom]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/48586#372093 Oszi- &amp;amp; Logikanalyser mit LCD]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31376#240880 einfaches DIGITAL- Oszilloskop (800 Datenpunkte) Assembler]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/56616#437772 Einfaches &amp;quot;Oszilloskop&amp;quot;]&lt;br /&gt;
* (C) [http://www.christoph-lauer.de/Homepage/Blog/Eintrage/2010/8/22_Embedded_C_based_Spectrumanalyzer.html ATXMega based Oscilloscope and Spectrumanalyzer]&lt;br /&gt;
&lt;br /&gt;
==MIDI==&lt;br /&gt;
&lt;br /&gt;
(Musical Instrument Digital Interface, Datenübertragungsstandard für Musikinstrumente)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48542#371695 Mr.MidiPlayer - Spielt alle MIDI-Dateien von einer SD-Karte] (siehe auch: [[Midi_Rekorder_mit_MMC/SD-Karte]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/106512# Drum-Trigger mit MIDI-Ausgabe]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/159760#1517791 Drum-Trigger mit USB-Midi-Ausgabe]&lt;br /&gt;
&lt;br /&gt;
==MMC==&lt;br /&gt;
&lt;br /&gt;
(Multimedia Card, digitales Flash-Speichermedium)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25056#186117 SourceCode MMC die Zweite]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48481#370950 MMC/SD-Karte mit FAT16 an AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/67047#538510 MMC/SD Bootloader füt ATMega16]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/14800#102024 MMC/SD ansteuern mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/articles/FAT32 MMC/SD - FAT16/32 Bibliothek für AVR  mit Wiki]&lt;br /&gt;
&lt;br /&gt;
==Netzgeräte==&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/60786#476904 Labornetzgerät]&lt;br /&gt;
* [[RADLAB-PS1]] [http://www.mikrocontroller.net/topic/124858#1138781 Netzteil um LM317 mit Strombegrenzung und Anzeige!]&lt;br /&gt;
&lt;br /&gt;
==Netzwerk==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/87517#new Kleiner ENC28J60 µWebserver von SimonK]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/82127#new Ulrich Radigs ENC28J60 mit leicht lötbaren/beschaffbaren Bauteilen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/131825 Dirk Broßwick Webserver auf ENC28j60 Basis mit einem ATmega2561, es gibt auch einen Port auf das AVR-NET IO]&lt;br /&gt;
&lt;br /&gt;
==Parser==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64763#517245 Zwei Parser für numerische Ausdrücke]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/76842#638283 uShell - ein universeller Parser für uCs]&lt;br /&gt;
&lt;br /&gt;
==RFID==&lt;br /&gt;
&lt;br /&gt;
(Radio Frequency Identification, Verfahren zur funkbasierten Identifizierung und Lokalisierung von Gegenständen)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68442#552128 USB RFID Tag Leser]&lt;br /&gt;
&lt;br /&gt;
==RC - Fernsteuerungen/Servos==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48529#371582 RC Summen Signal erzeugen ]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/192453 RC Summen Signal dekodieren ]&lt;br /&gt;
&lt;br /&gt;
==RC5==&lt;br /&gt;
&lt;br /&gt;
(verbreitetes Datenübertragungsprotokoll für Infrarot-Fernbedienungen)&lt;br /&gt;
&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/14789#101536 RC5 Sender auf einem Attiny11L]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/74013#609097 RGB-Moodlight auf ATTiny2313 mit RC5-Fernbedienung]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12216#80856 Fernbedien RC5 Empfänger]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/59235#460765 RC5 Sender selber bauen ???]&lt;br /&gt;
&lt;br /&gt;
==Ringpuffer==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/66789#536189 Ringpuffer AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101472#882716 AVR-GCC: UART mit FIFO]&lt;br /&gt;
&lt;br /&gt;
==SD==&lt;br /&gt;
&lt;br /&gt;
(Secure Digital Memory Card; digitales Flash-Speichermedium)&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48542#371695 Mr.MidiPlayer - Spielt alle MIDI-Dateien von einer SD-Karte] (siehe auch: [[Midi_Rekorder_mit_MMC/SD-Karte]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25035#185861 MIDI-Rekorder mit SD/MMC und AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68257#550336 Datenrekorder auf SD-Karte mit mega88]&lt;br /&gt;
&lt;br /&gt;
==Sonstiges==&lt;br /&gt;
&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/111783#994358 Sonnenstandberechnung mit Atmega 8]&lt;br /&gt;
&lt;br /&gt;
==Spaßprojekte==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/99803#866081 Glühwürmchen in Rotkohlglas gefangen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/119876#1083044 Miniprojekt: Lagerfeuer-LED (ATtiny25)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120289#1087905 Klingel mit 100 Melodien - last minute Weihnachtsgeschenk]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/167528#1601077 Toastbrote zählen]&lt;br /&gt;
&lt;br /&gt;
==Spiele==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48505#371259 Tetris auf dem AtMega8]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/187253# Atmega8 Schachuhr mit Max7219 ]&lt;br /&gt;
&lt;br /&gt;
==Steuerungen==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/123551 Aquarium Controller]&lt;br /&gt;
&lt;br /&gt;
==Taster / Schalter==&lt;br /&gt;
===mechanisch===&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/6492#41625 Tasten entprellen - Bulletproof] (siehe auch: [[Entprellung]])&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48465#370877 Universelle Tastenabfrage]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6491#41624 Tasten-Matrix entprellen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64731#517001 Tastenmatrix auslesen über nur 2 Leitungen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/64743#517105 Tasten Entprellen für N00bs]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/77863#648213 Taster + LED am selben Draht (4*)]&lt;br /&gt;
===kapazitiv===&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38904  Sensor mit nur einer Kontaktfläche]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25045 Einfache Sensortaste]&lt;br /&gt;
&lt;br /&gt;
==Tonerzeugung==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/66945#537624 ATMEGA8 Soundgenerator/Synthesizer]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/120289#1087905 Klingel mit 100 Melodien - last minute Weihnachtsgeschenk]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/134362 RTTTL Melodiegenerator mit ATTINY85]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25051 Melodie ausgeben mit AVR ATTiny12]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/145156#1346531 µCke Microcontroller Mücke (Atmel Tiny13)]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/137629#1259132 Melodieklingel BASCOM ATmega8]&lt;br /&gt;
&lt;br /&gt;
==TWI==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/87597#742070 AVR TWI Master und Slave Funtionen in C]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/31404#242081 TWI / I2C einf. MASTER SLAVE Beispiel(Assembler) ATmega8]&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/75254#622120 USB Host Stack für Eingebettete Systeme (LGPL)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/68442#552128 USB RFID Tag Leser]&lt;br /&gt;
* (A,C) [http://www.mikrocontroller.net/topic/92979#797957 AVR ATmega8TestBoard]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/90791#776280 Relaiskarte für den USB Port]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/130381#1179352 USB-Stick am Mikrocontroller VNC1L]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/155241 PDIUSBD12 Treiber und micro USB-Device stack]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/192453 HID-Joystick mit V-USB ]&lt;br /&gt;
&lt;br /&gt;
==UART==&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101472#882716 AVR-GCC: UART mit FIFO]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/38928#287985 Software UART]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/125651#1147436 Software UART mit FIFO]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/175946#1690682 uParse] - ein kompakter und vielseitiger Parser (Atmega32) für [[RS232]]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/159753#1517744 Einfacher Interpreter für Komandozeilen/Befehlszeilen] (Atmega32) für [[RS232]]&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/53140#413249 AVR ASCII Video Terminal - 40 x 25 - BAS Signal]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/53139#413225 TV VIDEO BILD BAS Frequenzzähler DVM Atmega8 Assembler]&lt;br /&gt;
* (A) [http://www.electronicspit.com/video/ Videosignal in Farbe aus dem ATMega32]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/25091#new VGA Testbildgenerator]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/101429#882288 ATmega8 erzeugt Video in C!]&lt;br /&gt;
&lt;br /&gt;
==Zeitgeber und Uhren==&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/12185#80055 Die genaue Sekunde / RTC]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/74673#616226 LCD-Timer für Belichtungsgerät]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/119859#1082804 DS1307 Assembler-Code]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31374#240878 AVR Library für RTC 12C887 in C]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25136#187534 RTC DS1302 in C]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25087#186454 RTC + Scheduler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/53131#413059 Jumbo-LED Uhr]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/6516#41903 Zeit + Temperatur auf LCD mit AVR]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/25069 Sekunden in Zeit/Datum umwandeln (mit Sommerzeit/Schaltjahren)]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/48560#371911 BASCOM Uhr mit Butterfly]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/48450#370765 Countdown timer für UV Belichter]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/98885 Countdown Timer mit ATtiny2313]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/12176#79672 Wartezeiten effektiv (Scheduler)]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/31408#536372 Schaltuhr mit DCF77-Referenz in einem Webserver, Steuerung von Funksteckdosen]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/100892#876549 Eieruhr mit ATtiny24V/ATtiny2313V]&lt;br /&gt;
* (B) [http://www.mikrocontroller.net/topic/151236 Zeitauslöser für Casio EX F1 mit Attiny2313]&lt;br /&gt;
* (A) [http://www.mikrocontroller.net/topic/151260#1419218 DCF77 Uhr 7 Segment LED ATmega8 Assembler]&lt;br /&gt;
* (C) [http://www.mikrocontroller.net/topic/177688# NIXIE Uhr mit vielen Funktionen in C mit ATTiny2313]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[AVR-Codesammlung Übersicht]]&lt;br /&gt;
&lt;br /&gt;
[[Category:AVR| ]]&lt;br /&gt;
[[Kategorie:Forum]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54656</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54656"/>
		<updated>2011-01-31T07:50:47Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Downloads */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im &#039;&#039;&#039;Makefile&#039;&#039;&#039; muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepaßten Version &#039;&#039;&#039;arduinokermit&#039;&#039;&#039; http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit ( über einen Programmer und mit der ArdinoIDE oder avrdude mit der Option -carduino) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1 wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* http://bamo128.googlecode.com&lt;br /&gt;
* http://minikermit.googlecode.com&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]],[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54647</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54647"/>
		<updated>2011-01-30T15:56:10Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im &#039;&#039;&#039;Makefile&#039;&#039;&#039; muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE Bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepaßten Version &#039;&#039;&#039;arduinokermit&#039;&#039;&#039; http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit ( über einen Programmer und mit der ArdinoIDE oder avrdude mit der Option -carduino) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1 wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== DownLoads ==&lt;br /&gt;
http://bamo128.googlecode.com&amp;lt;br&amp;gt;&lt;br /&gt;
http://minikermit.googlecode.com&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54643</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54643"/>
		<updated>2011-01-30T15:26:10Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;Burkhart Holznagel&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit ( über einen Programmer und mit der ArdinoIDE oder avrdude mit der Option -carduino) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1 wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== DownLoads ==&lt;br /&gt;
http://bamo128.googlecode.com&amp;lt;br&amp;gt;&lt;br /&gt;
http://minikermit.googlecode.com&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54637</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54637"/>
		<updated>2011-01-30T15:16:34Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion. Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden. Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII, für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen. Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt. Mit bamo128 können auch Programme ohne arduinokermit ( über einen Programmer und mit der ArdinoIDE oder avrdude mit der Option -carduino) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1 wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== DownLoads ==&lt;br /&gt;
http://bamo128.googlecode.com&amp;lt;br&amp;gt;&lt;br /&gt;
http://minikermit.googlecode.com&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54629</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54629"/>
		<updated>2011-01-30T14:51:04Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* DownLoads */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses&lt;br /&gt;
ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt.&lt;br /&gt;
Mit bamo128 können auch Programme ohne arduinokermit ( über einen Programmer und mit der ArdinoIDE oder avrdude mit der Option -carduino) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn&lt;br /&gt;
mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1&lt;br /&gt;
wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== DownLoads ==&lt;br /&gt;
http://bamo128.googlecode.com&amp;lt;br&amp;gt;&lt;br /&gt;
http://minikermit.googlecode.com&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54628</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54628"/>
		<updated>2011-01-30T14:50:39Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == &lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses&lt;br /&gt;
ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt.&lt;br /&gt;
Mit bamo128 können auch Programme ohne arduinokermit ( über einen Programmer und mit der ArdinoIDE oder avrdude mit der Option -carduino) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn&lt;br /&gt;
mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1&lt;br /&gt;
wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== DownLoads ==&lt;br /&gt;
http://bamo128.googlecode.com&lt;br /&gt;
http://minikermit.googlecode.com&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54627</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54627"/>
		<updated>2011-01-30T14:50:08Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Funktionen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen == In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses&lt;br /&gt;
ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt.&lt;br /&gt;
Mit bamo128 können auch Programme ohne arduinokermit ( über einen Programmer und mit der ArdinoIDE oder avrdude mit der Option -carduino) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn&lt;br /&gt;
mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1&lt;br /&gt;
wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== DownLoads ==&lt;br /&gt;
http://bamo128.googlecode.com&lt;br /&gt;
http://minikermit.googlecode.com&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54626</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54626"/>
		<updated>2011-01-30T14:49:37Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Funktionen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses&lt;br /&gt;
ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt.&lt;br /&gt;
Mit bamo128 können auch Programme ohne arduinokermit ( über einen Programmer und mit der ArdinoIDE oder avrdude mit der Option -carduino) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getestete Plattformen ==&lt;br /&gt;
Der Monitor läßt sich auf/abrüsten und an eine Vielzahl von AVR8 Prozessoren und Boards anpassen. Wir haben ihn&lt;br /&gt;
mit dem Board CharonII (atmega128 mit 32 KByte externem RAM), dem Mica2 (atmega18) und den arduinoMega (atmega1280)&lt;br /&gt;
getestet. Die Anpassung an das Arduinoboard mit dem atmega328p (mit nur 2 KWorte bootsection) und an den xmega128A1&lt;br /&gt;
wird vorbereitet. Dazu müssen u.a. die Makros in den board/prozessorspezifischen files (arduinomegadefines.h, &lt;br /&gt;
arduinomegaivtab.asm,...) angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
== DownLoads ==&lt;br /&gt;
http://bamo128.googlecode.com&lt;br /&gt;
http://minikermit.googlecode.com&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54625</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54625"/>
		<updated>2011-01-30T14:47:55Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
In mainloop.asm wird u.a. das Promptzeichen ausgegeben, auf ein Eingabekommando vom Terminal gewartet und dieses&lt;br /&gt;
ausgeführt.&lt;br /&gt;
&#039;a&#039; - zeigt Entwickler an (die Liste wurde aus Platzgründen gekürzt) die 4K werden vom Monitor voll ausgenutzt&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;h&#039; - Hilfe&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;m&#039; - Ram anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;e&#039; - eeprom anzeigen/modifizieren&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;f&#039; - flash anzeigen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;r&#039; - Register/Flags anzeigen/modifizieren (&#039;R&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;w&#039; - Bin-File (übersetztes Programm) laden auf Flashadresse 0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;W&#039; - Bin-File laden auf eine angebbare Flashadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;S&#039; - Data-File laden auf eine angebbare Ramadresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;E&#039; - Data-File laden auf eine angebbare EEPROMadresse&amp;lt;br&amp;gt;&lt;br /&gt;
Die Ladekommandos arbeiten zusammen mit arduinokermit nach dem Stk500V1 Protokoll,welches auch die arduinoIDE benutzt.&lt;br /&gt;
Mit bamo128 können auch Programme ohne arduinokermit ( über einen Programmer und mit der ArdinoIDE oder avrdude mit der Option -carduino) geladen werden. Dazu kann Bamo128 das SW-Reset der externen Programmier-SW auswerten! Man kann also auch wie mit dem Original-Bootloader des ArduinoMega über die IDE Sketch-SW auf den Controller laden.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;g&#039; - Start eine Programms auf Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;s&#039; - Step-Betrieb ab Adresse (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;x&#039; - Programmabarbeitung bis Breakpoint (realisiert mit Timer-Interrupt)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;b&#039; - Breakpoints setzen/löschen&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;u&#039; - Disassemblieren ab Adresse&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;c&#039; - Kopieren RAM/RAM, RAM/FLASH, FLASH/RAM, RAM/EEPROM, EEPROM/RAM, EEPROM/EEPROM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie mit einem Betriebssystem, lassen sich Monitorfunktionen (der Monitor bleibt ja im Controller, während die Anwendung läuft) bequem vom Anwenderprogramm nutzen. Dazu gibt es mehrere Möglichkeiten, die später hier diskutiert werden können. &lt;br /&gt;
Wichtig dafür ist die Jumptabelle auf der festen Monitor-Startadresse.&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54624</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54624"/>
		<updated>2011-01-30T14:44:55Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
in einer Shell erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten in einer Shell:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54623</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54623"/>
		<updated>2011-01-30T14:43:51Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
&amp;amp;#35;&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35;&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54619</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54619"/>
		<updated>2011-01-30T14:23:30Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
#&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54618</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54618"/>
		<updated>2011-01-30T14:23:03Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;#35ml binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
#&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54617</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54617"/>
		<updated>2011-01-30T14:21:28Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
#&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54616</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54616"/>
		<updated>2011-01-30T14:20:49Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
# binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
#&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54611</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54611"/>
		<updated>2011-01-30T14:15:35Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;#&amp;quot; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
#&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54610</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54610"/>
		<updated>2011-01-30T14:15:03Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
\0x0023 binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
#&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54609</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54609"/>
		<updated>2011-01-30T14:03:34Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
\# binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
#&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54608</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54608"/>
		<updated>2011-01-30T14:03:15Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;#&#039; binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
#&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54607</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54607"/>
		<updated>2011-01-30T14:02:24Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter http://bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&amp;lt;br&amp;gt;&lt;br /&gt;
# binary tools in avr32studio !!&amp;lt;br&amp;gt;&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&amp;lt;br&amp;gt;&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; make all am&amp;lt;br&amp;gt;&lt;br /&gt;
erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
#&amp;gt; make fuses am&amp;lt;br&amp;gt;&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit http://minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&amp;lt;br&amp;gt;&lt;br /&gt;
das Terminalprogramm übersetzen und starten:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;gt;./arduinokermit&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54606</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54606"/>
		<updated>2011-01-30T13:59:57Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Aufbau */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die letzte Version von bamo128 kann unter bamo128.googlecode.com heruntergeladen werden. Die Installation soll beispielhaft an einem arduinoMega Board (atmega1280) erläutert werden.&lt;br /&gt;
Im Makefile muß der Pfad zu den GNU-Tools angeapßt werden (hier wurde avr32studio in /opt/cross entpackt):&lt;br /&gt;
# binary tools in avr32studio !!&lt;br /&gt;
BINDIR	= /opt/cross/as4e-ide/plugins/com.atmel.avr.toolchains.linux.x86*/os/linux/x86_64/bin/&lt;br /&gt;
Der Monitor wird jetzt mit einem geeigneten Programmer in den Controller &amp;quot;gebrannt&amp;quot;. Wir nutzen den AVRISPmkII,&lt;br /&gt;
für andere Programmierer muß der Makefile entsprechend angepaßt werden. Das Board wird über USB mit dem Programmierer&lt;br /&gt;
und dem PC und mit einem weiteren USB Kabel (vorerst nur zur Stromversorgung) das Megaboard mit dem PC verbunden-  &lt;br /&gt;
#&amp;gt; make all am&lt;br /&gt;
erzeugt das Monitorprogramm und lädt es in den AVR8 Controller. &lt;br /&gt;
#&amp;gt; make fuses am&lt;br /&gt;
setzt die Fuses ( 4K Word boot section, start after reset in boot section). (Selbstverständlich kann man alles wieder&lt;br /&gt;
mit der Arduino Entwicklungsumgebung rückgängig machen, aber wer will das noch, wenn er den Monitor getestet hat :-) ).&lt;br /&gt;
Jetzt kann man schon mit dem Terminal (Serial Monitor - 57600 baud) der ArduinoIDE bamo128 testen.&lt;br /&gt;
Besser gehts mit minikermit in der an Arduinos angepaßten Version arduinokermit minikermit.googlecode.com.&lt;br /&gt;
arduinokermitV**.tar.gz entpacken und unter Linux mit:&lt;br /&gt;
#&amp;gt; g++ arduinokermit.c -lncurses -oarduinokermit&lt;br /&gt;
das Terminalprogramm übersetzen und starten:&lt;br /&gt;
#&amp;gt;./arduinokermit&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54605</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54605"/>
		<updated>2011-01-30T13:58:09Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Bamo128 ist ein residentes Monitorprogramm (ein rudimentäres Betriebssystem) für AVR8 Controller.&lt;br /&gt;
Es wurde entwickelt im Rahmen meiner Lehrtätigkeit Mikroprozessortechnik/Embedded Systems an der&lt;br /&gt;
HWR-Berlin unter Mitarbeit vieler Studenten. Es ist ein reines Assemblerprojekt entwickelt unter Linux&lt;br /&gt;
mit GNU-Tools, deren letzte stabilen Versionen von Compiler, Linker, Assembler usw. findet man gegenwärtig &lt;br /&gt;
u.a. unter http://www.atmel.no/beta_ware/ versteckt in AVR32Studio.&lt;br /&gt;
&lt;br /&gt;
Bamo128 belegt 4K Worte (8 KByte) Flash-Programm-Speicher, vorteilhafterweise in der Boot-Sektion.&lt;br /&gt;
Die Fuses-Bits des Controllers sollte man so programmieren, daß nach Reset mit der Programmabarbeitung&lt;br /&gt;
im Monitor gestartet wird.&lt;br /&gt;
&lt;br /&gt;
== Aufbau ==&lt;br /&gt;
xyz&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54603</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54603"/>
		<updated>2011-01-30T12:46:27Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Monitorprogramm Bamo128 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
abc&lt;br /&gt;
== Aufbau ==&lt;br /&gt;
xyz&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54602</id>
		<title>Monitorprogramm Bamo128</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Monitorprogramm_Bamo128&amp;diff=54602"/>
		<updated>2011-01-30T12:45:54Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: Die Seite wurde neu angelegt: „= Monitorprogramm Bamo128 = von &amp;#039;&amp;#039;name&amp;#039;&amp;#039;&amp;lt;br&amp;gt; dieser Artikel ist noch in der Entwurfsphase  == Einleitung == abc == Aufbau == xyz“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Monitorprogramm Bamo128 =&lt;br /&gt;
von &#039;&#039;name&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
dieser Artikel ist noch in der Entwurfsphase&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
abc&lt;br /&gt;
== Aufbau ==&lt;br /&gt;
xyz&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=54601</id>
		<title>Vorlage für Projektbeschreibung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=54601"/>
		<updated>2011-01-30T12:44:06Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Softwaree */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von NAME&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Hier steht eine Beschreibung des Projekts. Eine Beschreibung besteht aus dem Titel und einer Liste von Features. &lt;br /&gt;
&lt;br /&gt;
Eine Liste von Features:&lt;br /&gt;
&lt;br /&gt;
* Feature 1&lt;br /&gt;
* Feature 2&lt;br /&gt;
* Feature 3&lt;br /&gt;
&lt;br /&gt;
Es ist sinnvoll, dem Projekt einen vernünftigen Namen zu geben. Viele der Projekte und Artikel haben das &#039;AVR&#039; als Anfang im Namen stehen. Das erscheint sinnvoll, ist es aber nicht, denn in der alphabetischen Sortierung stehen diese alle unter &#039;A&#039;. Besser wäre es, einen Namen zu vergeben, der mit dem Zweck des Projektes übereinstimmt. Also:&lt;br /&gt;
&lt;br /&gt;
Nicht &#039;AVR-Drehgeberdecoder&#039;      sondern&lt;br /&gt;
&#039;Gray-Code decoder für Drehgeber&#039;&lt;br /&gt;
&lt;br /&gt;
Bei Software, die nur auf dem AVR läuft, kann das &#039;AVR&#039; als Suchtag verwendet werden. Falls die Software so geschrieben ist, dass sie auf mehreren verschiedenen CPUs läuft, soll keine CPU im Titel genannt werden.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Software&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* Sourcecode: http://www.mikrocontroller.net/attachment.php/123/Sourcecode.zip&lt;br /&gt;
* Schaltplan: http://www.mikrocontroller.net/attachment.php/1234/Schaltplan.pdf&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* Diskussion zu diesem Projekt: http://www.mikrocontroller.net/forum/read-4-123.html&lt;br /&gt;
* [[Audio-Projekt|Link zu anderem Projekt]]&lt;br /&gt;
&lt;br /&gt;
Am Ende des Artikels erfolgt eine Einsortierung in Artikel-Schublade(n), auch Kategorie(n) genannt. Damit ist Dein Artikel leichter auffindbar. &lt;br /&gt;
&lt;br /&gt;
Such aus den vorhandenen [[Spezial:Kategorien|Kategorien]] diejenige(n) aus, die am besten auf den Artikel passen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
Bitte nicht blind die folgenden Kategorien kopieren ;-)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte| ]]&lt;br /&gt;
[[Category:Projekte| ]]&lt;br /&gt;
[[Kategorie:Tipps für Autoren]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=54600</id>
		<title>Vorlage für Projektbeschreibung</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Vorlage_f%C3%BCr_Projektbeschreibung&amp;diff=54600"/>
		<updated>2011-01-30T12:43:39Z</updated>

		<summary type="html">&lt;p&gt;Burkhart h: /* Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;von NAME&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Hier steht eine Beschreibung des Projekts. Eine Beschreibung besteht aus dem Titel und einer Liste von Features. &lt;br /&gt;
&lt;br /&gt;
Eine Liste von Features:&lt;br /&gt;
&lt;br /&gt;
* Feature 1&lt;br /&gt;
* Feature 2&lt;br /&gt;
* Feature 3&lt;br /&gt;
&lt;br /&gt;
Es ist sinnvoll, dem Projekt einen vernünftigen Namen zu geben. Viele der Projekte und Artikel haben das &#039;AVR&#039; als Anfang im Namen stehen. Das erscheint sinnvoll, ist es aber nicht, denn in der alphabetischen Sortierung stehen diese alle unter &#039;A&#039;. Besser wäre es, einen Namen zu vergeben, der mit dem Zweck des Projektes übereinstimmt. Also:&lt;br /&gt;
&lt;br /&gt;
Nicht &#039;AVR-Drehgeberdecoder&#039;      sondern&lt;br /&gt;
&#039;Gray-Code decoder für Drehgeber&#039;&lt;br /&gt;
&lt;br /&gt;
Bei Software, die nur auf dem AVR läuft, kann das &#039;AVR&#039; als Suchtag verwendet werden. Falls die Software so geschrieben ist, dass sie auf mehreren verschiedenen CPUs läuft, soll keine CPU im Titel genannt werden.&lt;br /&gt;
&lt;br /&gt;
== Softwaree ==&lt;br /&gt;
&lt;br /&gt;
Beschreibung der Software&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
* Sourcecode: http://www.mikrocontroller.net/attachment.php/123/Sourcecode.zip&lt;br /&gt;
* Schaltplan: http://www.mikrocontroller.net/attachment.php/1234/Schaltplan.pdf&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* Diskussion zu diesem Projekt: http://www.mikrocontroller.net/forum/read-4-123.html&lt;br /&gt;
* [[Audio-Projekt|Link zu anderem Projekt]]&lt;br /&gt;
&lt;br /&gt;
Am Ende des Artikels erfolgt eine Einsortierung in Artikel-Schublade(n), auch Kategorie(n) genannt. Damit ist Dein Artikel leichter auffindbar. &lt;br /&gt;
&lt;br /&gt;
Such aus den vorhandenen [[Spezial:Kategorien|Kategorien]] diejenige(n) aus, die am besten auf den Artikel passen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
Bitte nicht blind die folgenden Kategorien kopieren ;-)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte| ]]&lt;br /&gt;
[[Category:Projekte| ]]&lt;br /&gt;
[[Kategorie:Tipps für Autoren]]&lt;/div&gt;</summary>
		<author><name>Burkhart h</name></author>
	</entry>
</feed>