stm32ループバック(HID)&BCB6アプリ
急に思い立ち、STM32(CQ-STARM)をHIDにして
BCB6で制御しようと思いました。
とりあえず、ループバックするだけのもの。
はじめは素直にSTの
STM32_USB-FS-Device_Lib_V3.3.0
のCustom_HIDを使おうとしたのですが、
なぜか「STM3210B-EVAL」でビルドすると
PCから認識されなくなるので、あきらめました。
そこで、
ARMCortexM3のHP
と
PICでUSBを!(知識ゼロからのスタートです)
を参考に(ほぼコピペに近いですけど)
作りました。
STM32のfirmwareはデバッグ用にLED on/offを入れている程度。
以前と同様Ride7を利用してビルド(最新版ではないです)。
アプリのほうはBCB6だけでいけるようにするために、
(DDKなどをインストールしないでもやれるように)
http://www.intel.com/intelpress/usb/examples/ZipFiles/FromDDK.htm
のFromDDK.zipの.hファイルを利用し、
BCB6のimplibを使って
implib hid.lib hid.dll
implib setupapi.lib setupapi.dll
としてlibを作成して使ってます。
なんとかこれで動作するようになりました。
どちらも「HidAppTest.7z」に入れてます。
「HidAppTest.7z」をダウンロード
しかし、なぜ、STM32_USB-FS-Device_Lib_V3.3.0のものはビルドすると
HID以外のものでも認識しないのか…。
※わかりました。 Vector Table Relocationを0x3000ずらさないと
いけなかったのでした。
#define VECT_TAB_OFFSET 0x3000
としたらあっさり動きました…。