m68k: add bss initialization
This commit is contained in:
parent
911896e909
commit
ae4bfec20a
3
m68k.h
3
m68k.h
@ -1,3 +0,0 @@
|
|||||||
extern unsigned long _binary_m68k_main_bin_end __asm("_binary_m68k_main_bin_end");
|
|
||||||
extern unsigned long _binary_m68k_main_bin_size __asm("_binary_m68k_main_bin_size");
|
|
||||||
extern unsigned long _binary_m68k_main_bin_start __asm("_binary_m68k_main_bin_start");
|
|
@ -42,7 +42,7 @@ all: main.bin
|
|||||||
$(CXX) $(CFLAGS) $(CXXFLAGS) $(CARCH) -c $< -o $@
|
$(CXX) $(CFLAGS) $(CXXFLAGS) $(CARCH) -c $< -o $@
|
||||||
|
|
||||||
%.elf:
|
%.elf:
|
||||||
$(LD) $(LDFLAGS) -T $(LIB)/m68k/m68k.lds $(LIB)/m68k/vectors.o $(LIB)/m68k/handlers.o $^ -o $@
|
$(LD) $(LDFLAGS) -T $(LIB)/m68k/m68k.lds $(LIB)/m68k/vectors.o $(LIB)/m68k/start.o $(LIB)/m68k/handlers.o $^ -o $@
|
||||||
|
|
||||||
%.bin: %.elf
|
%.bin: %.elf
|
||||||
$(OBJCOPY) -O binary $< $@
|
$(OBJCOPY) -O binary $< $@
|
||||||
|
19
m68k/start.cpp
Normal file
19
m68k/start.cpp
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
extern uint32_t * __bss_link_start;
|
||||||
|
extern uint32_t * __bss_link_end;
|
||||||
|
extern void main();
|
||||||
|
|
||||||
|
extern "C"
|
||||||
|
void start(void)
|
||||||
|
{
|
||||||
|
uint32_t * start = __bss_link_start;
|
||||||
|
uint32_t * end = __bss_link_end;
|
||||||
|
while (start < end) {
|
||||||
|
*start++ = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
main();
|
||||||
|
|
||||||
|
while (1);
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user