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
(Compileren von boop)
(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 für 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 ist eine Software die zur Zeit der Erstellung dieser Dokumentation nach dem Laden in den RAM der Betty ein simples echo per serieller Schnittstelle ermöglicht und 2 Sätze ausgibt.
+
Siehe [[Boop Features]]. Für andere Verwendungen der Betty Hardware siehe [[Projekte]].
  
Boop soll eine Beispiel-Implementierung der seriellen Kommunikation mit der Betty darstellen.
+
==Lizenz==
 +
'''boop''' steht unter der [http://www.gnu.org/copyleft/gpl.html GPL]v3. Bitte beachtet das wenn, ihr an der Software herumbastelt!
  
===Kommandos===
+
==Download==
'''!''' - es wird "Hello Betty!" ausgegeben
+
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]
  
'''*''' - es wird "And another Hello!" ausgegeben
+
==Mitarbeit==
 +
Wenn Du Fehler findest, oder anders helfen möchtest, melde Dich am Besten im [http://bettyhacks.com/forum Forum].
 +
Zum Entwickeln: [[Coding Style]].
  
Alles andere wird als echo zurückübertragen.
 
  
==Download==
+
==Das System==
Für alle die Boop nicht selber kompilieren wollen oder können:
+
Die Firmware ist in C geschrieben für den 32-bit Mikroprozessor mit ARM7 Kern (siehe [[Entwicklungsumgebungen]]).
 +
Es sind 64kb SRAM und 16mbit (= 2 MiByte) externer Flash-Speicher vorhanden.
  
Als raw binary: [http://mamalala.org/boop.bin boop.bin]
+
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]).
  
Als hex: [http://mamalala.org/boop.hex boop.hex]
+
Näheres zu den Komponenten unter [[Betty Hardware]]  und [http://www.hackdaworld.org/cgi-bin/awki.cgi/BettyTV hackdaworld]
  
==Anforderungen==
+
===Das 'Betriebssystem' Timer, Interrupts, ...===
===Compiler, Linker und Tools===
+
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]
+
  
Nachdem ihr diese heruntergeladen habt, führt ihr diese aus mit:
+
Die Timers und Interrupts sind unter [[Boop Peripherie]] aufgelistet.
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.
+
  
==Compileren von boop==
+
===Hardwareunterstützung===
===Download===
+
Den Source von Boop findet ihr auf netguy's Server: [http://mamalala.org/boop-0.7.tgz boop-0.7.tgz]
+
  
===Entpacken===
+
==== Serielle Schnittstelle ====
tar xzvf boop.tar.gz
+
(an der Stiftleiste)
Sollte nun das Verzeichnis '''boop-0.7/''' im aktuellen Verzeichnis erstellt haben.
+
txd0, rxd0
  
===Compilieren===
+
* Baudrate http://www.standardics.nxp.com/support/documents/microcontrollers/xls/lpc2000.uart.baudrate.calculator.xls
cd boop-0.7
+
Wechselt in das Verzeichnis boop-0.7/ im aktuellen Verzeichnis. Wenn ihr alles richtig gemacht habt sollte nun ein
+
make
+
unter anderem die Datei '''boop.hex''' erstellt haben
+
  
===Workaround für lpcload - WICHTIG===
+
==== Display ====
Aufgrund der Tatsache, dass hackbard's lpcload noch nicht ganz ausgereift ist, muss das erstellte boop.hex noch etwas modifziert werden. Die erste Zeile aus der boop.hex muss leider noch manuell entfernt werden (mit einem Editor oder per Script), aber wir hoffen, dass hackbard (oder jemand anderes) das bald in Angriff nimmt um uns das in Zukunft zu ersparen.
+
* 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
  
Das erstellte boop.hex sieht z.B. so aus:
+
=====Hintergrundbeleuchtung=====
:020000044000BA
+
* Pin: [[LPC2220_Pin-Belegung|sck0/P0.4]]
:10020000060000EA1F0000EA1E0000EA1D0000EAE6
+
* 64 Helligkeitsstufen (Software-PWM in SoundIRQ)
:100210001C0000EA1B0000EA1A0000EA190000EACC
+
* Leuchtdauer einstellbar (n*[s])
:1002200078309FE503D0A0E102AC4DE20010A0E3DE
+
* Übergangsgeschwindigkeit einstellbar (n * 5 ms / Helligkeitsstufe)
...
+
  
Nachdem wir die erste Zeile aus der Datei boop.hex entfernt haben sieht es nun so aus:
+
====Tastatur ====
:10020000060000EA1F0000EA1E0000EA1D0000EAE6
+
Q: 'keytest' im Menü 'TestStuff' zeigt Tastaturcodes, wie kommt man da wieder raus?
:100210001C0000EA1B0000EA1A0000EA190000EACC
+
:1002200078309FE503D0A0E102AC4DE20010A0E3DE
+
...
+
  
'''Jetzt''' können wir ans Flashen mit lpcload gehen.
+
A: Batterien rein und raus! Bei dem Hintergedanken der Funktion allerdings völlig legitim.
  
==Boop meets Betty - jetzt wird geflasht==
+
====Akkuzustand ====
===Bootloader starten===
+
Wird in oben rechts als Batteriesymbol angezeigt.
Um Boop in die Betty zu bekommen müssen wir zuerst in den Bootloader:
+
'bat debug' im Menü 'TestStuff' zeigt - was für Werte?
EINT PIN auf GND brücken
+
RESET PIN auf GND brücken
+
RESET PIN wieder öffnen
+
EINT PIN wieder öffnen
+
Jetzt sollten wir im Bootloader sein.
+
  
===boop in das ram schreiben - mit betty-heaven===
+
====Audio ====
Betty-heaven findet ihr hier [[Software von Colibri]]
+
  
===boop in das ram schreiben - mit lpcload===  
+
=====Hardware=====
Ich gehe davon aus, dass ihr alle mit [[lpcload]] umgehen könnt und es installiert habt (sonst könnt ihr mit dem hier eh nichts anfangen behaupte ich mal)
+
P0.7/SSEL0/PWM2/EINT2    69    PWM<br\>
./lpcload -d /dev/ttyS0 -f boop.hex
+
P0.11/CTS1/CAP1.1        83    Shutdown<br\>
schiebt boop.hex ins RAM der Betty.
+
  
Jetzt wird lpcload beendet:
+
Verstärker: LM4876
<strg>-<c>
+
  
'''Geschafft'''. Boop sollte nun im RAM eurer Betty laufen und auf eine Verbindung warten.
+
=====Software=====
 +
Sounderzeugung (Menu>TestStuff>SID) und Wiedergabe von Samples (Menu>Credits)
  
===Verbindung zu boop herstellen===
+
====IR====
Öffnet das Terminal-Programm eurer Wahl (minicom, cutecom, usw) und stellt folgende Einstellungen ein:
+
Über Pin 4 (P0.21/PWM5/CAP1.3) kann die IR Diode zum Senden ein und ausgeschaltet werden.<br\>
Bps...........  9600
+
Der IR-Empfang wird über Pin 84 (P0.12/DSR1/MAT1.0) aktiviert/deaktiviert.<br\>
Datenbits.....     8
+
Über Pin 32 (P0.29/AIN2/CAP0.3/MAT0.3) wird das empfangene Signal eingelesen.<br\>
Parität....... keine
+
Stopbits......    1
+
Flusssteuerung keine
+
Wenn das alles passt, solltet ihr nun mit boop verbunden sein und könnt mit '''*''' und '''!''' testen ob boop euch versteht und mit euch reden mag. Alle anderen Tastatureingaben sollten als ECHO zurück gegeben werden.
+
  
===Genoog von boop?===
+
====Funk====
Da boop im Moment nur im RAM residiert, ist ein einfacher Reset per:
+
Transceiver [[CC1100]]
RESET PIN auf GND
+
Testweise als IR-Device eingebaut, überträgt Tastencodes an den [[SCART Adapter]] mit [[betty_scart]]
möglich, welcher eure Betty wieder in den normalen Zustand zurücksetzt.
+
  
==Fazit==
+
* Kommunikation Scartadapter [http://bettyhacks.com/forum/index.php?topic=114.msg826#msg826 Forum]
netguy (und natürlich meine wenigkeit) wünscht viel Spass beim Spielen und ggf. Erweitern der Software.
+
* Transceiver CC1100 Möglichkeiten [http://bettyhacks.com/forum/index.php?topic=121.msg850#msg850 Forum]
  
==Lizenz==
+
====Uhr====
'''boop''' steht unter der GPLv3, bitte beachtet das wenn ihr an der Software herumbastelt!
+
I2C
  
  
----
+
[[Category:Firmware]]
--[[User:Alterego|Alterego]] 04:30, 30 August 2007 (CEST)
+

Latest revision as of 00:01, 17 February 2011

Personal tools