Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - AlgorithMan

Seiten: [1]
1
Softwareentwicklung / Falscher Link in Cross-Compiler Artikel
« am: 06. September 2016, 11:22 »
Hallo
mir ist aufgefallen, dass im Cross-Compiler Artikel https://www.lowlevel.eu/wiki/Cross-Compiler
in der Linux Sektion bei den Links auf GMP, MPFR und MPC der Link auf GMP fehlt - statt dessen
ist der Link auf MPFR doppelt vorhanden. Hier ist ein Link für GMP:
ftp://ftp.gnu.org/gnu/gmp/gmp-6.1.1.tar.xz
2
Das Wiki / Re: Video-Tutorial auf YouTube
« am: 12. July 2016, 11:55 »
Ach, ich habe übrigens doch noch ein weiteres, echtes OS Tutorial auf YouTube gefunden:
https://www.youtube.com/playlist?list=PLBK_0GOKgqn3hjBdrf5zQ0g7UkQP_KLC3
3
Das Wiki / Re: Video-Tutorial auf YouTube
« am: 12. July 2016, 11:53 »
Tach allerseits

Inzwischen habe ich PCI, VGA, GUI Framework, Desktop, Multitasking und Speicherverwaltung behandelt.
Ich hab auch schon weitere Folgen aufgezeichnet mit Syscalls, Netzwerk, TCP/IP Stack, Festplatten und FAT32.
Die muss ich aber noch schneiden und rendern.

Dass Video-Tutorials gewisse Nachteile haben, stimmt schon. Ich denke aber auch, dass sie gewisse Vorteile haben.
Letztendlich ist es eine weitere Ressource, wo es m.E. einfach nicht schaden kann, sie auch zu verlinken. Dann kann jeder
für sich selbst entscheiden, ob für ihn die Vorteile oder die Nachteile überwiegen...

Auf OSDev sträuben die sich dermaßen dagegen, das zu verlinken - da kann ich jedes Gegenargument entkräften wie ich
will, die kommen mit immer haarsträubenderen, widersprüchlicheren Gemecker... ich verstehe einfach nicht, was das soll.
Ich dachte, es geht darum, interessierten Entwicklern Hilfestellungen zu geben, aber da sehe ich nur noch einen einzigen
Kindergarten Schw...vergleich :roll:
4
Das Wiki / Video-Tutorial auf YouTube
« am: 22. March 2016, 22:12 »
Hey Leute,
ich habe auf YouTube eine Video-Reihe angefangen, in dem ich die Basics der OS-Programmierung (in C++) erkläre (natürlich mit
Danksagung und Verweis auf lowlevel.eu und tyndur)
Ist vielleicht interessant für den ein oder anderen (Das ist übrigens die einzige Video-Reihe dieser Art auf youtube - alle anderen sind fakes)

z.Z. geht es bis zur Maus, die Tage will ich PCI und VGA oder VESA behandeln und dann ein GUI-Framework und einen Desktop anbauen,
bevor es dann in 1-2 Wochen zum Netzwerk geht...

https://www.youtube.com/playlist?list=PLHh55M_Kq4OApWScZyPl5HhgsTJS9MZ6M

MfG

AlgoMan
5
JAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!
Die Daten werden verschickt!  :-D :-D :-D :-D :-D

Das Problem bestand in einem Fehler in der Anleitung http://www.lowlevel.eu/wiki/AMD_PCnet
im Codebeispiel zum Versenden steht, man müsste die Flags des Descriptors auf 0x8030F000 | ... setzen.
Korrekt ist aber, dass die auf 0x8300F000 | ... gesetzt werden müssen.

So, Feierabend für heute 8-) :mrgreen:
6
Hallo kevin,
erst mal vielen Dank für die Antwort :-)
Mir war gar nicht aufgefallen, dass CDI einen pcnet Treiber hat, ich hatte da nach am79c973 gesucht und nicht gefunden.
Da gucke ich auf jeden Fall mal rein, das hilft mir schon mal sehr weiter, danke :-)

---

Wenn ich in der selben VM eine Linux Live-CD laufen lasse, funktioniert das problemlos. Da kann ich zB 10.0.2.3 pingen. Deshalb kann es m.E. nicht an der VM-Konfiguration liegen.

Dass keine Daten raus gehen, mache ich daran fest, dass der Chip keinen Interrupt mit (CSR0 & 0x0200)==0x0200 auslöst. (Der "Initialization Done" Interrupt kommt aber, also sind Interrupts eingeschaltet, also müsste der Interrupt kommen, wenn die Daten raus gehen würden). Solange der Ethernet-Frame nicht raus geht, ist es auch sinnlos, an den IP und ICMP Daten herum zu schrauben. Es kann also nur an der Ansteuerung oder dem Ethernet-Frame liegen.

