Beiträge anzeigen

Diese Sektion erlaubt es ihnen alle Beiträge dieses Mitglieds zu sehen. Beachten sie, dass sie nur solche Beiträge sehen können, zu denen sie auch Zugriffsrechte haben.

Nachrichten - gunnar

16
Hallo Flunder,

im Wiki von Bettyhacks findest Du das Datenblatt des Chips http://bettyhacks.com/wiki/index.php/CC1100 der für die Funk-Kommunikation zuständig ist. Das ist allerdings etwas komplexer als Zeichen über eine serielle Schnittstelle zu schicken. Der CC1100 kann nicht gleichzeitig senden und empfangen, es geht also nur halbduplex. Mit dem richtigen Protokoll können sich auch mehrere Bettys auf einem Funkkanal befinden, es muss nur geregelt sein, dass immer nur einer sendet.

Wenn Du Dich damit beschäftigen möchtest musst Du an Boop selbst herumprogrammieren. Hier ist ein schönes Beispiel für die Funk-Kommunikation: http://bettyhacks.com/forum/index.php?topic=220.0

Viele Grüße
Gunnar
17
Software / Re: Betty als MPD client
07. Nov 2011, 14:04
Hallo Horst,

das, was momentan in Git eingecheckt ist, lässt sich nicht kompilieren. Ich habe hier einen kleinen Patch dafür.
Wäre nett wenn Du den einbaust.

Viele Grüße
Gunnar
18
Software / Re: Toolchain
07. Nov 2011, 12:26
Hallo Josh,

ich habe Dir hier ein boop kompiliert, mit dem Du den Scart Adapter flashen kannst. Dazu musste ich allerdings die ronetix newlib 4.1.1 Toolchain, die im Boop Wiki verlinkt ist, nehmen. Mit der Code-Sourcery 4.5.2 Toolchain flackerte beim Start nur kurz die Hintergrundbeleuchtung auf und dann bleibt der Screen leer.

Viel Spaß mit McBetty,

Gunnar
19
Hallo Glotzi,

ich habe mal die summon Toolchain ausprobiert. Dazu musste ich eine Dummy Funktion für _setbrk einfügen, sonst linkte es nicht. Die alignment Warnungen kommen aber auch mit dieser Toolchain.

Viele Grüße
Gunnar
20
Software / Re: Toolchain
03. Nov 2011, 08:46
Hallo Josh,

ich habe auf meinem System (Linux) auch die Codesourcery Version der Toolchain. Die Versionsnummer ist 4.5.2.
https://sourcery.mentor.com/sgpp/lite/arm/portal/package8744/public/arm-uclinuxeabi/arm-2011.03-46-arm-uclinuxeabi-i686-pc-linux-gnu.tar.bz2
Entpackt als /opt/arm-uclinuxeabi-codesourcery-gcc
Damit es baut musste ich die Makefiles etwas anpassen, damit die libc.a gelinkt wird. Ohne die Libc kommt es zu nicht aufgelösten Verweisen auf memcpy. Der Patch hängt an.
Das kompilierte bin File habe ich auch angehangen, probier mal ob es läuft.

Viele Grüße
Gunnar

21
Software / Re: Toolchain
02. Nov 2011, 10:47
Hallo Josch,

welche Toolchain hast Du denn genommen?

Viele Grüße
Gunnar
22
Hallo zusammen,

ich habe versucht, mit dem in McBetty enthaltenen Boop die SCART Firmware zu flashen. Das scheitere aber schon daran, dass dieses Boop auf meiner Betty (und auch auf anderen) nicht läuft. Beim Einlegen der Batterien geht die Hintergrundbeleuchtung an und dann geht gar nichts mehr. Ich habe von dem Problem in diesem Thread gelesen, aber bei mir geht es auch trotz mehrmaligen Versuchens nicht.
Das normale Boop funktioniert aber. Und so habe ich scart_image.h aus dem McBetty Archiv ins tools Verzeichnis des Original-Boop kopiert. Damit konnte ich dann flashen... genau bis zur Adresse 0xe800. Ein kurzer Blick ins Datenblatt verriet mir, das diese Adresse im Booloader Bereich liegt. Das original-boop löscht diesen Bereich aber vor der Programmierung absichtlich nicht um den Bootloader zu erhalten. Das McBetty Boop löscht aber das ganze Flash, da der Bootloader im McBetty Scart-Image enthalten ist.
Um das original-Boop zum flashen des McBetty Scart-Images nehmen zu können muss man diese kleine Änderung an scart-icp.c machen:

-            /* only erase first 7 sectors, not all! */
-            for (i=0; i<7; i++)
+            /* erase all 8 sectors, including custom boot loader! */
+            for (i=0; i<8; i++)


Der patch dazu hängt an. Vielleicht hilft dieser Hinweis ja dem einen oder anderen, der das gleiche Problem hat.

Viele Grüße
Gunnar
23
Hallo,

