上原と申します。
はじめまして、くぬぎざさま。おもしろい ^^; 実験のホームページを毎日のぞかせてい
ただいています。
main(){
}
でROMイメージを作成すると、9.4kbyteでした。
オブジェクトファイルは80kbyte程ありました。
たぶんオブジェクトファイルをROMイメージにされていないのが原因かと。
objcopy -O binary -R .stack [object file name] [binary file name]
でROMイメージになります。あとSフォーマットとかにもこのobjcopyで出力できます。
詳しくはinfoファイルなどを。
使ったのはgcc 2.8.1 + binutil 2.9.1 です。
私はつぎのようなMakefileを使っています。
main.c をコンパイルしてstep1.binというROMイメージを作成しています。
h8crt0.oはnewlibかどこかにあった初期化ルーチン、h8rom.xは割り込みなどのアドレス
配置マップです。
STEP = step1
CC = h8300-hitachi-hms-gcc
OBJCOPY = h8300-hitachi-hms-objcopy
AS = h8300-hitachi-hms-as
CFLAGS = -O2 -g
CROSS_CFLAGS = -nostartfiles
TARGET_CFLAGS = -mh -mrelax
INCLUDES_DIR = -I/usr/local/h8300-hitachi-hms/include/
LIBS_DIR = -L/usr/local/h8300-hitachi-hms/lib/
LIBS =
CRT0 = h8crt0.o
LD_MACRO = h8rom.x
#
.c.o:
$(CC) $(CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) -I$(INCLUDES_DIR) -c $<
all : main.c
$(CC) $(CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) $(INCLUDES_DIR) \
$(LIB_DIR) $(LIBS) -T $(LD_MACRO) $(CRT0) main.c -o $(STEP)
$(OBJCOPY) -O binary -R .stack $(STEP) $(STEP).bin
main.s : main.c
$(CC) $(TARGET_CFLAGS) -I$(INCLUDES_DIR) \
-S main.c