spinix ... oder : Sprachlos vor'm Propeller

Offtopic Themen bitte hier hinein.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

spinix ... oder : Sprachlos vor'm Propeller

Beitrag von yeti »

"Der Meister" hat mal wieder zugeschlagen: http://forums.parallax.com/showthread.php?123795

Code: Alles auswählen

spinix 0.72 March 27, 2012
/$ ls
bin           demos         license.txt   manpages      spasm

/$ cd demos

/demos$ ls
lerner        filetest      vga_512       fibo          vgatest
hello1        hello2        dry

/demos$ fibo
hello, world!
fibo(00) = 000000 (00000ms) (1104 ticks)
fibo(01) = 000001 (00000ms) (1104 ticks)
fibo(02) = 000001 (00000ms) (1488 ticks)
fibo(03) = 000002 (00000ms) (1872 ticks)
fibo(04) = 000003 (00000ms) (2624 ticks)
fibo(05) = 000005 (00000ms) (3760 ticks)
fibo(06) = 000008 (00000ms) (5648 ticks)
fibo(07) = 000013 (00000ms) (8672 ticks)
fibo(08) = 000021 (00000ms) (13584 ticks)
fibo(09) = 000034 (00000ms) (21520 ticks)
fibo(10) = 000055 (00000ms) (34368 ticks)
fibo(11) = 000089 (00000ms) (55152 ticks)
fibo(12) = 000144 (00001ms) (88784 ticks)
fibo(13) = 000233 (00001ms) (143200 ticks)
fibo(14) = 000377 (00002ms) (231248 ticks)
fibo(15) = 000610 (00004ms) (373712 ticks)
fibo(16) = 000987 (00007ms) (604224 ticks)
fibo(17) = 001597 (00012ms) (977200 ticks)
fibo(18) = 002584 (00019ms) (1580688 ticks)
fibo(19) = 004181 (00031ms) (2557152 ticks)
fibo(20) = 006765 (00051ms) (4137104 ticks)
fibo(21) = 010946 (00083ms) (6693520 ticks)
fibo(22) = 017711 (00135ms) (10829888 ticks)
fibo(23) = 028657 (00219ms) (17522672 ticks)
fibo(24) = 046368 (00354ms) (28351824 ticks)
fibo(25) = 075025 (00573ms) (45873760 ticks)
fibo(26) = 121393 (00927ms) (74224848 ticks)

/demos$ dry

Dhrystone Benchmark, Version C, Version 2.2
Program compiled without 'register' attribute
Using STDC clock(), HZ=80000000

Trying 5000 runs through Dhrystone:
Measured time too small to obtain meaningful results

Trying 50000 runs through Dhrystone:
Final values of the variables used in the benchmark:

Int_Glob:            5
        should be:   5
Bool_Glob:           1
        should be:   1
Ch_1_Glob:           A
        should be:   A
Ch_2_Glob:           B
        should be:   B
Arr_1_Glob[8]:       7
        should be:   7
Arr_2_Glob[8][7]:    55010
        should be:   Number_Of_Runs + 10
Ptr_Glob->
  Ptr_Comp:          27472
        should be:   (implementation-dependent)
  Discr:             0
        should be:   0
  Enum_Comp:         2
        should be:   2
  Int_Comp:          17
        should be:   17
  Str_Comp:          DHRYSTONE PROGRAM, SOME STRING
        should be:   DHRYSTONE PROGRAM, SOME STRING
Next_Ptr_Glob->
  Ptr_Comp:          27472
        should be:   (implementation-dependent), same as above
  Discr:             0
        should be:   0
  Enum_Comp:         1
        should be:   1
  Int_Comp:          18
        should be:   18
  Str_Comp:          DHRYSTONE PROGRAM, SOME STRING
        should be:   DHRYSTONE PROGRAM, SOME STRING
Int_1_Loc:           5
        should be:   5
Int_2_Loc:           13
        should be:   13
Int_3_Loc:           7
        should be:   7
Enum_Loc:            1
        should be:   1
Str_1_Loc:           DHRYSTONE PROGRAM, 1'ST STRING
        should be:   DHRYSTONE PROGRAM, 1'ST STRING
Str_2_Loc:           DHRYSTONE PROGRAM, 2'ND STRING
        should be:   DHRYSTONE PROGRAM, 2'ND STRING

Microseconds for one run through Dhrystone: 143 
Dhrystones per Second:                      6983 


/demos$ cd ..

/$ cd bin

/bin$ ls -l
-rwx   5184 mv
-rwx   5424 man
-rwx   5400 tail
-rwx   5276 rm
-rwx   5064 reboot
-rwx   5164 cd
-rwx   1944 rb
-rwx   5100 echo
-rwx   5120 config
-rwx   5036 mkdir
-rwx   6024 sb
-rwx   6344 ls
-rwx   5512 cat
-rwx   5552 chmod
-rwx   5788 cp
-rwx   5344 head
-rwx   5168 pwd
-rwx   5216 kill
-rwx   5764 od
-rwx   5068 halt
-rwx   7060 tar
-rwx   8280 shell
-rwx   5176 linefeed
-rwx   6428 loadi2c
-rwx   5368 more
-rwx   7736 ed
-rwx   5300 ps
-rwx   7524 diag
-rwx   6376 diff
    29 files, 163740 bytes

