2010年10月28日木曜日

ブートローダーとは

ライターを使わなくても、PICマイコンをUSB接続して、
プログラムを書き込む事が出来ます。

ここではMicrochip社のブートローダーを使います。


ブートローダで書き込む時のマッピングアドレス
#define REMAPPED_RESET_VECTOR_ADDRESS 0x1000
#define REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS 0x1008
#define REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS 0x1018


usb_config.hに下記一行を追加する必要があります。
#define PROGRAMMABLE_WITH_USB_LEGACY_CUSTOM_CLASS_BOOTLOADER


(参考)ライターで書き込む時のマッピングアドレス
#define REMAPPED_RESET_VECTOR_ADDRESS 0x00
#define REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS 0x08
#define REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS 0x18

ブートローダの方が0x1000をシフトされる。
0x00-0xFFFはUSB HID Bootloaderのプログラムエリア。

ハードウェアではブートローダー と ファームウェア の切り替えスイッチを設ける必要があります。
通常ではファームウェアの方が実行されます。

RB4に接続されたスイッチを押しながら電源を入れるとブートローダーが実行します。

0 件のコメント:

コメントを投稿