removed BaS copy to RAM.
Since flashing is intended from a self-contained, SD-card loaded image, this is not neccessary anymore.
This commit is contained in:
@@ -144,7 +144,7 @@ $(LIBBAS): $(OBJS)
|
|||||||
#$(OBJDIR)/init_fpga.o: CFLAGS += -mbitfield
|
#$(OBJDIR)/init_fpga.o: CFLAGS += -mbitfield
|
||||||
|
|
||||||
# compile printf pc-relative so it can be used as well before and after copy of BaS
|
# compile printf pc-relative so it can be used as well before and after copy of BaS
|
||||||
$(OBJDIR)/bas_printf.o: CFLAGS += -mpcrel
|
#$(OBJDIR)/bas_printf.o: CFLAGS += -mpcrel
|
||||||
# the same for flush_and_invalidate_cache()
|
# the same for flush_and_invalidate_cache()
|
||||||
$(OBJDIR)/cache.o: CFLAGS += -mpcrel
|
$(OBJDIR)/cache.o: CFLAGS += -mpcrel
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,25 @@ SECTIONS
|
|||||||
objs/init_fpga.o(.text)
|
objs/init_fpga.o(.text)
|
||||||
objs/wait.o(.text)
|
objs/wait.o(.text)
|
||||||
|
|
||||||
|
objs/BaS.o(.text)
|
||||||
|
objs/wait.o(.text)
|
||||||
|
/* put other routines into the same segment (RAM) as BaS.o */
|
||||||
|
objs/unicode.o(.text)
|
||||||
|
objs/mmc.o(.text)
|
||||||
|
objs/ff.o(.text)
|
||||||
|
objs/sd_card.o(.text)
|
||||||
|
objs/s19reader.o(.text)
|
||||||
|
objs/bas_printf.o(.text)
|
||||||
|
objs/bas_string.o(.text)
|
||||||
|
objs/printf_helper.o(.text)
|
||||||
|
objs/cache.o(.text)
|
||||||
|
objs/mmu.o(.text)
|
||||||
|
objs/supervisor.o(.text)
|
||||||
|
objs/illegal_instruction.o(.text)
|
||||||
|
objs/exceptions.o(.text)
|
||||||
|
objs/xhdi_sd.o(.text)
|
||||||
|
objs/xhdi_interface.o(text)
|
||||||
|
objs/xhdi_vec.o(text)
|
||||||
#if (FORMAT == elf32-m68k)
|
#if (FORMAT == elf32-m68k)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
*(.rodata.*)
|
*(.rodata.*)
|
||||||
@@ -28,25 +47,6 @@ SECTIONS
|
|||||||
*/
|
*/
|
||||||
AT (ALIGN(ADDR(.text) + SIZEOF(.text), 4))
|
AT (ALIGN(ADDR(.text) + SIZEOF(.text), 4))
|
||||||
{
|
{
|
||||||
objs/BaS.o(.text)
|
|
||||||
objs/wait.o(.text)
|
|
||||||
/* put other routines into the same segment (RAM) as BaS.o */
|
|
||||||
objs/unicode.o(.text)
|
|
||||||
objs/mmc.o(.text)
|
|
||||||
objs/ff.o(.text)
|
|
||||||
objs/sd_card.o(.text)
|
|
||||||
objs/s19reader.o(.text)
|
|
||||||
objs/bas_printf.o(.text)
|
|
||||||
objs/bas_string.o(.text)
|
|
||||||
objs/printf_helper.o(.text)
|
|
||||||
objs/cache.o(.text)
|
|
||||||
objs/mmu.o(.text)
|
|
||||||
objs/exceptions.o(.text)
|
|
||||||
objs/supervisor.o(.text)
|
|
||||||
objs/illegal_instruction.o(.text)
|
|
||||||
objs/xhdi_sd.o(.text)
|
|
||||||
objs/xhdi_interface.o(text)
|
|
||||||
objs/xhdi_vec.o(text)
|
|
||||||
*(.data)
|
*(.data)
|
||||||
*(.bss)
|
*(.bss)
|
||||||
|
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ SECTIONS
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define BAS_LABEL_LMA(x) ((x))
|
#define BAS_LABEL_LMA(x) ((x))
|
||||||
_xprintf_before_copy = BAS_LABEL_LMA(_xprintf);
|
/* _xprintf_before_copy = BAS_LABEL_LMA(_xprintf); */
|
||||||
_display_progress_before_copy = BAS_LABEL_LMA(_display_progress);
|
/* _display_progress_before_copy = BAS_LABEL_LMA(_display_progress); */
|
||||||
/* _flush_and_invalidate_caches_before_copy = BAS_LABEL_LMA(_flush_and_invalidate_caches); */
|
/* _flush_and_invalidate_caches_before_copy = BAS_LABEL_LMA(_flush_and_invalidate_caches); */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -31,10 +31,7 @@
|
|||||||
#define FPGA_DATA0 (1 << 3)
|
#define FPGA_DATA0 (1 << 3)
|
||||||
#define FPGA_CONF_DONE (1 << 5)
|
#define FPGA_CONF_DONE (1 << 5)
|
||||||
|
|
||||||
extern void xprintf_before_copy(const char *fmt, ...);
|
|
||||||
|
|
||||||
#define xprintf xprintf_before_copy
|
|
||||||
#define display_progress display_progress_before_copy
|
|
||||||
/*
|
/*
|
||||||
* load FPGA
|
* load FPGA
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include "bas_printf.h"
|
#include "bas_printf.h"
|
||||||
#include "sd_card.h"
|
#include "sd_card.h"
|
||||||
|
|||||||
@@ -33,11 +33,6 @@
|
|||||||
#include "bas_types.h"
|
#include "bas_types.h"
|
||||||
#include "wait.h"
|
#include "wait.h"
|
||||||
|
|
||||||
extern void xprintf_before_copy(const char *fmt, ...);
|
|
||||||
#define xprintf xprintf_before_copy
|
|
||||||
extern void flush_and_invalidate_caches_before_copy(void);
|
|
||||||
#define flush_and_invalidate_caches flush_and_invalidate_caches_before_copy
|
|
||||||
|
|
||||||
#define UNUSED(x) (void)(x) /* Unused variable */
|
#define UNUSED(x) (void)(x) /* Unused variable */
|
||||||
|
|
||||||
extern volatile long _VRAM; /* start address of video ram from linker script */
|
extern volatile long _VRAM; /* start address of video ram from linker script */
|
||||||
@@ -852,6 +847,7 @@ void initialize_hardware(void) {
|
|||||||
//video_1280_1024();
|
//video_1280_1024();
|
||||||
init_ac97();
|
init_ac97();
|
||||||
|
|
||||||
|
#ifdef _NOT_USED_
|
||||||
/* copy the BaS code contained in flash to its final location */
|
/* copy the BaS code contained in flash to its final location */
|
||||||
src = (uint32_t *)BAS_LMA;
|
src = (uint32_t *)BAS_LMA;
|
||||||
end = (uint32_t *)(BAS_LMA + BAS_SIZE);
|
end = (uint32_t *)(BAS_LMA + BAS_SIZE);
|
||||||
@@ -872,6 +868,7 @@ void initialize_hardware(void) {
|
|||||||
flush_and_invalidate_caches();
|
flush_and_invalidate_caches();
|
||||||
|
|
||||||
/* jump into the BaS in RAM */
|
/* jump into the BaS in RAM */
|
||||||
|
#endif /* _NOT_USED_ */
|
||||||
extern void BaS(void);
|
extern void BaS(void);
|
||||||
BaS();
|
BaS();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user