{
vector : o = 0x00000000, l = 0x00000040
rom : o = 0x00000040, l = 0x0000ffc0
- ram : o = 0x40000000, l = 0x00004000
+ ram : o = 0x40000000, l = 0x00100000
}
SECTIONS
depend: makeexe_depend
.PHONY : mostlyclean
-mostlyclean: clean
+mostlyclean: clean kernel_clean
$(MAKE) -C $(APLFW_BUILD_DIR) -f gmake.mak clean
.PHONY : mostlydepend
# %jp{アーキテクチャ定義}%en{architecture}
-ARCH_NAME ?= mips1
+ARCH_NAME ?= jelly
ARCH_PROC ?= mips/mips1
ARCH_IRC ?= mips/jelly
ARCH_CC ?= gcc
# %jp{オプションフラグ}%en{option flags}
-AFLAGS = -march=mips1
-CFLAGS = -march=mips1
+AFLAGS = -march=mips1 -msoft-float -G 0
+CFLAGS = -march=mips1 -msoft-float -G 0
ARFLAGS =
# %jp{リンカスクリプト}%en{linker script}
-LINK_SCRIPT = link.x
+LINK_SCRIPT = rom.lds
# %jp{内蔵RAM}%en{internal RAM}
ifeq ($(MEMMAP),ram)
-LINK_SCRIPT = linkram.x
+LINK_SCRIPT = ram.lds
TARGET := $(TARGET)_ram
endif
# %jp{オプションフラグ}%en{option flags}
-AFLAGS = -march=mips1
-CFLAGS = -march=mips1
-LNFLAGS = -march=mips1 -nostartfiles -Wl,-Map,$(TARGET).map,-T$(LINK_SCRIPT)
+AFLAGS = -march=mips1 -msoft-float -G 0
+CFLAGS = -march=mips1 -msoft-float -G 0
+LNFLAGS = -march=mips1 -msoft-float -G 0 -nostartfiles -Wl,-Map,$(TARGET).map,-T$(LINK_SCRIPT)
# %jp{コンパイラ依存の設定読込み}%en{compiler dependent definitions}
--- /dev/null
+OUTPUT_ARCH(mips)
+ENTRY(_reset_handler)
+
+MEMORY
+{
+ rom : o = 0x00000000, l = 0x00010000
+ ram : o = 0x00010000, l = 0x00010000
+}
+
+SECTIONS
+{
+ .text :
+ {
+ ___text = . ;
+ */crt0.o(.text)
+ *(.text)
+ *(.strings)
+ *(.rodata*)
+ *(.glue*)
+ ___text_end = . ;
+ } > rom
+ .tors :
+ {
+ . = ALIGN(4);
+ ___ctors = . ;
+ *(.ctors)
+ ___ctors_end = . ;
+ ___dtors = . ;
+ *(.dtors)
+ ___dtors_end = . ;
+ } > rom
+ data : AT (ADDR(.tors) + SIZEOF(.tors))
+ {
+ ___data_rom = ADDR(.tors) + SIZEOF(.tors);
+ ___data = . ;
+ *(.data)
+ _gp = ALIGN(16) + 0x7ff0;
+ *(.sdata)
+ ___data_end = . ;
+ } > ram
+ .bss :
+ {
+ ___bss = . ;
+ *(.sbss)
+ *(.bss)
+ *(COMMON)
+ *(.scommon)
+ ___bss_end = . ;
+ } > ram
+}
+