Forth

Du hast ein Betriebssystem für den Hive geschrieben oder beschäftigst dich mit den grundlegenden Systemfunktionen, dann bist du hier richtig!
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Forth

Beitrag von drohne235 »

Hier die Diskussion über die Idee zu einem Hybrid-Forth von Peter Jakackie:

http://forums.parallax.com/forums/defau ... 5&m=436072
http://tech.groups.yahoo.com/group/micr ... llerforth/

Es geht darum die Vorteile beider Ansätze zu nutzen: die große Menge fertiger Spin Objekte aus dem OBEX und die gute Interaktivität von Forth.
"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
Mandalargon
Beiträge: 28
Registriert: Do 28. Mai 2009, 20:46
Wohnort: Hamburg, Berlin, Leipzig

Re: Forth

Beitrag von Mandalargon »

Das sollte ich mir dann mal genauer ansehen ...

Übrigens vom SPINForth gibt es eine Nachfolgerversion unter der BSD-Lizenz mit Quellcode. Heisst PROPForth, http://code.google.com/p/propforth/ (nicht verwechseln mit dem PropellerForth).

"Oma freut sich zu Weihnachten am meisten über was altmodisches Selbstgemachtes.
Ich programmier' Ihr was in Assembler!" ... "Oh nein, schon wieder selbstgestrickte Sockets!"

http://german-bash.org/289203
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Forth

Beitrag von drohne235 »

Ich habe mir das PropForth mal genauer angeschaut - wäre ja toll auf dem Hive. Es läuft natürlich problemlos erstmal über ein Terminal und die Hostschnittstelle - habe auch zur Probe schonmal eine LED blinken lassen. :)

Der nächste Schritt wäre jetzt die Anpassung an den Hive, indem die Worte emit?, emit, key? und key statt der seriellen Schnittstelle Bellatrix nutzen. Eine passende Anleitung findet man im Wiki des Projektes:

http://code.google.com/p/propforth/wiki ... gPropForth

Wenn ich es richtig verstehe läuft eine Änderung folgendermaßen ab:

- Flash mit einem Filesystem präparieren (f_clear).
- Spinmaker per Copy/Past in dieses Flash-Dateisystem schreiben.
- Alle neuen Wörter (außer den Kernwortschatz) mit "forget build0" aus dem Wörterbuch löschen.
- Alle neuen (und evtl. modifizierten Wörter) in das Forth-System Compilieren - auch wieder per Copy/Past über das Terminalprogramm. Der gesamte Wortschatz befindet sich in den beiden Dateien "PropForthPart1/2".
- Im nächsten Schritt wird per "load spinmaker" auch spinmaker compiliert.
- Führt man nun das Wort spinmaker aus, werden alle neuen Wörter in einen SPIN-Quelltext gewandelt, auf der Konsole ausgegeben und müssen in den PropForth-Quelltext eingefügt/ersetzt werden.
- So, jetzt braucht man das PropForth nur noch per Propellertoolflashen bzw. eine BIN-Datei erstellen und fertig ist das neue System. :)

Eigentlich ganz einfach, funktioniert aber bei mir nicht. Habe ich da was falsch verstanden, hat das schon jemand mal versucht? Grundsätzlich habe ich dabei zwei Probleme:

1. Wenn ich die Spinmakerdatei im Flash erstellen will, kann ich sie mit "list" nicht anzeigen.
2. Es gibt kein Wort "build0" im System!?

Jemand eine Idee dazu?
"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
prof_braino
Beiträge: 82
Registriert: Mi 4. Aug 2010, 03:39
Wohnort: Chicago

Re: Forth

Beitrag von prof_braino »

Hallo Alle

Ich habe gerade diesen Thread, ich werde versuchen, einige Informationen hinzufügen, aber wahrscheinlich mit Fehlern. Die Google-Übersetzung kann noch schlimmer machen.

Cliffe Biffle gestoppt Veröffentlichung der Ergebnisse nach seinem ersten Beitrag im Jahr 2008.

Pete Jakackie hat einige interessante Ideen, aber noch keine, die ich finden konnte, veröffentlicht.

Sal Sanci entwickelt Spinforth mit dem Spin-ROM-Code, aber dieser erwies sich als zu langsam und nicht anders unsatifactory für seine NEDS.

Sal entwickelt propforth erhielt aber keine Rückmeldung, und übernahm niemand interessiert war und nicht mehr veröffentlichen.

Mein Beitrag war es, einen Code Walkthrough mit Sal Anfrage. Wir haben festgestellt, dass es einen Unterschied in der Hardware-EEPROM er conpared verwendet die von der

Standardhardware, die in der saveforh Wort führte Absturz beim Schreiben ins EEPROM. Dies wurde korrigiert, und wir bemerkten eine Zunahme der Nutzer. Sal hat mich akzeptiert

auf dem Entwicklungs-Team. Sal ist die Low-Level-Programmierung, kann ich die Prüfung und Releases.

Mein Ziel ist es, eine kostengünstige erstellen, Stand-alone-Embedded-System-Entwicklungsumgebung (meine Kinder Robotik-Team). Ich habe das prop ausgewählten Hardware für verschiedene

Gründe. Ich habe es jetzt seit propforth unterstützt wird, ausgewählt. Die Idee ist, Jupiter - Typ ACE-System läuft auf dem gleichen Gerät, das in der gewohnt haben

Target Embedded Systems.