ich kann Dir Deine Betty sofort mit Boop flashen. Weiteres können wir per Mail klären:
G.Henne@combio.de


bin ganz zufällig auf diesem Forum gestoßen und wollt fragen ob einer hier meine Betty die Boop Software überspielt?



Viele Grüße
Gunnar
24
Hallo,

ich habe gesehen, dass McBetty mit dem Compiler von CodeSourcery kompiliert wird und wollte diesen ziemlich aktuellen Compiler auch für Boop nehmen. Ihm unterliegt nicht die newlibc sondern die uClibc. Eine kleine Änderung musste ich machen: siprintf in sprintf umbenennen, ansonsten lief es gut durch bis auf etliche Alignment Warnings im Thumb-Code:

/opt/CodeSourcery-arm-uclinux/bin/arm-uclinuxeabi-ld.real: Warning: alignment 1 of symbol `default_RFsettings' in cc1100/rf.thumb.o is smaller than 4 in infrared/ir_rf.thumbunopt.o
/opt/CodeSourcery-arm-uclinux/bin/arm-uclinuxeabi-ld.real: Warning: alignment 1 of symbol `default_RFsettings' in cc1100/rf.thumb.o is smaller than 4 in infrared/ir_lirc.thumbunopt.o
/opt/CodeSourcery-arm-uclinux/bin/arm-uclinuxeabi-ld.real: Warning: alignment 1 of symbol `conf' in cc1100/cc1100.thumb.o is smaller than 4 in infrared/ir_lirc.thumbunopt.o
/opt/CodeSourcery-arm-uclinux/bin/arm-uclinuxeabi-ld.real: Warning: alignment 1 of symbol `confasync' in cc1100/cc1100.thumb.o is smaller than 4 in infrared/ir_lirc.thumbunopt.o


Eigentlich ist es doch richtig, dass Thumb Code ein anderes Alignment hat, wieso kommt trotzdem ein Linker Warning?
Oder führt diese Konstellation sogar zu richtigen Fehlern beim Zugriff auf die falsch aligneten Daten? Wahrscheinlich gibt es Probleme wenn der ARM Code darauf zugreift, aber nicht wenn ausschließlich aus dem Thumb Code darauf zugegriffen wird, oder?

Viele Grüße
Gunnar

25
Hallo JD,

Gibt es eine einfache Möglichkeit Code in das Boop SVN zu bekommen?
Ich habe ein Trackbar-Control geschrieben, welches sicher auch für andere nützlich sein kann.

Lege Dir einfach einen Account bei SourceForge an und verrate mir wie er heisst, dann gebe ich Dir SVN Schreibrechte.
Übrigens ein sehr interessantes Thema mit dem RFM12! Vielleicht checkst Du auch den Nicht-Boop-Quellcode in einem Verzeichnis neben boop ein. So ist auch z.B. auch lpctool und die Scart-Adapter Firmware eingecheckt.

Viele Grüße
Gunnar
26
Hallo tugstugi,


Ich bin auch gerade dabei mich intensiv mit der Betty auseinander zu setzen.
Sie funkt mittlerweile auch zuverlässig mit dem RFM12 von Hope RF :-)


Wie hast Du die Betty mit dem RFM12 verbunden? Meinst Du damit, dass Du ein RFM12 Modul an die Ports der Betty angeschlossen hast? Oder meinst Du, dass Du den CC1100 in der Betty so konfiguriert hast, dass Du mit einem RFM12 Modul, dass an einen anderen Controller angeschlossen ist kommunizieren kannst?

Viele Grüße
Gunnar
27
Software / Re: JTAG
12. Feb 2011, 22:51
Hallo Telekatz,

du mußt OpenOCD noch anpassen, damit der Flash Baustein der Betty erkannt wird...
Dann funktioniert auch das Flashen.


Danke für den Tip, ich hatte den Patch übersehen. Mit dem Patch hat es geklappt und zwar superschnell. :-)
Viel unkomplizierter und schneller als mit dem seriellen Bootloader.
Man muss nur darauf achten, dass die Hintergrundbeleuchtung an ist, dann ist die CPU nicht im Sleep Modus.
Ich musste bei mir noch in scripts/interface/parport.cfg diese Änderung machen, ansonsten wurde versucht, das Device /dev/parport888 zu benutzen:

#parport_port 0x378
parport_port 0

Mit der eingecheckten betty.cfg ging das Flashen zunächst nicht, ich habe dann die eingecheckte betty.cfg mit der OpenOCD Konfiguration aus deinem Posting (das nach dem CFI Patch) verglichen und zwei Zeilen geändert, danach klappte es dann. Die Änderungen habe ich eingecheckt.

Viele Grüße
Gunnar
28
Software / Re: JTAG
10. Feb 2011, 23:20
Hallo Telekatz,


So, mit diesem Script funktioniert es jetzt zufriedenstellend:


