libmapleでブートローダー

2011-09 libmapleで仮想COM


libmapleを使って仮想COMベースのブートローダーを作る。

ダウンロード:

説明:

  • C言語のみで仮想COMフレームワークを構築しています。
    • ファームウェア、ホスト側ユーティリティ、およびソースコードを含みます。
  • ブートローダーとして使用できます。
    • アプリケーションフレームワークとしても使用できます。



armon/armboot との違い:

  • armon/armbootはUSBのHIDクラスを使用していますが、こちらはCDCクラス(仮想COM)となります。
  • CDCクラスになるため、デバイスドライバーの組み込みが必要です。(Windowsの標準仮想COMドライバーになります)
  • CDCクラスは、転送速度がHIDデバイスよりも高速です。
  • ブートローダーのサイズがHIDのもの0x2000(8kB)から0x3000(12kB)に増加しています。

  • 簡易モニターのホスト側ソフトは cdcboot/host/cdctool.exe を使用します。
  • FLASH書き換えのホスト側ソフトは cdcboot/host/cdcboot.exe を使用します。
  • CQ-STARM , STM8S-DISCOVERY , STBee , STBeeMini の4基板をサポートしました。
  • 常駐サイズは12kB(実際のコードサイズは10kB程度)です。





現バージョンの問題点

  • STBeeのみ、アプリケーションモードへの切り替えが、ややうまくいきません。
  • (cdcboot.exe -r がうまくいかない)
  • とりあえずアプリ書き込み後、USBケーブルの挿しなおしでアプリケーション起動になります。