*** Protokolldatei gestartet *** Datum: Do. Mai 8 20:27:04 2014 [Donnerstag, 8. Mai 2014] [20:27:04] Betreten Sie (-bernd@p5DCD6785.dip0.t-ipconnect.de) haben den Kanal #forth-ev betreten. [Donnerstag, 8. Mai 2014] [20:27:11] Modus Kanalmodi: [Donnerstag, 8. Mai 2014] [20:27:12] Hallo Meister! [Donnerstag, 8. Mai 2014] [20:27:21] Hallo! [Donnerstag, 8. Mai 2014] [20:27:27] Ich bin etwas spät... [Donnerstag, 8. Mai 2014] [20:27:37] Och: Also über LEDs wird eine spi ähnliche KOmmunikationsstrecke aufgebaut. Grundprinzip hat ?? Koch in der VD beschrieben. [Donnerstag, 8. Mai 2014] [20:27:46] @Matthias: ich könnt in der isr auch asm Funktionsaufrufe machen "call", aber ist das schlau? [Donnerstag, 8. Mai 2014] [20:27:50] Na gut. Du hast Dich schon länger damit beschäftigt. Ich bin da wahrscheinlich keine große Hilfe. Das ist mir zu lowlevel, als dass ich da was beitragen könnte. Außer dummes Zeug schwatzen natürlich [Donnerstag, 8. Mai 2014] [20:27:56] Hallo Bernd [Donnerstag, 8. Mai 2014] [20:28:02] Grüß dich! [Donnerstag, 8. Mai 2014] [20:28:18] Sich kann man in einer ISR auch CALL machen. Solange man RET nicht vergisst, ist alles gut [Donnerstag, 8. Mai 2014] [20:28:21] ***lol*** das ist dir zu low level??? rotfl [Donnerstag, 8. Mai 2014] [20:28:57] 1-wire war schon ziemlich grenzwertig für mich. Du bist weitaus tiefer ;) [Donnerstag, 8. Mai 2014] [20:29:10] Wenn ich's Dir nicht lückenlos erklären kann, dann hab ich's auch noch nicht verstanden ... [Donnerstag, 8. Mai 2014] [20:29:32] Muss man verstehen, wenns funktioniert? [Donnerstag, 8. Mai 2014] [20:29:56] Nach dem dritten Bier nicht mehr. [Donnerstag, 8. Mai 2014] [20:30:03] Nee, wenn's funktioniert muss mann's nur noch benutzen und staunen. Dann hat ja schon einer die Arbeit gemacht. [Donnerstag, 8. Mai 2014] [20:30:54] Da war doch mal der Unterschied zwischen Dipl.Ing und Grad.Ing: Währende der eine nicht sagen kann, warum seine Brücke hält, weiß der andere genau, warume seine Brücke nicht hält. [Donnerstag, 8. Mai 2014] [20:31:37] Wenn ich das richtig verstanden habe, funktioniert Deine LED-Kommunikation doch - oder? [Donnerstag, 8. Mai 2014] [20:32:03] Ich hab ja versucht, die Koch-Lösung nachzuprogrammieren, bin dann aber recht schnell gestrandet --- das war die Stelle, daß die amForth ISR zu lang gedauert hat. Es ist mir ein bares Rätsel wie das in dem MSP430 geht. Deswegen bin ich ja auf asm ausgewichen. [Donnerstag, 8. Mai 2014] [20:33:02] Martin: meine Strecke fängt an zu funktionieren --- ich hab diese Woche mich meines logic analyzers erinnert. Und nur 20 Minuten später war es glasklar, daß da was noch ganz im Argen ist. Dann hab ich das geflickt. [Donnerstag, 8. Mai 2014] [20:33:05] mecrisp ist halt ein Native-Code-Forth. [Donnerstag, 8. Mai 2014] [20:33:09] Ich kann jetzt Bytes versenden. [Donnerstag, 8. Mai 2014] [20:33:34] Native Code Forth? Will heissen? [Donnerstag, 8. Mai 2014] [20:34:26] Ja, das compiliert Maschinencode. [Donnerstag, 8. Mai 2014] [20:34:34] Nicht so einen Fädelcode [Donnerstag, 8. Mai 2014] [20:34:56] Da gehen dann die Interrupts erheblich flotter. [Donnerstag, 8. Mai 2014] [20:35:32] (viel Spekulation) Im MSP gibt es drei UART Schnittstellen. Davon sind zwei für den Interruptbetrieb optimiert, D.h. es wird schon viel in Hardware gemacht. Die 'inneren' Interupts sind programmierbar. Aber mehr weiß ich da auch nicht. [Donnerstag, 8. Mai 2014] [20:36:54] Man spart also quasi ein zwei level-of-indirection und die zugehörige Buchhaltung. [Donnerstag, 8. Mai 2014] [20:37:04] Genau. [Donnerstag, 8. Mai 2014] [20:37:16] Dafür ist der Compiler komplizierter als "," [Donnerstag, 8. Mai 2014] [20:37:18] Heisst das, daß mecrisp *komplett* in asm geschrieben ist? [Donnerstag, 8. Mai 2014] [20:37:23] Nein. [Donnerstag, 8. Mai 2014] [20:37:44] Das heißt, dass der Compiler von Mecrisp entweder Calls oder Inline macht. [Donnerstag, 8. Mai 2014] [20:37:56] Und Literals und so ein paar Sachen gleich direkt in Maschinencode umsetzt. [Donnerstag, 8. Mai 2014] [20:38:25] Das geht ganz gut, weil der msp430 mit seiner PDP-11-artigen Architektur wirklich ein einfaches Target ist. [Donnerstag, 8. Mai 2014] [20:38:41] Der ARM Cortex M4 auf dem Stellaris mit seinem Thumb-Befehlsatz ist auch nicht schlecht. [Donnerstag, 8. Mai 2014] [20:38:48] Super einfach ;-) [Donnerstag, 8. Mai 2014] [20:38:50] Matthias: ist das die Geschichte warum Freund Enoch über die Interrupts gemeckert hat, oder ist das noch 'ne andere Baustelle? [Donnerstag, 8. Mai 2014] [20:39:13] *Hinterher* ist alles einfach, die Herren. Nicht vergessen. [Donnerstag, 8. Mai 2014] [20:39:25] Das ist noch eine andere Baustelle. [Donnerstag, 8. Mai 2014] [20:39:51] Martin: EIne PDP11 sollte Dir doch nun wirklich vertraut sein. Alt genug bist Du ;) [Donnerstag, 8. Mai 2014] [20:40:24] Auf dem VCFe haben wir figForth auf einer PDP-11 zum Laufen gebracht. [Donnerstag, 8. Mai 2014] [20:40:41] Soso! Respekt! [Donnerstag, 8. Mai 2014] [20:40:49] Alt genug um zu vergessen ... [Donnerstag, 8. Mai 2014] [20:40:55] Die Kisten laufen heute noch. [Donnerstag, 8. Mai 2014] [20:41:18] 18 MHz, 36 Sekunden für einen Fibonacci-Benchmark. [Donnerstag, 8. Mai 2014] [20:41:26] Jaja Platon: Wir müssen nicht neu lernen, wir müssen uns nur daran errinnern, was wir mal wussten (oder so ähnlich) [Donnerstag, 8. Mai 2014] [20:41:43] Zum Vergleich dazu: Gforth auf dem Galaxy Note II (1,6GHz): 10ms. [Donnerstag, 8. Mai 2014] [20:41:59] Das hat vermutlich auch damit zu tun, daß *alle* Strukturgrößen vom Chip bis zur Kontaktleiste ein bis 10 Nummern größer waren als heutzutage [Donnerstag, 8. Mai 2014] [20:42:33] Meine alte SGI sollt ich auch mal wieder booten ... [Donnerstag, 8. Mai 2014] [20:42:38] Weiß nicht, ich hätte bei 18 MHz zu 1,6GHz nicht den Faktor 3600 vermutet. [Donnerstag, 8. Mai 2014] [20:42:55] Faktor 100 hätte ich für plausibler gehalten. [Donnerstag, 8. Mai 2014] [20:43:06] Ist es nicht so, dass wenn man einen Faden spannt, sich eine gerade Línie ergibt? Ei gewiß, ich erinnere mich! Soviel zu Platons 'herauskitzeln' der Erinnerungen. ... ach das sehe ich ein ... :-) [Donnerstag, 8. Mai 2014] [20:43:34] Aber die PDP-11 hat wahrscheinlich ein Microcode-Programm, das eine Menge Zyklen pro Befehl verbräht, und figForth ist halt nur einfach gefädelt, ohne jede Optiierung. [Donnerstag, 8. Mai 2014] [20:46:22] Welchen der beiden Fibonacci Tests von https://atariwiki.org/wiki/Wiki.jsp?page=Forth%20Benchmarks meint ihr? [Donnerstag, 8. Mai 2014] [20:46:47] PDP-11 war in den 70ern. Da wußte ich nur das es Computer gab. Was das für Dinge waren, habe ich erst später gelernt. [Donnerstag, 8. Mai 2014] [20:46:57] Wir haben beide laufen lassen, den einen bis 1000, den anderen bis 25. Beide brauchen da ungefähr gleich lang. [Donnerstag, 8. Mai 2014] [20:47:52] Der fib1 im Benchmark-Listing ist AFAIK falsch und funktioniert nicht so recht. [Donnerstag, 8. Mai 2014] [20:48:00] Aber wir haben das korrigiert ;-). [Donnerstag, 8. Mai 2014] [20:48:17] Auf figForth sieht der so aus: [Donnerstag, 8. Mai 2014] [20:48:24] Nach meinen Kopien ist der eine Recursiv (-1) und der andere Iterativ. [Donnerstag, 8. Mai 2014] [20:48:35] SGI O2: die erste Festplatte dreht :-) [Donnerstag, 8. Mai 2014] [20:48:35] : fib1 ( n1 -- n2 ) [Donnerstag, 8. Mai 2014] [20:48:37] dup 2 < if drop 1 exit then [Donnerstag, 8. Mai 2014] [20:48:39] dup 1- recurse [Donnerstag, 8. Mai 2014] [20:48:41] swap 2 - recurse + ; [Donnerstag, 8. Mai 2014] [20:48:43] : fib2 ( n1 -- n2 ) [Donnerstag, 8. Mai 2014] [20:48:45] 0 1 rot 0 ?do [Donnerstag, 8. Mai 2014] [20:48:48] over + swap [Donnerstag, 8. Mai 2014] [20:48:49] loop [Donnerstag, 8. Mai 2014] [20:48:51] drop ; [Donnerstag, 8. Mai 2014] [20:48:57] : fib1 dup 2 < IF drop 1 ;s THEN dup 1 - [ smudge ] fib1 swap 2 - fib1 + ; smudge [Donnerstag, 8. Mai 2014] [20:49:12] Genau. [Donnerstag, 8. Mai 2014] [20:49:22] Nur gibt's auf figForth weder EXIT noch RECURSE. [Donnerstag, 8. Mai 2014] [20:49:42] Na, dann ist der Atmega ja richtig flott. Selbst mit dem MIcrocode "ITC FOrth VM" ;) [Donnerstag, 8. Mai 2014] [20:50:47] So sah damals eine CPU aus: https://en.wikipedia.org/wiki/File:PDP-11-M7270.jpg [Donnerstag, 8. Mai 2014] [20:50:57] : fib1-bench 10000 0 do 23 fib1 drop loop ; \ Sollte man zur Vollständigkeit sicher noch anfügen ;) [Donnerstag, 8. Mai 2014] [20:51:22] @ Bernd: Wenn Ihr wollt, kann ich das mal auf dem Legostein mit gforth testen. Bräuchte dann aber gleich den Code fürs Zeitmessem mit. [Donnerstag, 8. Mai 2014] [20:51:52] Wow, eine CPU aus Legosteinen. Sportlich ;) [Donnerstag, 8. Mai 2014] [20:51:52] SGI O2: die zweite Platte dreht auch. Macht n'Krach wie n Kampfjet beim Einparken :->>>> [Donnerstag, 8. Mai 2014] [20:52:08] login ok und ich muss noch nicht mal die Uhrzeit stellen. Boah. [Donnerstag, 8. Mai 2014] [20:52:19] Und die Legomännchen stellen dann die Bits [Donnerstag, 8. Mai 2014] [20:52:37] Das, was Matthias gepostet hat, ist die Variante, die dann auf Gforth auch läuft. [Donnerstag, 8. Mai 2014] [20:53:02] : bench1 ntime 2>r 25 fib1 drop ntime 2r> d- d. ; [Donnerstag, 8. Mai 2014] [20:53:22] Die wahre Welt ist im Kopf! Wenn du das sagst ... [Donnerstag, 8. Mai 2014] [20:53:23] :bench2 ntime 2>r 1000 0 DO i fib2 drop LOOP ntime 2r> d- d. ; [Donnerstag, 8. Mai 2014] [20:54:06] Festplatten? Das klingt heutzutage fast schon nach Vintage Computing ;-) [Donnerstag, 8. Mai 2014] [20:54:40] Ich hab mal einen AIX Cluster aufgebaut. Der hat zum Booten locker 4 Stunden gebraucht. [Donnerstag, 8. Mai 2014] [20:54:57] Da hat man aber auch jede Platte einzeln gehört, beim Hochfahren. [Donnerstag, 8. Mai 2014] [20:55:36] Aber dann hat er alle 40 Minuten einen SETI at Home Workload abgeliefert. [Donnerstag, 8. Mai 2014] [20:56:38] ntime kennt er nicht [Donnerstag, 8. Mai 2014] [20:57:18] utime? [Donnerstag, 8. Mai 2014] [20:57:38] utime ok [Donnerstag, 8. Mai 2014] [20:57:38] Martin: Bitte compilier den git head, Gforth 0.7.x ist so alt, das kenne ich gar nicht mehr ;-) [Donnerstag, 8. Mai 2014] [20:57:58] utime sind Microsekunden, ntime Nanosekunden. [Donnerstag, 8. Mai 2014] [20:58:34] Ich verwende die 'offiziellen' Quellen (apt-get) Es soll ja möglichst einfach nachvollziehbar sein. [Donnerstag, 8. Mai 2014] [20:58:51] Ok. [Donnerstag, 8. Mai 2014] [20:59:38] bench1 177572 [Donnerstag, 8. Mai 2014] [21:00:26] bench2 153931 [Donnerstag, 8. Mai 2014] [21:00:46] Faktor >10 [Donnerstag, 8. Mai 2014] [21:01:33] 177ms statt 36s... das ist >100. Im Vergleich mit der PDP-11 halt. [Donnerstag, 8. Mai 2014] [21:01:45] Ähm - verkuckt. Das war ein Leerzeichen ... [Donnerstag, 8. Mai 2014] [21:01:49] Da ist ein 300MHz-Core drin. [Donnerstag, 8. Mai 2014] [21:02:13] Ich vermute, da sind einige Performance-Probleme drin, die im Gforth git head schon gelöst sind. [Donnerstag, 8. Mai 2014] [21:02:32] Und wahrscheinlich nutzt du gforth, nicht gforth-fast. [Donnerstag, 8. Mai 2014] [21:02:39] Letzteres ist die Production/Benchmark-Engine. [Donnerstag, 8. Mai 2014] [21:02:47] gforth ohne -fast ist zum Debuggen. [Donnerstag, 8. Mai 2014] [21:03:10] Ich werde es probieren. kann ich das quasi 'crosskompilieren' also das gforth für arm auf nem normalen PC? [Donnerstag, 8. Mai 2014] [21:03:32] Ja. [Donnerstag, 8. Mai 2014] [21:03:38] Du brauchst eine ARM-Toolchain. [Donnerstag, 8. Mai 2014] [21:03:51] Kannst Du mir das mailen? [Donnerstag, 8. Mai 2014] [21:03:59] Oder ist die kurz genug für hier? [Donnerstag, 8. Mai 2014] [21:04:54] www.legomindstormsev3.com/ev3-programming/bricxcc/installatiing-g-litetoolchains-ev3/ [Donnerstag, 8. Mai 2014] [21:05:38] Ok, das ist ein Link für die Windows-Variante... [Donnerstag, 8. Mai 2014] [21:05:39] Danke! [Donnerstag, 8. Mai 2014] [21:05:51] Och :-( [Donnerstag, 8. Mai 2014] [21:06:13] Aber das sieht unter Linux nur unwesentlich anders aus... [Donnerstag, 8. Mai 2014] [21:07:01] BTW Der Motor läuft jetzt wie er soll - nur das open braucht beim ersten Mal bestimmt 8 - 10 Sekunden. [Donnerstag, 8. Mai 2014] [21:08:42] Ja, das wirft beim ersten Mal den C-Compiler an... [Donnerstag, 8. Mai 2014] [21:08:53] Das ist nicht das Open selber. [Donnerstag, 8. Mai 2014] [21:10:01] Kann ich das (statisch) im voraus einkompilieren. ich meine da so etwas gelesen zu haben. [Donnerstag, 8. Mai 2014] [21:12:40] Nein, das sollte dann abgespeichert werden, und beim nächsten Mal nicht mehr compilieren. [Donnerstag, 8. Mai 2014] [21:13:31] In temp? [Donnerstag, 8. Mai 2014] [21:14:05] in ~/.gforth/libcc-named [Donnerstag, 8. Mai 2014] [21:14:16] Oder in ~/.gforth/libcc-tmp [Donnerstag, 8. Mai 2014] [21:14:26] Je nachdem, ob du der Library einen Namen gegeben hast oder nicht. [Donnerstag, 8. Mai 2014] [21:14:41] Ich glaube, in 0.7.0 ist es zwingend notwendig, ihr einen Namen zu geben, wenn man das mit dem Caching erfolgreich machen will. [Donnerstag, 8. Mai 2014] [21:15:07] Also: [Donnerstag, 8. Mai 2014] [21:15:14] c-library ev3-helper [Donnerstag, 8. Mai 2014] [21:15:18] c-function open .... [Donnerstag, 8. Mai 2014] [21:15:21] bla bla [Donnerstag, 8. Mai 2014] [21:15:30] end-c-library [Donnerstag, 8. Mai 2014] [21:15:45] Jau! Das ist es [Donnerstag, 8. Mai 2014] [21:15:47] Dann wird das in ~/.gforth/libcc-named/libev3-helper abgespeihert. [Donnerstag, 8. Mai 2014] [21:16:15] Das geht auch alles im git head viel besser ;-) [Donnerstag, 8. Mai 2014] [21:16:35] Wobei auch da meine Empfehlung ist, den Libraries einen Namen zu geben. [Donnerstag, 8. Mai 2014] [21:17:14] git head! ich habe verstanden! Diese WE schaue ich mir die toolchain an. [Donnerstag, 8. Mai 2014] [21:17:29] www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/ [Donnerstag, 8. Mai 2014] [21:17:37] Das ist der Startpunkt für den Download. [Donnerstag, 8. Mai 2014] [21:18:27] Irgendwo musst du Richtung "Light" gehen, die kostet nichts. [Donnerstag, 8. Mai 2014] [21:19:46] Ich bin jetzt schon müde, wenn ich daran denke ;-) [Donnerstag, 8. Mai 2014] [21:19:57] Gut' Nacht! Und Danke! [Donnerstag, 8. Mai 2014] [21:20:31] www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/ [Donnerstag, 8. Mai 2014] [21:20:36] Ach, hatte ich schon... [Donnerstag, 8. Mai 2014] [21:20:41] Gute Nacht! [Donnerstag, 8. Mai 2014] [21:20:48] Ciao Martin! [Donnerstag, 8. Mai 2014] [21:20:54] ciao Martin [Donnerstag, 8. Mai 2014] [21:21:02] Verlassen martin_53 (-quassel@pD953AD04.dip0.t-ipconnect.de) hat diesen Kanal verlassen (http://quassel-irc.org - Chat comfortably. Anywhere.). [Donnerstag, 8. Mai 2014] [21:22:13] Ich habe Matthias Koch dazu überredet SP@/RP@/SP!/RP! in mecrisp-Stellaris einzubauen, damit man wenigstens einen kleinen Multitasker bauen kann. [Donnerstag, 8. Mai 2014] [21:24:02] Wenn ich mich recht erinnere, kannst Du den auf Verlangen auswendig runtertippen --- das hat bei mir ordentlich Eindruck hinterlassen, Meister. [Donnerstag, 8. Mai 2014] [21:24:20] Für Exceptions sind die auch nützlich. [Donnerstag, 8. Mai 2014] [21:24:44] catch und throw sind schon nett. [Donnerstag, 8. Mai 2014] [21:24:55] Genau, an die zwei dachte ich auch. [Donnerstag, 8. Mai 2014] [21:26:00] Du meinst sowas wie [Donnerstag, 8. Mai 2014] [21:26:48] : pause rp@ sp@ save-task ! next-task @ up! save-task @ sp! rp! ; [Donnerstag, 8. Mai 2014] [21:27:34] So, und was mach ich jetzt mit der röhrenden Oxygen2? Irgendwelche konstruktiven Vorschläge? [Donnerstag, 8. Mai 2014] [21:28:09] Heizen? Soll kühl werden die nächsten Tage ;) [Donnerstag, 8. Mai 2014] [21:28:26] Für's Protokoll und den Martin: Aktuelle CodeSourcery-Lite-Toolchain, deep link: https://sourcery.mentor.com/GNUToolchain/package12227/public/arm-none-linux-gnueabi/arm-2013.11-33-arm-none-linux-gnueabi.bin [Donnerstag, 8. Mai 2014] [21:31:30] Auf dem mecrisp wird die User-Area wohl nur aus next-task und save-task bestehen, sonst nix. [Donnerstag, 8. Mai 2014] [21:33:51] Die O2 ist jetzt vermutlich 2 Jahre nicht gelaufen und die Uhr geht grad mal 6 Minuten hinterdrein. Also Hut ab. [Donnerstag, 8. Mai 2014] [21:34:27] Die O2 hat kein ntp beim Hochfahren? [Donnerstag, 8. Mai 2014] [21:34:33] Ich muss die wohl morgen noch mal booten und ein Messgerät dranhängen, ob sich das mit dem Heizen auch lohnt :-) [Donnerstag, 8. Mai 2014] [21:34:47] Nö, hab keins gefunden. [Donnerstag, 8. Mai 2014] [21:34:54] Ich vermute, die hat eine OpenGL-Leistung wie ein billiges Smartphone. [Donnerstag, 8. Mai 2014] [21:35:45] Da ist ein ganz schmales Debian (squeeze) mit 248 installierten Päcklen drauf, [Donnerstag, 8. Mai 2014] [21:38:04] Dann kannst ja mal den Gforth-Benchmark laufen lassen. [Donnerstag, 8. Mai 2014] [21:38:13] Mal sehen, ob das schneller ist als der Lego EV3 Brick ;-) [Donnerstag, 8. Mai 2014] [21:38:21] Sollte eigentlich... [Donnerstag, 8. Mai 2014] [21:38:25] Ah nochwas für Martin: "apt-get simh" bringt auch eine pdp-11 simulation auf die Platte. [Donnerstag, 8. Mai 2014] [21:39:06] Heut nicht mehr, hat schon ausgeföhnt. [Donnerstag, 8. Mai 2014] [21:39:22] Ich verabschiede mich dann mal --- bis demNeXT. [Donnerstag, 8. Mai 2014] [21:39:32] ich auch [Donnerstag, 8. Mai 2014] [21:39:34] dito [Donnerstag, 8. Mai 2014] [21:39:35] Gute Nacht! [Donnerstag, 8. Mai 2014] [21:39:39] * BerndPaysan macht das Licht aus [Donnerstag, 8. Mai 2014] [21:39:42] Verlassen MatthiasT (~mt@dslb-094-220-182-203.pools.arcor-ip.net) hat diesen Kanal verlassen. [Donnerstag, 8. Mai 2014] [21:39:46] Verlassen erwaelde (-user@p5B03747B.dip0.t-ipconnect.de) hat diesen Kanal verlassen (bye).