Die propforth Kernel mit serieller Schnittstelle Benutzeroberfläche verwendet cog7 zu communicaqtions zwischen dem Benutzer und alle Rädchen läuft her 0-7 Griff. Die Kommunikation ist

so dass cog7 kümmert sich nicht, wenn die cog7 ist auf dem lokalen Chip oder einem separaten Chip, so MULTIPROP Konfigurationen sollte einfach sein.

Es ist ein Assembler, ein Disassembler, ein Debugger und ein Software-Logikanalysator in den einzelnen prop Standard-Paket, aber die Dokumentation noch nicht gründlich

gerichtet. User Input wird gebeten.

Die Low-Resolution-VGA-Text ist in der Beta, sondern ist als eine optionale Kernel-Erweiterung zur Verfügung gestellt. Über 32x15 Zeichen erwartet.

Die Hallo-Resolution VGA Unterstützung für ein Standalone-System mit 128x64 Zeichen angezeigt benötigt den Großteil der Ressourcen eines Vorschlags. Derzeit ist die Anzeige

zeigt die Interaktion mit cog 3 in der oberen Hälfte und in der cog3 Botom Hälfte von default. Seine cool zu sehen, beide Schnittstellen Betriebssysteme unabhängig voneinander auf der

demselben Bildschirm.

Sal hat Ethernet-Unterstützung, bu es ist noch nicht freigegeben in der Standard-Kernel. Es sollte bereit sein, für TH-Hive JupiterAce freizugeben.

Der Plan ist es, Ideen aus colorforth leihen. Die Funktionalität wird in das Wörterbuch on the fly als geladen werden musste, und vergessen sein, wenn die Funktion Completes.

Dies sollte immer der Kernel Footprint klein. Wenn dies gelingt, könnte das Hive-Konfiguration haben 1,5 extra Stützen beim Laufen Hive JupiterACE propforth.

Die anschließende Plan ist es, die zusätzlichen Kerne für parallex verteilte Verarbeitung verwenden. Der Ausgangspunkt wird ähnlich sein wie Linda her

http://www.ultratechnology.com/4thlinda.html und parallel her http://www.ultratechnology.com/4thpar.html # p4th. Aber dies ist abhängig vom Grad des Erfolges

mit den aktuellen Projekten.

Das Projekt ist offen für die Teilnahme an niemanden in irgendeiner Eigenschaft. Wir haben keine zweisprachig Deutsch - Englisch Mitglieder zu diesem Zeitpunkt.

-----------------------------------------

Hi All

I just found this thread, I will try to add some information, but probably with errors. The google translation may make it worse.

CLiffe Biffle stopped publishing results after his first post in 2008.

Pete Jakackie has some interesting ideas but has not published any that I could find.

Sal Sanci developed Spinforth using the ROM spin code but this proved to be too slow and otherwise unsatifactory for his neds.

Sal developed propforth but recieved no feedback, and assumed no-one was interested, and stop publishing.

My contribution was to request a code walkthrough with Sal. We determined that there was a hardware difference in the EEPROM he used conpared to the off the

shelf hardware which resulted in the saveforh word crashing when writing to EEPROM. This was corrected, and we noticed an increase in users. Sal has accepted me

on the development team. Sal does the low-level coding, I do the testing and releases.

My goal is to create a low cost, stand-alone embedded system development environment (to team my kids robotics). I have selected the prop hardware for various

reasons. I have selected propforth since it is now supported. The idea is to have Jupiter - ACE type system running on the same device that resided in the

target embedded system.

The propforth kernel with serial port user interface uses cog7 to handle communicaqtions between the user and any cog running forth 0-7. The communication is

such that cog7 does not care if the cog7 is on the local chip or a separate chip, so multiprop configurations should be easy.

There is an assembler, a disassembler, a debugger, and a software logic analyzer in the single prop default package, but the documentation has not be thoroughly

addressed. User input is requested.

The low-resolution vga text is in beta but is to be provided as an optional kernel extension. About 32x15 characters is expected.

The Hi-Resolution VGA support required for a standalone system with 128x64 character displayed takes most of the resources of a prop. Currently, the display

shows interaction with cog 3 in the top half and cog3 in the botom half by default. Its cool to see both interfaces operating independantly of each other on the

same screen.

Sal has ethernet support, bu it is not yet released in the standard kernel. It should be ready for th Hive-JupiterAce release.

The plan is to borrow ideas from colorforth. Functionality will be loaded into the dictionary on the fly as needed, and be forgotten when the function comletes.

This should keep the kernel footprint small. If successful, the Hive configuration could have 1.5 extra props when running Hive JupiterACE propforth.

The subsequent plan is to use the extra cores for parallex distributed processing. The starting point will be similar to forth linda

http://www.ultratechnology.com/4thlinda.html and parallel forth http://www.ultratechnology.com/4thpar.html#p4th. But this is dependant on the degree of success

with the current projects.

The project is open for participation to anyone in any capacity. We have no bi-lingual German - English members at this time.

-----------------------------------------------
BorgKönig
Beiträge: 598
Registriert: So 24. Mai 2009, 11:24

Re: Forth

Beitrag von BorgKönig »

hello braino,

I have copied your contribution here in order to have English-speaking members share your knowledge. Please continue to lead there your contribution.
---
ich habe dein beitrag hierher kopiert, um englisch sprechende mitglieder an deinen erkenntnissen teilhaben zu lassen. bitte führe dort dein beitrag weiter.
Antworten