From 9c1ca0aaf3bce46328cd40788f074372e13dfcc4 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Tue, 26 May 2015 20:09:45 +0000 Subject: [PATCH] - cleaned up git-svn-id: http://moon:8086/svn/mips@25 a8ebac50-d88d-4704-bea3-6648445a41b3 --- src/bootloader/Makefile | 11 +++++------ src/bootloader/bootloader.ld | 7 +------ src/bootloader/bootloader_tlb.ld | 5 ----- src/bootloader/init_boot.S | 18 ------------------ src/bootloader/startup_boot.S | 12 ++++++------ src/bootloader/test.c | 8 ++++++++ 6 files changed, 20 insertions(+), 41 deletions(-) delete mode 100644 src/bootloader/init_boot.S diff --git a/src/bootloader/Makefile b/src/bootloader/Makefile index 3c17647..7d895e5 100644 --- a/src/bootloader/Makefile +++ b/src/bootloader/Makefile @@ -31,15 +31,14 @@ ROMGEN=$(MIPS_HOME)/tools/romgen all: bootloader_flash -libsys: startup_boot.S init_boot.S kernel_boot.S libsys_boot.c +libsys: startup_boot.S kernel_boot.S libsys_boot.c $(CC) $(CFLAGS) -c startup_boot.S -o startup.o - $(CC) $(CFLAGS) -c init_boot.S -o init.o $(CC) $(CFLAGS) -c kernel_boot.S -o kernel.o $(CC) $(CFLAGS) -c libsys_boot.c -o libsys.o bootloader: libsys bootloader.c $(CC) $(CFLAGS) -g -c bootloader.c - $(LD) $(LFLAGS) $(LIB_DIRS) startup.o init.o kernel.o libsys.o bootloader.o -o $@.elf $(LIBS) >$@.map + $(LD) $(LFLAGS) $(LIB_DIRS) startup.o kernel.o libsys.o bootloader.o -o $@.elf $(LIBS) >$@.map $(OBJDUMP) -D $@.elf > $@.dis $(OBJCOPY) $@.elf -O binary $@.ROM.bin $(OBJCOPY) -O srec $@.elf $@.srec @@ -48,7 +47,7 @@ bootloader: libsys bootloader.c bootloader_flash: libsys bootloader_with_flash.c $(CC) $(CFLAGS) -g -c bootloader_with_flash.c $(CC) $(CFLAGS) -g -c ../cfiflash.c - $(LD) $(LFLAGS) $(LIB_DIRS) startup.o init.o kernel.o libsys.o cfiflash.o bootloader_with_flash.o -o $@.elf $(LIBS) >$@.map + $(LD) $(LFLAGS) $(LIB_DIRS) startup.o kernel.o libsys.o cfiflash.o bootloader_with_flash.o -o $@.elf $(LIBS) >$@.map $(OBJDUMP) -D $@.elf > $@.dis $(OBJCOPY) $@.elf -O binary $@.ROM.bin $(OBJCOPY) -O srec $@.elf $@.srec @@ -56,8 +55,8 @@ bootloader_flash: libsys bootloader_with_flash.c test: libsys test.c $(CC) $(CFLAGS) -g -c test.c - $(LD) $(LFLAGS) $(LIB_DIRS) startup.o init.o kernel.o libsys.o test.o -o $@.elf $(LIBS) >$@.map - $(OBJDUMP) -D $@.elf > $@.dis + $(LD) $(LFLAGS) $(LIB_DIRS) startup.o kernel.o libsys.o test.o -o $@.elf $(LIBS) >$@.map + $(OBJDUMP) -d $@.elf > $@.dis $(OBJCOPY) $@.elf -O binary $@.ROM.bin $(OBJCOPY) -O srec $@.elf $@.srec $(ROMGEN) $@.ROM.bin 10 $(ENDIAN_FLAGS) diff --git a/src/bootloader/bootloader.ld b/src/bootloader/bootloader.ld index 39dbe5b..3b5149f 100644 --- a/src/bootloader/bootloader.ld +++ b/src/bootloader/bootloader.ld @@ -6,11 +6,6 @@ MEMORY io : ORIGIN = 0xA0000000, LENGTH = 0x00800000 /* 8M */ } -OUTPUT_ARCH(mips) -SEARCH_DIR("."); -SEARCH_DIR("/usr/local/mipsel-elf/lib:/usr/local/mipsel-elf/lib/eb"); -SEARCH_DIR("/usr/local/lib/gcc/mipsel-elf/4.3.3:/usr/local/lib/gcc/mipsel-elf/4.3.3/eb"); - stack_ptr = 0x7FFFEFF0; baudrate = 0x0D; sys_led_port = 0xA0000000; @@ -29,7 +24,7 @@ SECTIONS entry = ALIGN(4); _entry = ALIGN(4); __entry = ALIGN(4); - *(.stext) + *(.init) } > rom .ktext ORIGIN(rom) + 0x180 : diff --git a/src/bootloader/bootloader_tlb.ld b/src/bootloader/bootloader_tlb.ld index 5d8d648..4a14356 100644 --- a/src/bootloader/bootloader_tlb.ld +++ b/src/bootloader/bootloader_tlb.ld @@ -7,11 +7,6 @@ MEMORY io : ORIGIN = 0xAC000000, LENGTH = 0x00800000 /* 8M */ } -OUTPUT_ARCH(mips) -SEARCH_DIR("."); -SEARCH_DIR("/usr/local/mipsel-elf/lib:/usr/local/mipsel-elf/lib/eb"); -SEARCH_DIR("/usr/local/lib/gcc/mipsel-elf/4.3.3:/usr/local/lib/gcc/mipsel-elf/4.3.3/eb"); - stack_ptr = 0x83FFEFF0; baudrate = 0x0D; sys_led_port = 0xAC000000; diff --git a/src/bootloader/init_boot.S b/src/bootloader/init_boot.S deleted file mode 100644 index 275b997..0000000 --- a/src/bootloader/init_boot.S +++ /dev/null @@ -1,18 +0,0 @@ - .file "init.S" - .text - .section .init,"ax" - .globl _init - .align 2 - .extern end - -_init: - .set noreorder - - # set uart - la $26, sys_uart_baud - addiu $27, $0, baudrate - sw $27, 0($26) - - jr $ra - - .set reorder diff --git a/src/bootloader/startup_boot.S b/src/bootloader/startup_boot.S index 096e33f..58c9ad1 100644 --- a/src/bootloader/startup_boot.S +++ b/src/bootloader/startup_boot.S @@ -2,7 +2,6 @@ .text .section .init,"ax" - .extern _init .align 2 _start: @@ -28,11 +27,12 @@ _start: # Invalidate D-Cache cop0 34 - # jump init - la $26, _init - jalr $26 - nop - +_init: + # set uart + la $26, sys_uart_baud + addiu $27, $0, baudrate + sw $27, 0($26) + la $26, main jalr $26 diff --git a/src/bootloader/test.c b/src/bootloader/test.c index a2ae538..f9f5580 100644 --- a/src/bootloader/test.c +++ b/src/bootloader/test.c @@ -10,8 +10,16 @@ void main() *pGPIODIR = GPIO_0_DFLT_DIR; uint8_t led = 0; + sputs("Hello, world!\n"); while(1) { + sputs("Iteration # ");print_word(led);sputs("\n"); + + if(led == 0) + { + memdump((uint8_t*)pRAM, 0, 16, 256); + } + *pGPIO = led; for (i=0; i < 1024*1024; i++) {