/bin$ ps
# Type Mode Addr  Size Name
- ---- ---- ---- ----- ----
0 SPIN BACK 2bf0  9116 /bin/shell
1 PASM DRVR 0000     0 serial I/O
2 PASM DRVR 0000     0 SPI Driver
3 SPIN BACK 5208 10688 kernel.binary
4 SPIN FORE 1404  6120 ps

/bin$ halt
Halting
Ein Assembler ist bereits enthalten, ein Spincompiler für Spinix soll folgen und GCC-Kompilate soll Spinix auch starten können... habe ich aber noch nicht verifiziert...

----------
Edit 2012-03-29: Thread-Titel ent-C3-t... siehe unten...
Zuletzt geändert von yeti am Do 29. Mär 2012, 07:59, insgesamt 1-mal geändert.
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: spinix ... oder : Sprachlos vor'm C3

Beitrag von yeti »

Ok... ich suchte vergeblich einen #define im Code um zwischen C3-Spezifika und normaler SPI-Ansteuerung umzuschalten aber fand nix außer ein paar Assemblerzeilen die das scheinbar zur Laufzeit erkennen können.

Also den Gadget-Gangster-Propeller-Plattform-USB-SD-Clone aus Hong-Kong gegriffen und den Bootloader geflasht, die Pins beim ersten Boot eingegeben (0, 1, 2, 3 in dieser Reihenfolge) und Spinix kam hoch. Dann noch ...

Code: Alles auswählen

echo linefeed on >>_startup
... und fertig!

Ich änder also mal den Threadtitel von "spinix ... oder : Sprachlos vor'm C3" auf "spinix ... oder: Sprachlos vor'm Propeller" damit Nicht-C3-ler diesen Thread nicht übergehen... :D
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: spinix ... oder : Sprachlos vor'm Propeller

Beitrag von TuxFan »

Hallo!
Nöööööö, wurde nicht übersehen......
Das System hab ich mal nach ein paar Anlaufschwierigkeiten auf einen meiner SoMProps installiert und werde das mal weiterhin im Auge behalten. Komplette Neukompilierung unter Linux war notwendig wegen des 10MHz-Quartzes auf dem SoMProp. Einige Tests liefen ordnungsgemäß. Ich versuch jetzt mal andere kleine Programme zu installieren. Warum wieder mal auf fsrw aufgebaut wird und nicht auf der mMn besseren FATEngine verstehe ich allerdings nicht so ganz.
Für den C3 scheint nur die Eingabe der in readme.txt vorgegebenen PIN-Nummern ausreichend zu sein. Anscheinend kann mit dieser etwas eigenen Kombination erkannt werden ob ein C3 vorliegt.
Die Änderung der Quartzfrequenz war auch nur an einer Stelle nötig soweit mir das aufgefallen war.

Gruß
TuxFan

PS.: Die automatische Erkennung funktionierte bei meinem C3-SPI-Bus Anhänger für den SoMProp nicht.
Zuletzt geändert von TuxFan am Fr 30. Mär 2012, 18:48, insgesamt 1-mal geändert.
Wunder gibt es immer wieder.......
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: spinix ... oder : Sprachlos vor'm Propeller

Beitrag von yeti »

Dave scheint die fsrw-Engine zu bevorzugen... auch in SphinxOS... und in Spinsim modelliert er die simulierte FileIO auch nach dieser API...
Warum?
Vielleicht ist sie schlicht schlanker?
Vielleicht ist er schlicht vetrauter mit ihr und sie hat genug Features?
Never run a changing system?

Fraaaagen über Fraaaagen... frag ihn doch einfach mal... :-D
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: spinix ... oder : Sprachlos vor'm Propeller

Beitrag von TuxFan »

TuxFan hat geschrieben:.......PS.: Die automatische Erkennung funktionierte bei meinem C3-SPI-Bus Anhänger für den SoMProp nicht.
Wenn man so beschränkt :roll: ist clr- und inc-Pin für den C3-Chipselect zu verwechseln, kann das ja auch nicht klappen. :oops:
Richtig angeschlossen und es funktioniert....... :D

Also geschieht die C3-Erkennung nur über die PIN-Eingabe !

Gruß
TuxFan
Wunder gibt es immer wieder.......
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: spinix ... oder : Sprachlos vor'm Propeller

Beitrag von TuxFan »

