2.4GHz版プロポ作製-USBブートローダ編

Microchip Solutions内にブートローダを発見したので動作を確認

1.マイコンにブートローダを書き込む。
所在:C:\Microchip Solutions v2011-12-05\USB\Device - Bootloaders












ブートローダは2種類ありましたが、推奨のHID Bootloaderを使用しました。
使用しているマイコン(PIC18F4550)用のhexファイルをライターで書き込みます。
これで、以降はUSBケーブル経由でプログラムの書き込みが可能になります。
注)ブートローダーが約1KB消費するので、プログラムは残容量に制限されます。

2.アプリをブートローダ対応にする。

ベクター類のアドレスを変更する必要がありますが、BasicDemoのmain.c内「VECTOR REMAPPING」に定義が記述済みです。

注)下記の様に、ブートローダの種類、使用/未使用の定義がusb_config.h内に有る様に書かれていますが、これはガセで、HardwareProfile.h内に記述されていました。
  //the USB bootloader.  If no bootloader is used, edit the
//usb_config.h file and comment out the following defines:
  //#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER
  //#define PROGRAMMABLE_WITH_USB_LEGACY_CUSTOM_CLASS_BOOTLOADER

アプリをビルドしてhexファイルが作成されれば完了です。

3.USB経由でアプリを書き込む。

PC用のローダーを実行します。
Vistaマシンでは正常動作しました。
VC++のプロジェクトファイルも入っていたので必要ならカスタマイズも可能です。










実行すると、





















マイコンボードの電源ON又はUSBケーブルを繋ぐ(バスパワー時)と、





















フォルダアイコンでアプリのhexファイルを選択。
書き込みアイコンで、USB経由で書き込みが行われます。
リセットアイコンで、マイコンがリセットされ、アプリが走り出します。

注)hexが用意されているブートローダーは純正評価用ボード用で、独自基板の場合は評価ボードに合わせてSWを搭載しておく必要がある様ですが、無くても、何度かUSBケーブルを抜き差しするとコネクトしてくれるので良しとしておきます。(現在、手元にSWが無いもので・・・)

※SWを押しながら電源ONするとブートローダモード。押さずに電源ONでアプリ実行が本来の動作です。 よって、SWを搭載しないとどちらに転ぶかは運任せです・・・


番外編









ブートローダーのMPLAB用プロジェクトファイルも一緒に入っています。
よって、コードを書き換えて評価ボードとは別のポートのSWでブートローダー起動などカスタマイズできます。

但し、ビルドしてみましたが、残念ながらROM容量オーバーでエラーでした。
オプティマイズもオール設定ですが、無料のスチューデント版ではダメで正規版コンパイラを買えという事の様です。


コメント

このブログの人気の投稿

ARM用クロスコンパイラのビルド(Windows8+Cygwin)

Raspberry Pi のsleep時間測定

Quartus2 V13.1 ~エントリー編 HDL回路から回路図用シンボルを作成する~