Hobby-OS der Forumsteilnehmer



  • Hallo,

    Erhard Henkes schrieb:

    Ist die Entwicklung einer eigenen Plattform incl. OS nicht etwas übertrieben?

    Nö, find ich nicht. Es kommt eben auf die Zielvorstellung an. Ich will Segmentierung und die hat keine aktuelle CPU mehr (ja ich weis es gibt bei x86 noch ein paar halbherzige Ansätze die aber mit dem Übergang auf 64 Bit wieder vergessen sind und PowerPC hatte auch mal etwas sehr bescheidenes in dieser Richtung zu bieten).

    Erhard Henkes schrieb:

    Man kann ein OS doch so entwickeln, dass es mit einer HAL auf einem PC läuft. Die HAL ersetzt man später durch schnellere Hardware+HAL.

    Ich weiß zwar nicht was Du in diesem Fall mit HAL konkret meinst, ich wüste echt nicht wie man Segmentierung auf Flat-Memory abbilden sollte (höchstens umgekehrt da der Speicher innerhalb eines Segments ja flach ist). Ich denke der einzigst machbare Weg ein OS mit Segmentierung auf einer Plattform ohne Segmentierung laufen zu lassen ist ein Simulator. Da auch der Befehlssatz von x86 (im 32 Bit Modus) keine wirklich überzeugende Unterstützung für Segmentierung enthält ist es IMHO absolut logisch gleich eine komplett neue Plattform zu entwickeln. Dabei kann man auch alle möglichen anderen Probleme über Board werfen. An der etablierten x86 Plattform missfällt mir persönlich besonders das IRQ-Sharing (ich will voll auf MSI setzen), das BIOS (auf meiner Plattform soll es keins geben sondern das OS wird nach einem minimalen BootUp-Code direkt aus einem Flash gestartet) und so idiotische Sachen wie das A20-Gate (das weder Intel noch AMD den Mut haben das endlich abzuschaffen wundert mich sehr) oder DMA-Controller (heutige Hardware kann BUS-Mastering).

    Der wichtigste Grund ist für mich aber die Herausforderung. Ich fühle mich dieser gewachsen und hoffe das ich auch Erfolg hab.
    Ich gehe nicht davon aus das mein OS auch nur annähernd so viele Features erreicht wie einige andere Hobby-OSe, es würde mir reichen wenn ich einfache Programme portieren kann.

    Grüße
    Erik



  • Ich bin mal gespannt, wie die Hardware und Software aussehen wird. Hast Du eine Homepage, worauf Du dein Projekt dokumentierst?



  • @erik.vikinger: Ich verstehe nicht, was Du unter Segmentierung meinst 😕 Was ist MSI? Was ist BUS-Mastering? Und Intel und AMD haben nichts mit dem A20 Gate zu tun. Sie liefern "bloss" CPUs aus und diese brauchen kein A20 Gate...

    Es ist zwar schön und gut, dass Du viel VHDL Code geschrieben hast. Aber nichts kompilierbares und synthetisierbares zu schreiben, ist aber irgendwie... wozu 😕 Du weisst ja nicht einmal, welchen FPGA Du nehmen könntest 😕 Hast ja dann auch keine Erfahrung mit lauffähigen Schaltungen oder reale lauffähige Schaltungen in VHDL zu beschreiben... und das ist nicht ohne.



  • Hallo,

    abc.w schrieb:

    Ich verstehe nicht, was Du unter Segmentierung meinst

    siehe mal http://en.wikipedia.org/wiki/X86_memory_segmentation

    abc.w schrieb:

    Was ist MSI?

    siehe http://en.wikipedia.org/wiki/Message_Signaled_Interrupts, das macht die klassischen IRQ-Leitungen überflüssig weil die HW sich mit einem Speicher-Schreib-Zugriff in einen kleinen Speicherbereich des IRQ-Controllers direkt bemerkbar macht. Eigentlich kann das heutzutage fast jeder PC, es wird nur fast nie verwendet weil es immer noch Hardware-Komponenten (z.B. USB-Host-Controller) gibt die kein MSI unterstützen.

    abc.w schrieb:

    Was ist BUS-Mastering?

    Wenn die Hardware selber aktiv in den Arbeitsspeicher schreiben kann. Ein heutiger LAN-Controller packt die empfangenen Ethernet-Frames direkt in den RAM und gibt dann erst einen IRQ (mit MSI ist das sogar konsistenter) damit der Treiber das Ethernet-Frame sofort verarbeiten kann. Die CPU einfach nur mit dem kopieren von Bytes zu beschäftigen ist pure Verschwendung.

    abc.w schrieb:

    Und Intel und AMD haben nichts mit dem A20 Gate zu tun. Sie liefern "bloss" CPUs aus und diese brauchen kein A20 Gate...

    Nein, Intel und AMD liefern komplette Plattformen, CPU + Chipsatz und ne Menge drum herum. Alle aktuellen x86 CPUs haben noch ein A20-Gate-Anschluss (sogar im MAC).

    abc.w schrieb:

    Es ist zwar schön und gut, dass Du viel VHDL Code geschrieben hast. Aber nichts kompilierbares und synthetisierbares zu schreiben, ist aber irgendwie... wozu 😕

    Hast Du noch nie beim Projektstart erst mal ein paar zusammenhanglose Komponenten programmiert um sie einzeln zu debuggen/testen und erst später daraus was ganzes zu bauen?

    abc.w schrieb:

    Du weisst ja nicht einmal, welchen FPGA Du nehmen könntest 😕

    Doch weiß ich.

    abc.w schrieb:

    Hast ja dann auch keine Erfahrung mit lauffähigen Schaltungen oder reale lauffähige Schaltungen in VHDL zu beschreiben... und das ist nicht ohne.

    Woher willst Du wissen wie viel Erfahrung ich mit VHDL, FPGAs oder Platinenlayout habe? 😕
    Ich könnte da eventuell auch etliche Jahre Erfahrung aus meinem Berufsleben (und mehreren privaten Projekten) haben mit unterschiedlichsten Projekten wie einer Beschriftungslasersteuerung, einer Steuerung für die Röntgenröhre in einem medizinischem Röntgengerät oder einer CCD-Sensor-Ansteuerung für eine HD-TV-Kamera. Ist doch zumindest theoretisch möglich, oder sprechen da irgendwelche Gründe dagegen?

    Grüße
    Erik


  • Mod

    Du weisst ja nicht einmal, welchen FPGA Du nehmen könntest 😕
    Doch weiß ich.

    Kannst Du Dich da bitte etwas näher auslassen, sicherlich interessant. 🙂



  • Hallo,

    Erhard Henkes schrieb:

    Kannst Du Dich da bitte etwas näher auslassen, sicherlich interessant.

    Ich möchte die Spartan-6 LXT FPGAs einsetzen. Vor allem wegen dem eingebauten "Memory interface controllers blocks" die bis DDR3-800 (also 400MHz, pur in Logik währe das wohl nicht machbar) können und den "3.125 Gbps GTP transceivers" um die einzelnen Komponenten (ich möchte mehr als eine CPU und dazu kommt dann noch eine Art North-Bridge die u.a. ein PCIe-Root-Complex enthalten soll) zu verbinden.
    Ob ich mir zum spielen das http://www.xilinx.com/products/devkits/EK-S6-SP605-G.htm besorge weiß ich noch nicht, kostet zwar einiges Geld macht es aber bestimmt einfacher sich mit den einzelnen Features dieser FPGA-Familie vertraut zu machen.

    Grüße
    Erik



  • erik.vikinger schrieb:

    ...Ob ich mir zum spielen das http://www.xilinx.com/products/devkits/EK-S6-SP605-G.htm besorge weiß ich noch nicht, kostet zwar einiges Geld macht es aber bestimmt einfacher sich mit den einzelnen Features dieser FPGA-Familie vertraut zu machen.

    Hobbymässig ist das vielleicht interessant, aber, von der anderen Seite betrachtet, wer kann sich so ein Ding normalerweise leisten. Und, angenommen, irgendwann mal hast Du Deine CPU realisiert, Firmware geschrieben, eine Art OS programmiert usw., aber wer wäre dann in der Lage, Deine Ergebnisse zu reproduzieren...
    Ich hatte auch mal 180 Euro für ein Spartan 3e Starter Kit ausgegeben. LEDs angesteuert, RS323 programmiert, Tasten entprellt, LCD Display angesprochen, eine oder zwei CPUs implementiert ("CPU" ist vielleicht übertrieben, eher "Zustandsautomaten, die 5 Befehle können") und sonst... nun ja, liegt das Ding bei mir seit zwei Jahren rum...



  • Hallo,

    abc.w schrieb:

    aber wer wäre dann in der Lage, Deine Ergebnisse zu reproduzieren...

    Jemand der in der Lage ist ein passendes FPGA-Board zu fertigen (wahrscheinlich werde ich Schaltpläne und Layout mit freigeben) oder meinen Simulator zu benutzen. Außerdem wird man sicherlich auch einige Komponenten/Konzepte anderswo verwerten können. Außerdem wird mein Weg dahin nicht spurlos an anderen Dingen vorüberziehen. Ich muss z.B. einen C-Compiler portieren (momentan tendiere ich zum LLVM) und dafür werde ich mich mit dessen Entwicklern auseinander setzen müssen, das beeinflusst sicher nicht nur mich sondern auch diese Entwickler ein klein wenig. Wenn ich ein kleines Tool portieren muss finde ich vielleicht ein Problem darin und muss es beheben, davon hat das Tool auch was. Und das erhabene Gefühl der einzigste in meiner Straße zu sein der eine eigene Computerplattform hat (auf der man vielleicht sogar ein simples Spielchen spielen kann) ist mir auch was wert. Und als Referenz bei einer zukünftigen Bewerbung um ein Projekt kann es vielleicht auch was nutzen. Wenn ich nicht privat mit der FPGA-Programmierung angefangen hätte und es zu einem funktionsfähigem PCI-Gerät gebracht hätte würde ich das heute wohl nicht beruflich machen.

    abc.w schrieb:

    ... nun ja, liegt das Ding bei mir seit zwei Jahren rum...

    Das selbe Schicksal droht doch den meisten Hobby-Projekten. Auch das hier diskutierte "Hobby-OS der Forumsteilnehmer" wird mit hoher Wahrscheinlichkeit nicht mehr als ne Hand voll Leute erreichen (falls diese gezielt nach einem OS-Dev-Tutorial suchen) und ansonsten auf der Festplatte weniger Leute verstauben. Etwas einfach ausprobieren zu können ist kein Garant dafür auch Interessenten zu finden. OS-Entwicklung ist schon reichlich exotisch und die Entwicklung einer richtigen Plattform noch viel exotischer.
    Mein Spartan 2 PCI-Board hab ich auch schon seit 4 Jahren nicht mehr in der Hand gehabt und es hat trotzdem viel Spaß gemacht damit zu experimentieren. Aber vielleicht muss ich mir das Spartan 6 Board gar nicht selber zulegen und hab im Job das Vergnügen mich mit dem Spartan 6 näher zu beschäftigen.

    Grüße
    Erik



  • abc.w schrieb:

    aber wer wäre dann in der Lage, Deine Ergebnisse zu reproduzieren...

    das kannst Du da auch sagen http://www.mycpu.eu/, auch ich könnte das nicht so einfach nachbauen


  • Mod

    @erik.vikinger: Mit deinen speziellen Ideen und vielfältigen Fähigkeiten bezüglich Hardware und OS-Software wärst Du vielleicht im (Hobby-)Robotik-Bereich von mehr gleichgesinnten Bastlern als hier umgeben.
    http://www.roboternetz.de/ (allgemeine Wissensbasis und Forum)
    http://www.henkessoft.de/Roboter/Roboter.htm
    http://asurowiki.de/index.html (asuro)
    http://www.nicai-systems.de/nibo.html (nibo2)



  • erik.vikinger schrieb:

    abc.w schrieb:

    aber wer wäre dann in der Lage, Deine Ergebnisse zu reproduzieren...

    das kannst Du da auch sagen http://www.mycpu.eu/, auch ich könnte das nicht so einfach nachbauen

    Ok... aber man kann da einen Bausatz kaufen. Die CPU ist auch nicht einfach so auf der Lochrasterplatine aufgebaut, man kann sich die Layout-Daten runterladen und eigene Platinen ätzen und die Schaltung mit einem 30W Schlitz-Lötkolben zusammenlöten, weil alles DIP Gehäuse usw. Und die Bauteile sind alles TTL oder EPROMs, die man überall kaufen kann 😉


  • Mod

    Wir leben hier von der Vielfalt verschiedenster Ideen, die im Zusammenspiel neue Wege aufzeigen können.



  • abc.w schrieb:

    aber wer wäre dann in der Lage, Deine Ergebnisse zu reproduzieren...

    das kannst Du da auch sagen http://www.mycpu.eu/, auch ich könnte das nicht so einfach nachbauen[/quote]

    Der Bausatz ist sehr teuer... Ich wollte mir so ein Computer mal nachbauen. Aber, mit 400-500€ für ein komplettes System bin ich nicht dabei...



  • Hallo,

    Erhard Henkes schrieb:

    Mit deinen speziellen Ideen und vielfältigen Fähigkeiten bezüglich Hardware und OS-Software wärst Du vielleicht im (Hobby-)Robotik-Bereich von mehr gleichgesinnten Bastlern als hier umgeben.

    Was soll das werden? Möchtest Du mich bekehren? Auf die Seite des Lichts zurückführen? 😉
    Ich denke dafür sind meine Interessen zu sehr Low-Level (sage ich mal so ohne das ich mir die Herausforderungen in der Robotik genauer angesehen habe).
    Ich wollte schon mit 14 wissen was mein Computer in seinem innersten zusammenhält. Daher habe ich als erstes Assembler gelernt, dieser Einstieg war aber relativ hart. Als ich dann mit 17 das erste mal was über FPGAs gelesen hatte wusste ich genau das diese Dinger genau das richtige Spielzeug für mich sind. Mein erstes Projekt war eine PCI-Karte, auch ein harter Einstiegt. Heute bin ich nun an der Stelle wo ich schon seit über 15 Jahren hin will. Ich habe Spaß an dem was ich so mache.

    abc.w schrieb:

    man kann sich die Layout-Daten runterladen

    Das soll man bei mir auch können.

    abc.w schrieb:

    und eigene Platinen ätzen und die Schaltung mit einem 30W Schlitz-Lötkolben zusammenlöten

    Okay, selber ätzen oder gar mit dem Regenrinnenlötkolben darauf runwerkeln ist bei meinem Projekt ganz sicher nicht drin.

    Erhard Henkes schrieb:

    Wir leben hier von der Vielfalt verschiedenster Ideen, die im Zusammenspiel neue Wege aufzeigen können.

    Das klingt schön! 🙂

    Grüße
    Erik


Anmelden zum Antworten