PIC24FJ用ブートローダ (boot loader)の作成(2)
PIC24FJ128GB204でリンカーファイル(.gld)を用いて作成したプログラムがうまく動作しません。デバッガー(PICkit3)でステップ実行しながらSFR(スペシャル・ファンクション・レジスター)を調べてみると、いくら出力ポート設定しても設定した値が入らず、入力ポートのままです。
今回、PIC24FJ128GB204用の.gldファイルはPIC24FJ64GB002からCONFIG1~4のアドレスを変更して作成しましたが、よくよく調べるとSFRのアドレスが違うではありませんか。悩むこと2日間。。。やっと解決方法が見つかりました。
Microchip の mla をダウンロードしてきて、解凍したファイルの
C:\microchip\mla\v2017_03_06\apps\usb\device\bootloaders\firmware\pic24_dspic\linker\hid_boot_p24FJ128GB204.gld
を使うことにします。
※以下のファイルでもフォーマットは違うが内容は同じです。
C:\microchip\mla\v2017_03_06\apps\usb\device\bootloaders\firmware\pic24_dspic\exp16_pic24fj128gb204_pim.x\hid_boot_p24FJ128GB204.gld
オプティマイズを変更し、ブートローダのプログラムサイズを小さくしなくても問題ありませんが、メモ代わりに画面を残しておきます。
続きは(3)へhttp://fujiharagiken.hatenablog.com/entry/2017/10/07/080327