[bootloader]
- dedicated test app [romgen and ramgen] - minor fix in VHDL generation git-svn-id: http://moon:8086/svn/mips@15 a8ebac50-d88d-4704-bea3-6648445a41b3
This commit is contained in:
+14
-6
@@ -37,22 +37,30 @@ libsys: startup_boot.S init_boot.S kernel_boot.S libsys_boot.c
|
||||
$(CC) $(CFLAGS) -c kernel_boot.S -o kernel.o
|
||||
$(CC) $(CFLAGS) -c libsys_boot.c -o libsys.o
|
||||
|
||||
bootloader: libsys bootloader.c test.c
|
||||
$(CC) $(CFLAGS) -g -c bootloader.c test.c
|
||||
$(LD) $(LFLAGS) $(LIB_DIRS) startup.o init.o kernel.o libsys.o bootloader.o test.o -o $@.elf $(LIBS) >$@.map
|
||||
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
|
||||
$(OBJDUMP) -D $@.elf > $@.dis
|
||||
$(OBJCOPY) $@.elf -O binary $@.ROM.bin
|
||||
$(OBJCOPY) -O srec $@.elf $@.srec
|
||||
$(ROMGEN) $@.ROM.bin 10 $(ENDIAN_FLAGS)
|
||||
|
||||
bootloader_flash: libsys bootloader_with_flash.c test.c
|
||||
$(CC) $(CFLAGS) -g -c bootloader_with_flash.c test.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 test.o -o $@.elf $(LIBS) >$@.map
|
||||
$(LD) $(LFLAGS) $(LIB_DIRS) startup.o init.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
|
||||
$(ROMGEN) $@.ROM.bin 11 $(ENDIAN_FLAGS)
|
||||
|
||||
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
|
||||
$(OBJCOPY) $@.elf -O binary $@.ROM.bin
|
||||
$(OBJCOPY) -O srec $@.elf $@.srec
|
||||
$(ROMGEN) $@.ROM.bin 10 $(ENDIAN_FLAGS)
|
||||
|
||||
clean:
|
||||
rm -rf *.o *.bin *.map *.dis *.srec *.elf *.vhd* *.tcl bootloader > /dev/null
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
.globl _init
|
||||
.align 2
|
||||
.extern end
|
||||
.weak test
|
||||
|
||||
_init:
|
||||
.set noreorder
|
||||
@@ -14,10 +13,6 @@ _init:
|
||||
addiu $27, $0, baudrate
|
||||
sw $27, 0($26)
|
||||
|
||||
la $26, test
|
||||
jr $26
|
||||
nop
|
||||
|
||||
jr $ra
|
||||
|
||||
.set reorder
|
||||
|
||||
+16
-2
@@ -1,11 +1,25 @@
|
||||
#include "libsys_boot.h"
|
||||
void test()
|
||||
void main()
|
||||
{
|
||||
uint32_t i;
|
||||
|
||||
volatile uint32_t *pGPIO = (uint32_t*)SYS_GPIO_0_DATA;
|
||||
volatile uint32_t *pGPIODIR = (uint32_t*)SYS_GPIO_0_DIR;
|
||||
volatile uint32_t *pSDRAM32 = (uint32_t*)SDRAM_BASE;
|
||||
volatile uint8_t *pRAM = (uint8_t*)SDRAM_BASE;
|
||||
volatile uint32_t *pRAM32 = (uint32_t*)SDRAM_BASE;
|
||||
|
||||
*pGPIODIR = GPIO_0_DFLT_DIR;
|
||||
*pGPIO = 0;
|
||||
|
||||
for (i=0; i < 1024; i++)
|
||||
{
|
||||
pRAM[i] = i;
|
||||
}
|
||||
for (i=0; i < 1024; i++)
|
||||
{
|
||||
*pGPIO = pRAM32[i];
|
||||
}
|
||||
*pGPIO = 1;
|
||||
|
||||
}
|
||||
|
||||
|
||||
+3
-1
@@ -249,8 +249,10 @@ int SaveRAM_V4LD(char *pFilenameIn, char *pFilenameOut, char *pArchName, char *p
|
||||
fprintf(pFileOut, "PROM_READ:\n", ARCH_NAME);
|
||||
fprintf(pFileOut, "\tprocess(clk)\n");
|
||||
fprintf(pFileOut, "\tbegin\n");
|
||||
fprintf(pFileOut, "\t\tif rising_edge(clk) and ce = '1' then\n");
|
||||
fprintf(pFileOut, "\t\tif rising_edge(clk) then\n");
|
||||
fprintf(pFileOut, "\t\t\tif ce = '1' then\n");
|
||||
fprintf(pFileOut, "\t\t\tdout <= word_array(to_integer(addr(%d downto 2)));\n", nbits_addr+1);
|
||||
fprintf(pFileOut, "\t\t\tend if;\n");
|
||||
fprintf(pFileOut, "\t\tend if;\n");
|
||||
fprintf(pFileOut, "\tend process;\n");
|
||||
fprintf(pFileOut, "\n");
|
||||
|
||||
+4
-2
@@ -163,8 +163,10 @@ int SaveROM(char *pFilenameIn, char *pFilenameOut, char *pArchName, char *pEntNa
|
||||
fprintf(pFileOut, "PROM_READ:\n", ARCH_NAME);
|
||||
fprintf(pFileOut, "\tprocess(clk)\n");
|
||||
fprintf(pFileOut, "\tbegin\n");
|
||||
fprintf(pFileOut, "\t\tif rising_edge(clk) and ce = '1' then\n");
|
||||
fprintf(pFileOut, "\t\t\tdout <= word_array(to_integer(addr(%d downto 2)));\n", nbits_addr+1);
|
||||
fprintf(pFileOut, "\t\tif rising_edge(clk) then\n");
|
||||
fprintf(pFileOut, "\t\t\tif ce = '1' then\n");
|
||||
fprintf(pFileOut, "\t\t\t\tdout <= word_array(to_integer(addr(%d downto 2)));\n", nbits_addr+1);
|
||||
fprintf(pFileOut, "\t\t\tend if;\n");
|
||||
fprintf(pFileOut, "\t\tend if;\n");
|
||||
fprintf(pFileOut, "\tend process;\n");
|
||||
fprintf(pFileOut, "\n");
|
||||
|
||||
Reference in New Issue
Block a user