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 - dldave

Seiten: [1]
1
Lowlevel-Coding / Re: Globale Varablen funktionieren nicht
« am: 13. February 2010, 13:37 »
Mach es einen Unterschied in welcher Reihenfolge die Sectionen angelegt werden?
2
Lowlevel-Coding / Re: Globale Varablen funktionieren nicht
« am: 13. February 2010, 13:04 »
Also die Ausgabe von objdump schaut eigentlich ganz gut aus oder ???
Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000067  00000000  00000000  00000034  2**2
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
  1 .data         00000004  00000000  00000000  0000009c  2**2
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000004  00000000  00000000  000000a0  2**2
                  ALLOC
  3 .rodata       00000006  00000000  00000000  000000a0  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 .comment      00000012  00000000  00000000  000000a6  2**0
                  CONTENTS, READONLY
  5 .note.GNU-stack 00000000  00000000  00000000  000000b8  2**0
                  CONTENTS, READONLY
3
Lowlevel-Coding / Re: Globale Varablen funktionieren nicht
« am: 13. February 2010, 12:16 »
Also die beiden Zeiger zeigen zur Laufzeit auf die selber Adresse.
Aber wo liegt der Fehler??? Was mach ich falsch???  :|
4
Lowlevel-Coding / Re: Globale Varablen funktionieren nicht
« am: 13. February 2010, 09:46 »
hmm, und wie kann ich so einen Fehler finden ???
Für das Linken habe ich das Linkerscript vom wiki genommen.
INPUT(bin/kernel_32.o  bin/ckernel.o bin/video.o bin/memory.o bin/utils.o )
OUTPUT_FORMAT("binary")
ENTRY(start)
SECTIONS
{
  .text  0x10000 : {
    *(.text)
  }
 
  .data ALIGN (4096): {
    *(.data)
  }
 
  .bss  ALIGN (4096):  {                 
    *(.bss)
  }
5
Lowlevel-Coding / Re: Globale Varablen funktionieren nicht
« am: 12. February 2010, 20:38 »
Ich verstehe nicht genau was du meinst.
Zitat
Zur Laufzeit
str =0x15000
str2=0
6
Lowlevel-Coding / Re: Globale Varablen funktionieren nicht
« am: 12. February 2010, 19:08 »
Ich weise str eine Adresse zu und schreibe ein A hinein. Dann gebe ich str2 aus.
Egal auf welche Adresse str2 zeigt wird immer str ausgegeben.
Ich glaube eher nicht dass es an der printf Funktion liegt. Wenn ich  mit if die Werte vergleiche komme ich auf das selber Ergebnis.
7
Lowlevel-Coding / Re: Globale Varablen funktionieren nicht
« am: 11. February 2010, 20:54 »
Ich habe total keine Ahnung wiso so eine "so einfache Sache" nicht läuft. :?
 :-o
8
Lowlevel-Coding / Re: Globale Varablen funktionieren nicht
« am: 11. February 2010, 18:49 »
Ich arbeite mit Quemu. Damit sollte es eigentlich keine Probleme geben.
Ich habe das A20 Gate immer aktiviert bevor ich in den PM gewechselt habe.
Vieleicht könnte es daran liegen?!?
----------------------------------------------------------
Zitat
Ok, ich hab gerade  einen Wert an der Adresse  0x15000 erstellt, und dann  bei 0x115000 wieder ausgelesen. ES IST DER SELBE WERT
Vieleicht liegt es nicht am A20-Gate. Egal  welche Adresse mein char pointer hat
es wird immer das selbe Zeichen zurück geliefert.

char* str= (char*)0x15000;
char* str2= (char*)0x0; //0x115000;
 int main()
 {

     *str='A';
     str++;
     *str=0;
     str--;
    k_clearscreen();
    k_printf(str2);
    return 0;
 }
9
Lowlevel-Coding / Re: Globale Varablen funktionieren nicht
« am: 11. February 2010, 13:25 »
Bevor ich Grub einsätze (das werde ich so schnell wie möglich machen) möchte ich es mit meinem eigenen Loader schaffen . :-D :mrgreen:
10
Lowlevel-Coding / Re: Globale Varablen funktionieren nicht
« am: 11. February 2010, 13:13 »
Ok, ich hab gerade  einen Wert an der Adresse  0x15000 erstellt, und dann  bei 0x115000 wieder ausgelesen. ES IST DER SELBE WERT :-P :-P
Ich hatte das A20 Gate mittels System Control Port A eingeschaltet, da die Variante mit dem Tastaturkontroller immer abgeschtürzt ist.
11
Lowlevel-Coding / Re: Globale Varablen funktionieren nicht
« am: 10. February 2010, 20:17 »
hmm, dann werd ichs mal mit GRUB probieren!!!
Mein Bootloader ist wirklich sch****  :-D :-D
Danke für den Tipp
---------------------------------------------------------------
Ich habe mal schnell dieAnzahl der zuladenen Sektoren in meinem Bootloader geändert.
Das Problem mit meiner printf-Funktion scheint gelöst zu sein. Die Globalen Variablen haben aber immer noch den Wert 0 bzw einen den sie nicht haben sollen.
hmm, könnte es sein dass die Aktivierung des A20 Gate nicht funktioniert hat???
12
Lowlevel-Coding / Re: Globale Varablen funktionieren nicht
« am: 10. February 2010, 19:23 »
Kann mir Niemand helfen??? ??? :? :?
13
Lowlevel-Coding / Re: Globale Varablen funktionieren nicht
« am: 10. February 2010, 17:28 »
Link: http://svn.bluestain.net/david/Projekte/DAVEOS/trunk/
Ist zwar nicht mehr die Aktuellste version, aber hier hatte ich das Problem auch schon!
14
Lowlevel-Coding / Globale Varablen funktionieren nicht
« am: 10. February 2010, 17:09 »
Hallo,
Ich habe mich in der letzten Zeit ein wenig mit Lowlevel auseinander gesetzt und  einen kleinen Bootloader geschrieben. Jetzt habe ich  begonnen einen kleinen "Kernel" zu schreiben.
Aus irgend einen Grund kann ich in meinem "Kernel" plötzlich nicht mehr auf globale Variablen zugreifen. :?
Wenn ich von meiner main-Funktion aus auf eine Globale Variable zugreife dann hat sie IMMER den Wert 0.
Auserderdem habe ich plötzlich Probleme mit meiner printf-Funktion. Wenn ich sie mehrmals aufrufe dann wird kein Text mehr ausgegeben bzw der Bildshirm bleibt oder wird schwarz. (Vor ein paar Tagen hat alles noch Problemlos funktioniert.
Ich verwände gcc 4.4.3 unter ArchLinux
Seiten: [1]

Einloggen