TuxFan hat geschrieben:....Wenn man so beschränkt :roll: ist clr- und inc-Pin für den C3-Chipselect zu verwechseln, kann das ja auch nicht klappen. :oops:
Richtig angeschlossen und es funktioniert.......
Warum ist mir das passiert ? :?
Im "Unleashing the Propeller C3" Ver.1.0 steht in der Tabelle 2.5 an die ich mich zuerst gehalten habe :
SPI_SEL_CLK an Pin P25 des Propellers (entspricht dem Inc-Signal)
SPI_SEL_CLR an Pin P8 des Propellers
Dies entspricht aber nicht dem Bild (Figure) 2.4. Hier sind die Anschlüsse anders angegeben :
SPI_SEL_CLK an Pin P8 des Propellers (entspricht dem Inc-Signal)
SPI_SEL_CLR an Pin P25 des Propellers
Die Darstellung/Bezeichnung in Bild 2.4 ist wohl die richtige, da mit dieser Beschaltung Spinix auf dem SoMProp mit C3-SPI-Bus-Anhänger auf dem Steckbrett funktioniert.

Mal ein kleines Bild vom SoMProp mit und ohne C3-SPI-Bus-Anhänger. Auf beiden läuft Spinix072.

Gruß
TuxFan
Dateianhänge
Unten : SoMProp mit bordeigener Micro-SD-card<br />Oben : SoMProp mit SD-Card auf dem C3-SPI-Bus-Anhänger, die bordeigene Micro-SD wird nicht benutzt.
Unten : SoMProp mit bordeigener Micro-SD-card
Oben : SoMProp mit SD-Card auf dem C3-SPI-Bus-Anhänger, die bordeigene Micro-SD wird nicht benutzt.
Wunder gibt es immer wieder.......
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: spinix ... oder : Sprachlos vor'm Propeller

Beitrag von drohne235 »

Klingt alles sehr interessant. Habt ihr mal in die Quellen von spinix geschaut? Was für einen Eindruck habt ihr, welchen Aufwand würde eine Anpassung für den Hive machen?
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: spinix ... oder : Sprachlos vor'm Propeller

Beitrag von TuxFan »

Hi!
Auf der Suche nach etwaigen Einstellungen, wie z.B. Quartzfrequenz, hab ich nur einen kurzen Blick auf den sourcecode geworfen. Ob sich das schnell auf den Hive umsetzen läßt, kann ich im Moment nicht beurteilen. Aber einige Ansätze zur Einbindung von Apps scheinen mir äußerst interessant zu sein. Wenn ich besser mit der Grafik für das G-OS klarkomme werde ich da mal genauer hinschauen um vielleicht etwas zu assimilieren ;) . Auf jeden Fall werde ich die Spinix-Entwicklung weiterhin interessiert verfolgen.

Gruß
TuxFan
Wunder gibt es immer wieder.......
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: spinix ... oder : Sprachlos vor'm Propeller

Beitrag von yeti »

TuxFan hat geschrieben:Ob sich das schnell auf den Hive umsetzen läßt, kann ich im Moment nicht beurteilen.
Gemach... erstmal in Ruhe 'ne Weile mit Spinix spielen...

In der neuen Version soll sich laut MSG IM HINTERGROSSTEICHLERFORUM Etwas an der Benutzbarkeit des Editors getan haben.

Ich muß aber erst ein paar Real-Life-Sachen schaffen bevor ich's ausprobieren kann... :(
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: spinix ... oder : Sprachlos vor'm Propeller

Beitrag von yeti »

OOOOoookay...

Statt das Verdauungskoma zu zelebrieren habe ich also das GGPP-USB-SD-Clone-Board mit Spinix080 beglückt...

Code: Alles auswählen

spinix 0.80 April 1, 2012
/$ echo linefeed on >>_startup
... ok ... danach also Reboot, damit das aktiv wird, 'linefeed on' manuëll täte es ebensogut, aber das fiel mir erst beim Kommentieren der Logs auf...

Code: Alles auswählen

/$ reboot
Rebooting
spinix 0.80 April 1, 2012
/$ vi _startup
Überraschung:

Code: Alles auswählen

@shell
alias "dir=ls -l"
alias type=cat
alias del=rm
alias copy=cp
alias ren=mv
alias "ll=ls -l"
linefeed on
~
~
~
~
~
~
~
~
~
~
~
~
~
line 8, column 12, 8 lines, _startup
Wenn das XTerm auf 80*22 steht paßt die Ausgabe... warum gerade 22 Zeilen, das weiß der große Meister alleine...

Der @ ist der Cursor... Pfeiltasten? Pustekuchen! Klassische vi-Manöver per h, j, k, l sind angesagt zum Rumgurken im Quelltext... aber das wissen wir ja alle im Schlaf welche Kommandos vi auf den dümmsten Terminals haben will...

ted ist nun der ed der vorherigen Spinix-version und ed dieser Version ist gegnüber ted erweitert worden. Dies zu erforschen bleibt dem geneigten Leser überlassen.

Ein Cheatsheet für vi neben der Tastatur liegen haben scheint mir aber erstmal spannender...

Jetzt brauch ich nur noch emacs auf Spinix und ich bin glücklich... naaaa guuuuut... zile oder jmacs tun's auch... :)
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Antworten