Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 860

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 839

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 839

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 860

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 839

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 839

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 860

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 839

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 839

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w008c51e/wiki/includes/MagicWord.php on line 860
Boop - Bettyhacks.com - Hack BettyTV-Remote

Boop

From Bettyhacks.com - Hack BettyTV-Remote
Jump to: navigation, search
(Compiler, Linker und Tools)
(Tastatur)
 
Line 1: Line 1:
==Info==
+
Boop ([http://de.wikipedia.org/wiki/Betty_Boop Namensgeberin])ist eine Software (Firmware) fuer die [[Betty TV]], welche von '''netguy''' entwickelt wurde, und von einigen anderen erweitert wird.
Boop ist eine Software fuer die Betty, welche '''netguy''' gerade fertiggestellt hat.
+
Die Firmware dient derzeit haupsaechlich als "testbed" um die Hardware der Betty anzusprechen.
 +
Die Firmware enthält Routinen für das Ansprechen der meisten Hardwarekomponenten der Betty.
  
==Was macht boop==
+
==Features==
Boop dient derzeit haupsaechlich als "testbed" um die Hardware der Betty anzusprechen.
+
Siehe [[Boop Features]]. Für andere Verwendungen der Betty Hardware siehe [[Projekte]].
Im Moment funktioniert die Audio-Ausgabe, das senden von Infrarot, das LCD Display und die Tasten.
+
  
===Kommandos===
+
==Lizenz==
 
+
'''boop''' steht unter der [http://www.gnu.org/copyleft/gpl.html GPL]v3. Bitte beachtet das wenn, ihr an der Software herumbastelt!
Ueber die serielle Schnittstelle nichts wirklich sinnvolles zur Zeit.
+
  
 
==Download==
 
==Download==
Fuer alle die Boop nicht selber kompilieren wollen oder koennen:
+
Den aktuellen Source erhält man über [[SVN]] [https://sourceforge.net/projects/boopfirmware/develop hier].
 +
Das aktuelle RAW-Binary zum download: [https://boopfirmware.svn.sourceforge.net/svnroot/boopfirmware/boop/trunk/boop_rom.bin boop_rom.bin]
  
Als RAW-Binary: [http://svn.mamalala.org/filedetails.php?repname=boop&path=%2Ftrunk%2Fboop_rom.bin&rev=0&sc=0 boop_rom.bin]
+
==Mitarbeit==
 +
Wenn Du Fehler findest, oder anders helfen möchtest, melde Dich am Besten im [http://bettyhacks.com/forum Forum].
 +
Zum Entwickeln: [[Coding Style]].
  
Als HEX: [http://svn.mamalala.org/filedetails.php?repname=boop&path=%2Ftrunk%2Fboop_rom.hex&rev=0&sc=0 boop_rom.hex]
 
  
==Anforderungen==
+
==Das System==
===Compiler, Linker und Tools===
+
Die Firmware ist in C geschrieben für den 32-bit Mikroprozessor mit ARM7 Kern (siehe [[Entwicklungsumgebungen]]).
Um Boop zu compilieren braucht ihr die [http://opensrc.sec.samsung.com/download/arm-uclinux-tools-base-gcc3.4.0-20040713.sh GCC 3.4.0 Toolchain]
+
Es sind 64kb SRAM und 16mbit (= 2 MiByte) externer Flash-Speicher vorhanden.
  
Nachdem ihr diese heruntergeladen habt, fuehrt ihr diese aus mit:
+
Es ist möglich, ein Programm direkt aus dem RAM auszuführen. Das Überschreiben des Flashspeichers entfällt so (siehe [http://bettyhacks.com/forum/index.php?topic=215.msg1449#msg1449 Forum]).
sh arm-uclinux-tools-base-gcc3.4.0-20040713.sh
+
Damit wird die GCC 3.4.0 Toolchain in euer Home-Verzeichnis unter ~/bin installiert.
+
  
Alternativ und etwas aktueller ist die Toolchain von
+
Näheres zu den Komponenten unter [[Betty Hardware]]  und [http://www.hackdaworld.org/cgi-bin/awki.cgi/BettyTV hackdaworld]
[http://www.codesourcery.com/gnu_toolchains/arm/download.html Codesourcery]. Die Zielplattform ist ARM ucLinux. Die Toolchain kann dann in ein beliebiges Verzeichnis einfach augepackt werden - ich habe ein Verzeichnis /usr/local/arm/ für solche Dinge angelegt und der Pfad in die Toolchain ist dann /usr/local/arm/arm-2007q3/bin/
+
  
==Compileren von boop==
+
===Das 'Betriebssystem' Timer, Interrupts, ...===
===Download===
+
<pre>
+
svn checkout svn://svn.mamalala.org/boop/trunk
+
</pre>
+
  
===Compilieren===
+
Die Timers und Interrupts sind unter [[Boop Peripherie]] aufgelistet.
cd boop/trunk
+
Wechselt in das Verzeichnis boop/trunk im aktuellen Verzeichnis. Wenn ihr alles richtig gemacht habt sollte nun ein
+
make
+
unter anderem die Datei '''boop_rom.bin''' erstellt haben
+
  
==Boop meets Betty - jetzt wird geflasht==
+
===Hardwareunterstützung===
===Bootloader starten===
+
Um Boop in die Betty zu bekommen muessen wir zuerst in den Bootloader:
+
EINT PIN auf GND bruecken
+
RESET PIN auf GND bruecken
+
RESET PIN wieder oeffnen
+
EINT PIN wieder oeffnen
+
Jetzt sollten wir im Bootloader sein.
+
  
===boop in das ram schreiben - mit betty-heaven===
+
==== Serielle Schnittstelle ====
Betty-heaven findet ihr hier [[Software von Colibri]]
+
(an der Stiftleiste)
 +
txd0, rxd0
  
===boop in das ram schreiben - mit lpctool===
+
* Baudrate http://www.standardics.nxp.com/support/documents/microcontrollers/xls/lpc2000.uart.baudrate.calculator.xls
Ich gehe davon aus, dass ihr alle mit [[lpctool]] umgehen koennt und es installiert habt.
+
./lpctool -d /dev/ttyS0 -i -v -e -a boop_rom.bin
+
schiebt boop_rom.bin in das Flash der Betty.
+
  
'''Geschafft'''. Boop sollte nun im Flash sein und nach einem Rreset gestartet werden.
+
==== Display ====
 +
* Anbindung über Speicheradresse 0x81000000 (CMD) und 0x81000001 (DATA)
 +
* Kontrast einstellbar (in Grenzen)
 +
* Diverse Grafik- und Schriftfunktionen (siehe Menu>TestStuff)
 +
** Schriften
 +
** Grafik
 +
*** Bereich löschen, füllen, Linie, Rechteck, Kreise etc
  
==Fazit==
+
=====Hintergrundbeleuchtung=====
netguy (und natuerlich meine Wenigkeit) wuenscht viel Spass beim Spielen und ggf. erweitern der Software.
+
* Pin: [[LPC2220_Pin-Belegung|sck0/P0.4]]
 +
* 64 Helligkeitsstufen (Software-PWM in SoundIRQ)
 +
* Leuchtdauer einstellbar (n*[s])
 +
* Übergangsgeschwindigkeit einstellbar (n * 5 ms / Helligkeitsstufe)
  
==Lizenz==
+
====Tastatur ====
'''boop''' steht unter der GPLv3. Bitte beachtet das wenn, ihr an der Software herumbastelt!
+
Q: 'keytest' im Menü 'TestStuff' zeigt Tastaturcodes, wie kommt man da wieder raus?
 +
 
 +
A: Batterien rein und raus! Bei dem Hintergedanken der Funktion allerdings völlig legitim.
 +
 
 +
====Akkuzustand ====
 +
Wird in oben rechts als Batteriesymbol angezeigt.
 +
'bat debug' im Menü 'TestStuff' zeigt - was für Werte?
 +
 
 +
====Audio ====
 +
 
 +
=====Hardware=====
 +
P0.7/SSEL0/PWM2/EINT2    69    PWM<br\>
 +
P0.11/CTS1/CAP1.1        83    Shutdown<br\>
 +
 
 +
Verstärker: LM4876
 +
 
 +
=====Software=====
 +
Sounderzeugung (Menu>TestStuff>SID) und Wiedergabe von Samples (Menu>Credits)
 +
 
 +
====IR====
 +
Über Pin 4 (P0.21/PWM5/CAP1.3) kann die IR Diode zum Senden ein und ausgeschaltet werden.<br\>
 +
Der IR-Empfang wird über Pin 84 (P0.12/DSR1/MAT1.0) aktiviert/deaktiviert.<br\>
 +
Über Pin 32 (P0.29/AIN2/CAP0.3/MAT0.3) wird das empfangene Signal eingelesen.<br\>
 +
 
 +
====Funk====
 +
Transceiver [[CC1100]]
 +
Testweise als IR-Device eingebaut, überträgt Tastencodes an den [[SCART Adapter]] mit [[betty_scart]]
 +
 
 +
* Kommunikation Scartadapter [http://bettyhacks.com/forum/index.php?topic=114.msg826#msg826 Forum]
 +
* Transceiver CC1100 Möglichkeiten [http://bettyhacks.com/forum/index.php?topic=121.msg850#msg850 Forum]
 +
 
 +
====Uhr====
 +
I2C
  
  
----
+
[[Category:Firmware]]
--[[User:Alterego|Alterego]] 04:30, 30 August 2007 (CEST)
+
--[[User:netguy|netguy]] 18:39, 20 Oktober 2007 (CEST)
+

Latest revision as of 00:01, 17 February 2011

Personal tools