Arduino pro mini上でFlashForthを使ってマルチタスクの実験をしたが、hexファイルの書き込みでインストールしている。
しかしやはりソースからアセンブルしたい。 (FlashForthのアセンブル(1)よりの続き)
[3]ビルドするとエラー
/home/ishi/.mchp_packs/Microchip/ATmega_DFP/2.4.131/xc8/avr/lib/avr5/memx-const/crtatmega328p.o:../../../../../crt1/gcrt1.S:352: undefined reference to `main'
collect2: error: ld returned 1 exit status
-->macro-xc8.incにコメントがあった。これをMPLABXに設定
;;; - Add linker option "-nostartfiles"
[4]やっとビルド成功。Hexファイルはここに出来る
~/MPLABXProjects/FlashForth.X/dist/default/production/FlashForth.X.production.hex
ところが付属していた328-16MHz-38400.hexとdiffを取ってみるとちょっと違う。
Cだと最適化で差が出るかもしれないが、アセンブラで差が出るのはおかしい。
微妙にアドレスがずれているような感じ。
FlashForthのアセンブル(3)に続く
※コメント投稿者のブログIDはブログ作成者のみに通知されます