LED点滅プログラム
led.c
LED動作プログラム本体である。
VectorTable[0]は、アドレス0に配置されている。CPUは、リセット直後、
アドレス0 からの4byteを読込み、そのアドレスにジャンプする。
ここに、start を指定しているので、crt1.s の _start にジャンプすることになる。
スタートアップ
crt1.s
リセット直後、このプログラムが実行される。
crt1.s は、メモリーの初期化を行い、スタックを設定し、
lcd.c の main()を呼び出す。

リンカスクリプト1
module.x
リンクするモジュールを記述している。
crt1.s をアセンブルしたもの、
led.c をコンパイルしたもの、
標準ライブラリをリンクする。
リンカスクリプト2
adrs.x
割りつけるアドレスを記述している。
LED点滅プログラム本体コンパイル
C-c C-c h8300-hms-gcc -fomit-frame-pointer -c -O2 -mh -o led.o -Wall led.c
スタートアップルーチンアセンブル
M-! h8300-hms-gcc -o crt1.o -c -O2 -mh -Wall crt1.s
リンク
M-! h8300-hms-ld -relax -Map hello.map -Tmodule.x -Tadrs.x
ROMイメージ作成
M-! h8300-hms-objcopy -R .data -R .perireg -O binary hello.x 00001.bin
逆アセンブル
M-! h8300-hms-objdump --disassemble-all --target=binary --architecture=h8300 00001.bin > disasm.s
書込み用ROMイメージ
M-! h8300-hms-objcopy -R .data -R .perireg -O srec hello.x 00001.mot
エミュレーターへのダウンロード

M-! rezrome -r27010 00001.bin


マイコン研修ホーム