From bd71606a4d96856f8e05a88557d45cffc6a3448a Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Fri, 9 Apr 2021 07:23:22 +0000 Subject: [PATCH] - merged init.s into startup.s git-svn-id: http://moon:8086/svn/mips@165 a8ebac50-d88d-4704-bea3-6648445a41b3 --- src/asm/Makefile | 11 +++++++++-- src/asm/libsys/init.s | 29 ----------------------------- src/asm/libsys/startup.s | 12 ++++++++++-- src/asm/link/link.ld | 7 ------- 4 files changed, 19 insertions(+), 40 deletions(-) delete mode 100644 src/asm/libsys/init.s diff --git a/src/asm/Makefile b/src/asm/Makefile index f20064d..7e0956d 100644 --- a/src/asm/Makefile +++ b/src/asm/Makefile @@ -18,10 +18,9 @@ all: testbench.elf libsys.a: $(CC) $(CFLAGS) -c libsys/startup.s -o startup.o - $(CC) $(CFLAGS) -c libsys/init.s -o init.o $(CC) $(CFLAGS) -c libsys/kernel.s -o kernel.o $(CC) $(CFLAGS) -c libsys/utils.c -o utils.o - $(AR) -r libsys.a startup.o init.o kernel.o utils.o + $(AR) -r libsys.a startup.o kernel.o utils.o testbench.elf: libsys.a @@ -32,6 +31,14 @@ testbench.elf: libsys.a $(ROMGEN) $@.ROM.bin $(ROM_WORDADDR_WIDTH) $(ROMGEN) $@.RAM.bin $(RAM_WORDADDR_WIDTH) +load_store.elf: libsys.a + $(CC) $(CFLAGS) -o $@ load_store.c $(LIBS) + $(OBJDUMP) -d $@ > $@.dis + $(OBJCOPY) $@ -O binary $@.ROM.bin + $(OBJCOPY) -j .data $@ -O binary $@.RAM.bin + $(ROMGEN) $@.ROM.bin $(ROM_WORDADDR_WIDTH) + $(ROMGEN) $@.RAM.bin $(RAM_WORDADDR_WIDTH) + #xtclsh.exe $TARGET.RAM.tcl #xtclsh.exe $TARGET.ROM.tcl diff --git a/src/asm/libsys/init.s b/src/asm/libsys/init.s deleted file mode 100644 index 0d4e38f..0000000 --- a/src/asm/libsys/init.s +++ /dev/null @@ -1,29 +0,0 @@ - .file "init.s" - - .section .init,"ax" - .align 4 - .globl _init - .extern end - .extern main - -_init: - .set noreorder - - # set uart - la $26, sys_uart_baud - addiu $27, $0, baudrate - sb $27, 0($26) - - # set stack pointer - la $sp, end - - # jump main - la $26, main - jalr $26 - -_terminate: - nop - j _terminate - nop - - .set reorder diff --git a/src/asm/libsys/startup.s b/src/asm/libsys/startup.s index 610a3fc..26ab631 100644 --- a/src/asm/libsys/startup.s +++ b/src/asm/libsys/startup.s @@ -17,11 +17,19 @@ _start: nop mtc0 $26, $31 - # jump init - la $26, _init + # set stack pointer + la $sp, end + + # jump main + la $26, main jr $26 # set user mode rfe +_terminate: + nop + j _terminate + nop + .set reorder diff --git a/src/asm/link/link.ld b/src/asm/link/link.ld index e22c0c9..7882f32 100644 --- a/src/asm/link/link.ld +++ b/src/asm/link/link.ld @@ -8,13 +8,6 @@ MEMORY } end = 0x7FFFEFFC; -baudrate = 0x0D; -sys_led_port = 0x80000000; -sys_uart_baud = 0x80000009; -sys_uart_stat = 0x80000008; -sys_uart_data = 0x80000004; -sys_timer_sec = 0x80000014; -sys_timer_usec = 0x80000010; STARTUP(startup.o) INPUT(kernel.o)