ich habe mal mit den eingecheckten Einstellungen versucht (scheinen die gleichen zu sein, wie aus Deinem Post), die Betty per JTAG zu flashen, aber das Flash wird nicht erkannt:


Open On-Chip Debugger 0.4.0 (2011-02-10-22:46)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
jtag_nsrst_delay: 50
jtag_ntrst_delay: 50
trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_push_pull
1000 kHz
dcc downloads are enabled
fast memory access is enabled
parport port = 0x378
Info : clock speed 500 kHz
Info : JTAG tap: lpc2220.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
Info : Embedded ICE version 4
Info : lpc2220.cpu: hardware has 2 breakpoint/watchpoint units
500 kHz
Info : JTAG tap: lpc2220.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4)
Warn : srst pulls trst - can not reset into halted mode. Issuing halt after reset.
target state: halted
target halted in ARM state due to debug-request, current mode: System
cpsr: 0x6000001f pc: 0x80000604
Info : Flash Manufacturer/Device: 0x007f 0x225b
Error: Could not probe bank: no QRY
Try workaround w/0x555 instead of 0x55 to get QRY.
Error: Could not probe bank: no QRY
Error: auto_probe failed -900

flash bank '0' not found


Hast Du oder jemand anderes es schonmal hinbekommen, die Betty über ein Wiggler Interface geflasht zu bekommen? Prinzipiell sollte das Interface doch egal sein, oder?

Viele Grüße
Gunnar
29
Software / Re: JTAG
09. Mär 2010, 12:19
Hallo Famos,

ich habe diesen JTAG Adapter für 8€ Preisvorschlag + Versand (Brief) bei Ebay gekauft und der funktioniert ganz gut bei mir:
http://shop.anvilex.com/pi2/pd10.html
Wenn man einen Parallelport hat und erstmal in die Materie hineinschnuppern will ist das wohl der günstigste Einstieg. Vom gleichen Anbieter habe ich auch das Altera Kabel genommen und damit erfolgreich über Quartus am CPLD auf dem Scart Adapter herumgespielt.
Aus dem embedded-projects Shop habe ich einen MSP430 JTAG Adapter gekauft, ca 15€. Flashen und Debuggen geht damit ohne große Einstellungen einfach von der Hand. Für den MCS51 kompatiblen Controller auf dem ScartAdapter wollte ich eine kleine Software für das AvrUsbLab machen, das ich sonst zum Programmieren von AVR Controllern nehme.
http://wiki.ullihome.de/index.php/USBAVR-ISP/de
So kann ich einen hübschen Zoo von Controllern programmieren und größtenteils auch debuggen. Anwendungszwecke habe ich schon einige im Hinterkopf. Praktisch ist, dass alle zur Betty gehörende Hardware über die CC1100 kommunizieren können, egal welchen Controller sie nun gerade benutzen. Für fast alles gibt es funktionierenden Code in Boop, das ist ideal zum Lernen und Spielen. :-)

Bei den ARMs kann man mittels GDB auf jeden Fall Code ins Ram laden und dort ausführen. Das Flashen über JTAG geht nicht so einfach, aber da kann man ja ein Tool machen, das im Ram des ARM läuft und von dort aus das Flash beschreibt. So macht es ja auch das LPCTool.

Wenn ich das mit dem Debuggen von Betty und PCD des TAE Adapters raushabe werde ich eine Wikiseite darüber machen.

Viele Grüße
Gunnar
30
Software / Re: JTAG
05. Mär 2010, 23:02
Hallo Telekatz,


Die Belegung sieht richtig aus. Ein 10K Widerstand von RTCK nach GND ist bei mir auch nicht notwendig damit JTAG funktioniert. Die entsprechenden Pins werden von Boop als JTAG Pins konfiguriert.


An welcher Stelle im Code steht das?


Der Fehler wird daran liegen, dass Boop in den idle und power down Modus geht. Dann funktioniert JTAG nicht mehr. Schreibe in die erste Zeile von cpu_idle() in der main.c ein return; und der idle und power down Modus ist deaktiviert.

void cpu_idle ()
{ return;
/* fall through if a key was pressed */



Volltreffer, genau das war es! :-)
Zitat

jtag> detect
IR length: 4
Chain length: 1
Device Id: 01001111000111110000111100001111 (0x000000004F1F0F0F)
  Manufacturer: ARM
Cannot open /opt/urjtag//share/urjtag/arm/PARTS
  Unknown part!
chain.c(149) Part 0 without active instruction
chain.c(200) Part 0 without active instruction
chain.c(149) Part 0 without active instruction


Kannst Du noch die von Dir verwendete OpenOCD Config schicken und falls Du das hast das BSDL File zum LPC2220?
Wenn alles zusammen ist und bei mir funktioniert, werde ich im Wiki was über Jtag, Debugging und BoundaryScan schreiben.

Viele Grüße
Gunnar