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.


Themen - najjannaj

Seiten: [1]
1
Offtopic / Prost Neuhjahr 2006
« am: 31. December 2005, 17:23 »
Hallo,
wünsche allen ein Gutes Neues Jahr 2006 und einen Guten Rutsch!

Liebe Grüße
Jan

---------
http://uos.maep.de
2
Lowlevel-Coding / UOS Bootloader Grub Problem
« am: 02. December 2005, 14:16 »
Hallo,
habe folgendes Problem:

Habe folgende link.ld:


/* UOS
 * link.ld - linker file
 */

/* let the linker use its 'native' format (ELF/COFF/PE)
OUTPUT_FORMAT("elf32-i386") */
/* no leading underscore for symbols handled in asm: */
ENTRY(start)
LS_Phys = 0x100000; /* 1 meg = load (physical) address */
LS_Virt = 0x100000; /* 1 meg = virtual address */
SECTIONS
{
    .text LS_Virt : AT(LS_Phys)
    {
LS_Code = .;
/* symbols to mark start of code segment */
code = .; _code = .;
/* kernel code */
*(.text)
/* .rodata is the ELF constant data section */
*(.rodata*)
. = ALIGN(4096);
    }
    .data : AT(LS_Phys + (LS_Data - LS_Code))
    {
LS_Data = .;
/* symbols to mark start of data segment */
data = .; _data = .;
/* kernel data */
*(.data)
. = ALIGN(4096);
    }
    .bss : AT(LS_Phys + (LS_Bss - LS_Code))
    {
LS_Bss = .;
/* symbols to mark start of BSS segment */
bss = .; _bss = .;
/* kernel BSS */
*(.bss)
*(COMMON) /* "common" variables */
. = ALIGN(4096);
    }
/* symbols to mark end of kernel */
    end = .; _end = .;
}



und folgende Makefile:


CFLAGS = -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc
OBJ = kernel.o processore/irq.o processore/idt.o processore/cpuid.o hw/8259.o hw/8253.o  \
      hw/keyboard.o hw/clock.o hw/dma.o hw/floppy.o mem/paging.o mem/fismem.o io/io.o libc/stdlib.o libc/bitops.o libc/stdio.o        \
      libc/string.o task/task.o task/scheduler.o task/tss.o task/semaphore.o task/ipc/signal.o            \
      video.o system/kprg.o system/shell.o

uos.img: bl.img kernel.bin

bl.img : boot/boot.asm
nasm -f bin ./boot/boot.asm -o bl.img

kernel.bin: $(OBJ)
ld -Tlink.ld -okernel.bin $(OBJ) -Ttext 0x10000 -Map kernel.map

kernel.o: kernel.c
video.o: video.c
processore/idt.o: processore/idt.c
processore/irq.o: processore/irq.c
processore/cpuid.o: processore/cpuid.c
io/io.o: io/io.c
libc/bitops.o: libc/bitops.c
libc/stdlib.o: libc/stdlib.c
libc/stdio.o: libc/stdio.c
libc/string.o: libc/string.c
hw/8259.o: hw/8259.c
hw/8253.o: hw/8253.c
hw/keyboard.o: hw/keyboard.c
hw/clock.o: hw/clock.c
hw/dma.o: hw/dma.c
hw/floppy.o: hw/floppy.c
mem/fismem.o: mem/fismem.c
mem/paging.o: mem/paging.c
task/task.o: task/task.c
task/scheduler.o: task/scheduler.c
task/tss.o: task/tss.c
task/semaphore.o: task/semaphore.c
task/ipc/signal.o: task/ipc/signal.c
system/kprg.o: system/kprg.c
system/shell.o: system/shell.c

.PHONY: clean install

clean:
del *.img
del *.bin
del *.map
del *.o
del boot\*.o
del header\*.o
del header\libc\*.o
del hw\*.o
del io\*.o
del libc\*.o
del mem\*.o
del PROCES~1\*.o
del system\*.o
del task\*.o
del task\ipc\*.o



Wenn ich dann die "kernel.bin" mit Grub starten möchte sagt Grub mir immer:
Error 13: Invailid or unsupported executable format

Was mach ich falsch??

Vielen Dank!
Greetz
najjannaj
3
Lowlevel-Coding / UOS-Team Hilfe
« am: 11. November 2005, 10:09 »
Hallo,
ich suche noch einen Helfer für U-OS oder wenigstens etwas Hilfe beim Umstellen des Systems, damit man es unter Windows kompilieren kann und das Umschreiben auf einen FAT12-Bootloader! Würde mich über jede kleine Hilfe freuen!

http://uos.maep.de

