# %jp{フラグ設定}
CFLAGS = -mh
AFLAGS = -mh
-LNFLAGS = -mh -nostartfiles -T$(LINKER_SCRIPT)
+LNFLAGS = -mh -nostartfiles -T$(LINKER_SCRIPT) -Wl,-Map,sample.map
# %jp{コンフィギュレータ定義}
LIBS +=
-
# --------------------------------------
# %jp{ルール}
# --------------------------------------
all: makeexe_all $(TARGET_EXE) $(TARGET_ASC)
clean: makeexe_clean
- rm -f $(TARGET_EXE) $(TARGET_EXE) $(OBJS) ../kernel_cfg.c ../kernel_id.h
+ rm -f $(TARGET_EXE) $(TARGET_ASC) $(OBJS) ../kernel_cfg.c ../kernel_id.h
../kernel_cfg.c ../kernel_id.h: ../system.cfg
cpp -E ../system.cfg ../system.i
$(KERNEL_CFGRTR) ../system.i -c ../kernel_cfg.c -i ../kernel_id.h
+mostlyclean: clean clean_kernel
+
+
# %jp{ライブラリ生成用設定読込み}
include $(KERNEL_MAKINC_DIR)/makeexe.inc
+
OUTPUT_ARCH(h8300h)
ENTRY("__reset_handler")
MEMORY
{
- vector(r) : o = 0x000000, l = 0x0100
- rom(rx) : o = 0x000100, l = 0x2000
- ram(rwx) : o = 0xffe140, l = 0x1800
+ vectors : o = 0x000000, l = 0x0100
+ rom : o = 0x000100, l = 0x8000
+ ram : o = 0xffe140, l = 0x1800
}
SECTIONS
{
+ .vectors :
+ {
+ ___vectors = . ;
+ *(.vectors)
+ FILL(0xff)
+ ___vectors_end = . ;
+ } > vectors
.text :
{
___text = . ;
*(.text)
*(.strings)
- *(.rodata)
+ *(.rodata*)
___text_end = . ;
- } > rom
+ } > rom
.tors : {
___ctors = . ;
*(.ctors)
*(.bss)
*(COMMON)
___bss_end = . ;
- } >ram
+ } > ram
}
.h8300h
- .global __reset_handler
- .global __kernel_vector_dmy
- .global __kernel_vector_024
-
- .section .vector
+ .section .vectors
.long __reset_handler ; ベクタ0 リセット
.long __kernel_vector_dmy ; ベクタ1