Die MAC Adresse vom Gast-Rechner lese ich vom Chip aus (die stimmt auch mit der MAC Adresse überein, die in der VirtualBox Netzwerk-Konfiguration eingestellt ist). Die MAC Adresse von 10.0.2.3 habe ich in der Live-CD resolved und im Ethernet Frame hartkodiert, um vorerst kein ARP machen zu müssen. Ich bin allerdings nicht 100% sicher, ob die MAC Adresse richtig herum im Ethernet-Frame steht. Ich habe da keine Angabe drüber gefunden, ob die in little oder big endian kodiert sein muss (ich hab eh beides probiert...) - ich vermute, dass das least-significant byte an der niedrigsten Adresse stehen muss (little endian) und ifconfig schreibt die MAC Adresse ja auch von least significant byte zu most significant byte... Also wenn ich den Ethernet-Frame von niedrigster zu höchster Adresse dumpe, dann steht die MAC Adresse so da, wie ifconfig sie auch schreibt...
Der EtherType = 8 muss AFAIK little endian sein, also müsste das 08 00 im dump auch stimmen. Am Ethernet Frame könnte es jetzt also nur noch liegen, wenn die CRC32 manuell angefügt werden muss. Das versuche ich dann jetzt auch mal. :roll:

Die Ethernet-Frame Layer 1 Sachen (Preamble, Start-of-Frame Delimiter, Inter-Packet Gap) lasse ich wie gesagt weg - die sollten bei heutiger Netzwerk-Hardware eh überflüssig sein bzw. anderenfalls vom Chip übernommen werden (das sollte ich vielleicht mal in der Spezifikation nachlesen, ob er das tatsächlich tut...)

Ich bastele dann mal weiter...
7
Softwareentwicklung / Netzwerk-Zugriff aus VirtualBox (AMD PCnet)
« am: 22. September 2014, 17:25 »
Hallo Leute,
ich bastele an einem C++ Kernel und hab schon ein paar Sachen ans laufen gebracht (gdt, idt, konsole, tastatur, maus, uhr, PCI)

Jetzt versuche ich seit Tagen, auf's Netzwerk zuzugreifen. Ich erzeuge zZ einen hartkodierten Ethernet Frame II, mit hartkodierten IP und ICMP-Ping Daten und
schicke den (wie in http://www.lowlevel.eu/wiki/AMD_PCnet beschrieben) an den virtuellen AMD am79c973 chip (PCnet FAST III ethernet), den VirtualBox bietet.
Ich bekomme auch ein paar Antworten (z.B. den Interrupt mit CSR0 | 0x0100 - der vermeldet, dass der Chip jetzt initialisiert ist), aber die Daten, die ich schicke, gehen
einfach nicht raus. Vor allem kommt der Interrupt mit (CSR0 | 0x0200) nicht, der vermelden würde, dass die Daten raus geschickt wurden, also kann es m.E. schon nicht
an fehlerhaften Inhalten im IP, ICMP oÄ liegen.

In http://www.lowlevel.eu/wiki/Datei:Am79C973.pdf finde ich auch keine Anhaltspunkte, was ich falsch mache.
Ich bin so langsam echt am Ende mit meinem Latein. :cry:

Hat von Euch jemand Erfahrung mit dem Chip?
Muss ich vielleicht die CRC32 vom Ethernet Frame manuell anfügen? Die sollte mE vom chip angefügt werden, so wie die OSI Layer 1 Geschichten - Preamble,
start-of-frame delimiter, inter packet gap... vor lauter Verzweiflung hab ich schon versucht, die ganzen Sachen auch noch manuell mit zu schicken...

Ich bin kurz davor, auf QEMU zu wechseln, weil man da einen virtuellen RTL 8139 chip hat, der (anscheinend) sehr viel angenehmer anzusteuern ist...
8
Auch ich hatte das problem "No Multiboot header found" mit dem Kernel aus dem Tutorial "C-Kernel mit GRUB".

Am Ende war ich so verzweifelt, dass ich einfach nur noch den Code 1:1 da raus kopiert habe, aber das Problem bestand weiterhin

Bei mir funktioniert es jetzt, nachdem ich zusätzlich den Parameter -melf_i386 an den Linker übergebe.

Vielleicht hilft das ja dem ein oder anderen :-)
Seiten: [1]

Einloggen