Danke im Vorraus!
Mit freundlichen Grüßen
Jan  (najjannaj)
4
Offtopic / StormOS
« am: 02. November 2005, 09:49 »
Hallo,
Wie ich schon oft gesehen habe, haben einige von euch noch denn Quellcode von StormOS zu lehrzwecken würde ich diesen auch gerne besitzen um ihn mir anzuschaun! Könnte mir jemand denn Code entweder irgendwohochladen so das jeder was davon hat, oder ihn mir per EMAIL(jan.loebel@web.de) schicken? Zur Not kann ich auch einen FTP-Server zur Verfügung stellen! Wäre echt nett!
Vielen Dank!
Mit freundlichen Grüßen
Jan


http://uos.maep.de/
5
Lowlevel-Coding / Lautsprecher Timer
« am: 24. October 2005, 16:12 »
Hallo,
habe versucht das Tutorial von joachim_neu nachzubaun(http://lowlevel.brainsware.org/index.php?pagename=tutorials&tutextern=24) und einen Ton ausgeben zu lassen leider vergebens! Ich denke es liegt entweder an meiner Frequenz oder das das mit der Pause des Programms nicht so funktioniert wie ich das will!
Freuqenz ist momentan:   1160
hatte es so gemacht das ich mit dem Befehl "soundon" das abspielen begonnen hatte und wenn ich in der shell soundoff angegeben habe wollte ich das der Ton aufhört!
Jetzt wollte ich wissen bei wem es funktioniert und wie ihr es gelöst habt? Andere Frequenz einen anderen Timer? Ich bräuchte eh mal ein gutes Tutorial wie ich eine Funktion wie "sleep 1000" einbinden kann die mir dann 1ne Sekunde wartet! Vielen Dank für die Hilfe!
Mit freundlichen Grüßen
Jan
6
Offtopic / U-OS *New Version*
« am: 03. November 2004, 13:47 »
Hi,
hab von U-OS eine Neue Version veröffentlicht!

http://www.u-os.de.vu

Ich würde mich über weitere interessenten und programmierer sehr freuen! U-OS SUCHT NOCH MITGLIEDER!!!!

Mfg
najjannaj
7
Offtopic / Mein U-OS + Homepage
« am: 15. September 2004, 14:58 »
Hi,
Wollte euch mal mein Hobby-OS Namens "U-OS" vorstellen:

http://www.u-os.de.vu/

Für Verbesserungsvorschläge usw.. bin ich gernen offen!
Greetz
najjannaj
8
Lowlevel-Coding / gcc AREG error
« am: 13. September 2004, 14:09 »
Hallo,
wenn ich meine mem.c mit gcc(Debian) kompilieren will, bekomm ich immer folgende Fehlermeldung:

gcc  -Wall -fomit-frame-pointer -O -I. -c -o mem.o mem.c
mem.c: In function `count_memory':
mem.c:44: error: can't find a register in class `AREG' while reloading `asm'

Wie kann ich dies beheben??

Vielen Dank
najjannaj
9
Offtopic / Kompilieren StormOS (Zu Blöd??)
« am: 13. September 2004, 13:06 »
Hi,
Hab mir die Quell-Source(http://www.stormos.net/os_files/Storm_OS_014d_source.rar) von StormOS (http://www.stormos.net/) heruntergeladen und versucht diese zu kompilieren. Es läst sich zwar einigermaßen kompilieren, aber wenn ich es dann auf Diskette schreibe und starte, bleibt es immer an der selben Stelle stehen. Könnte einer vobn euch das mal kompilieren und mir dann sagen, ob es an mir oder an der Progammierung liegt das es einfach stehen bleibt??
Vielen Dank!
Gruß
najjannaj
10
Offtopic / C 2 Html
« am: 08. September 2004, 16:08 »
Hi,
Ich suche ein Gutes C2HTML - Programm! Das Prog. mit dem Namen "C2HTML" hab ich schon versucht! Dieses macht aber kein Syntax-Highliting und auch keine Verknüpfungen! Sowie ich gerne ein Verzeichniss aller Funktionen hätte!
Kennt da einer so ein Programm? Egal ob Windows oder Linux!
Danke im Voraus!
Mfg
najjannaj
11
Lowlevel-Coding / reboot oder auschalten
« am: 08. September 2004, 13:50 »
Hallo,
Suche ein Tutorial oder einen Code mit dem ich den Rechner aus meinem OS heraus neu starten kann? Am besten wäre C aber ASM ist auch akzeptabel. Mein OS läuft im PMode!
Bin für jede Antwort Dankbar!
Vielen Dank
najjannaj
12
Hi,
bekomme Folgende Make-Meldung(unter Windows, rot makiert) beim Kompilieren eines Projektes:


Windows Make-LOG:


nasm -f bin ./boot/loader.asm -o bl.img
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o kernel.o kernel.c
In file included from kernel.c:19:
header/libc/stdio.h:4: warning: conflicting types for built-in function `putchar'
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o processore/irq.o processore/irq.c
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o processore/idt.o processore/idt.c
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o processore/cpuid.o processore/cpuid.c
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o hw/8259.o hw/8259.c
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o hw/8253.o hw/8253.c
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o hw/keyboard.o hw/keyboard.c
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o mem/fismem.o mem/fismem.c
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o io/io.o io/io.c
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o libc/stdlib.o libc/stdlib.c
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o libc/bitops.o libc/bitops.c
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o libc/stdio.o libc/stdio.c
In file included from libc/stdio.c:2:
header/libc/stdio.h:4: warning: conflicting types for built-in function `putchar'
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o libc/string.o libc/string.c
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o task/task.o task/task.c
In file included from task/task.c:4:
header/libc/stdio.h:4: warning: conflicting types for built-in function `putchar'
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o task/scheduler.o task/scheduler.c
In file included from task/scheduler.c:3:
header/libc/stdio.h:4: warning: conflicting types for built-in function `putchar'
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o task/tss.o task/tss.c
gcc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o video.o video.c
ld -Bstatic --oformat binary -okernel.bin kernel.o processore/irq.o processore/idt.o processore/cpuid.o hw/825
9.o hw/8253.o hw/keyboard.o mem/fismem.o io/io.o libc/stdlib.o libc/bitops.o libc/stdio.o libc/string.o task/task.o task/scheduler.o task/tss.o video.o -Ttext 0x10000 -Map kernel.map


c:\djgpp\bin/ld.exe: warning: cannot find entry symbol start; defaulting to 00010000
processore/idt.o(.text+0x7a3):idt.c: undefined reference to `exec_irq'
make.exe: *** [kernel.bin] Error 1


Linux Make-LOG:


nasm -f bin ./boot/loader.asm -o bl.img
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o kernel.o kernel.c
In file included from kernel.c:19:
header/libc/stdio.h:4: warning: conflicting types for built-in function `putchar'
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o processore/irq.o processore/irq.c
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o processore/idt.o processore/idt.c
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o processore/cpuid.o processore/cpuid.c
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o hw/8259.o hw/8259.c
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o hw/8253.o hw/8253.c
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o hw/keyboard.o hw/keyboard.c
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o mem/fismem.o mem/fismem.c
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o io/io.o io/io.c
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o libc/stdlib.o libc/stdlib.c
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o libc/bitops.o libc/bitops.c
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o libc/stdio.o libc/stdio.c
In file included from libc/stdio.c:2:
header/libc/stdio.h:4: warning: conflicting types for built-in function `putchar'
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o libc/string.o libc/string.c
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o task/task.o task/task.c
In file included from task/task.c:4:
header/libc/stdio.h:4: warning: conflicting types for built-in function `putchar'
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o task/scheduler.o task/scheduler.c
In file included from task/scheduler.c:3:
header/libc/stdio.h:4: warning: conflicting types for built-in function `putchar'
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o task/tss.o task/tss.c
cc -nostdlib -fomit-frame-pointer -Wall -march=i386 -I./header -I./header/libc   -c -o video.o video.c
ld -Bstatic --oformat binary -okernel.bin kernel.o processore/irq.o processore/idt.o processore/cpuid.o hw/8259.o hw/8253.o hw/keyboard.o mem/fismem.o io/io.o libc/stdlib.o libc/bitops.o libc/stdio.o libc/string.o task/task.o task/scheduler.o task/tss.o video.o -Ttext 0x10000 -Map kernel.map
cat bl.img kernel.bin > uos.img


Kann mir da jemand helfen??
Vielen Dank im Vorraus!
Mfg
najjannaj
13
Offtopic / Verwaltungstool für C-Dateien!
« am: 23. May 2004, 18:43 »
HI,
Kennt einer ein Programm mit dem ich meine in ASM und C programmierten Dateien besser im Überblick behalten kann, als sie jedesmal einzeln zu öffnen usw.. Ich suche ein Tool wie z.b. DEV-C++ (http://www.bloodshed.net/)
Danke!
Liebe Grüße
najjannaj
14
OS-Design / mem.c Asm Hilfe
« am: 20. May 2004, 19:44 »
Hi,
Hab folgendes Problem beim Kompilieren:

mem.c: In function `count_memory':
mem.c:26: Invalid `asm' statement:
mem.c:26: fixed or forbidden register 0 (ax) was spilled for class AREG.
mem.c:34: Invalid `asm' statement:
mem.c:34: fixed or forbidden register 0 (ax) was spilled for class AREG.
mem.c:63: Invalid `asm' statement:
mem.c:63: fixed or forbidden register 0 (ax) was spilled for class AREG.

Hab keinen Plan warum das jetzt nicht funktioniert! Kann mir einer von euch Helfen???
Hier die "mem.c":

#include "include\io.h"
#include "include\mem.h"

unsigned long mem_end, bse_end;

void count_memory(void)
 {
         register unsigned long *mem;
         unsigned long mem_count, a;
         unsigned short  memkb;
         unsigned char   irq1, irq2;
         unsigned long cr0;

         /* save IRQ's */
         irq1=inportb(0x21);
         irq2=inportb(0xA1);

         /* kill all irq's */
         outportb(0x21, 0xFF);
         outportb(0xA1, 0xFF);

         mem_count=0;
         memkb=0;

         // store a copy of CR0
         __asm__ __volatile("movl %%cr0, %%eax":"=a"(cr0)::"eax");

         // invalidate the cache
         // write-back and invalidate the cache
         __asm__ __volatile__ ("wbinvd");

         // plug cr0 with just PE/CD/NW
         // cache disable(486+), no-writeback(486+), 32bit mode(386+)
         __asm__ __volatile__("movl %%eax, %%cr0" :: "a" (cr0 | 0x00000001 | 0x40000000 | 0x20000000) : "eax");

         do
         {
                 memkb++;
                 mem_count+=1024*1024;
                 mem=(unsigned long *)mem_count;

                 a=*mem;

                 *mem=0x55AA55AA;
                 
                 // the empty asm calls tell gcc not to rely on whats in its registers
                 // as saved variables (this gets us around GCC optimisations)
                 asm("":::"memory");
                 if(*mem!=0x55AA55AA)
                         mem_count=0;
                 else
                 {
                         *mem=0xAA55AA55;
                         asm("":::"memory");
                         if(*mem!=0xAA55AA55)
                                 mem_count=0;
                 }

                 asm("":::"memory");
                 *mem=a;
         }while(memkb<4096 && mem_count!=0);

         __asm__ __volatile__("movl %%eax, %%cr0" :: "a" (cr0) : "eax");

         mem_end=memkb<<20;
         mem=(unsigned long *)0x413;
         bse_end=((*mem)&0xFFFF)<<6;

         outportb(0x21, irq1);
         outportb(0xA1, irq2);
 }



und hier die "mem.h":

#ifndef MEM_INCLUDE
#define MEM_INCLUDE

extern unsigned long mem_end, bse_end;

void count_memory();

#endif
15
Das Wiki / Neues Mag WANN?????
« am: 20. April 2004, 09:25 »
HI, Wollte nur mal nachfragen wann das neue Mag erscheinen wird? Und ob es überhaupt ein neues geben wird?????
Liebe Grüße
Najjannaj
16
Offtopic / Borland Turbo C++
« am: 16. April 2004, 12:26 »
Hi,
Hab folgende Befehlszeile in Borland Turbo C++ V3.0 verwendet:
tcc -c -r- -mt -2 kernel.cpp >> NULL

Ich glaube ich weiß noch was folgende Befehle waren:
-c = Compile only
-r = Register variables
-mt = Tiny Model
-2 = ?????????
jetzt kann ich nirgendwo die Version 3.0 finden! Kann mir jemand sagen wo ich Borland Turbo C++ V3.0 herbekomme, oder mir die Befehlszeile in einen aktuellen eines C++ Compilers wandeln! Danke!
17
OS-Design / C Befehle??
« am: 14. April 2004, 13:16 »
Neues Problem!
Ich hab mir nen Bootsector mit Assambler und Kernel mit C geschrieben und linken usw klappt alles! Nur jetzt will ich folgendes verwirklichen:

int anzahl;
printf ("\nBitte eine Integer-Zahl eingeben : ");  
scanf ("%d",&anzahl);

printf ("\n\nSie gaben %d ein\n",anzahl);

Er kennt aber die Befehle printf und scanf nicht! Wie kann ich die nun mit einbinden??
Vielen Dank!
18
Lowlevel-Coding / Bootsector Diskettte Formatieren?
« am: 14. April 2004, 10:09 »
Hi,
Erstmal Super Magazin! Echt spitze! Für die Zukunft würd ich mir noch mehr Beispiele wie eine Konsole (Weiß das es das schon im ResourceCenter gibt aber wie binde ich das ganze ein??)!!
Jetzt zur Eigentlichen Frage! Hab den Bootloader geschrieben und er funktioniert eigentlich soweit das er sagt "File not Found." Weil auf der Diskette keine Kernel.bin vorhanden ist! Wenn ich aber jetzt eine auf die Diskette kopieren will, kommt immer "Diskette Foramtieren!" Hab den Bootloader mit rawrite auf die Diskette geschrieben und wie kann ich nun die Diskette so machen das ich da auch noch Daten draufbekomm, troz Bootlaoders????
Vielen Dank im Vorraus!
Mfg
najjannaj
Seiten: [1]

Einloggen