組込み系システム開発室by藤原技研M

製作中の組込み機器や気になる開発ツールなどを中心に記事を書いています。

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

 

 オプティマイズを変更し、ブートローダのプログラムサイズを小さくしなくても問題ありませんが、メモ代わりに画面を残しておきます。

f:id:fujiharagiken:20171004163234p:plain

 

続きは(3)へhttp://fujiharagiken.hatenablog.com/entry/2017/10/07/080327