STM32の新しいライブラリを試してみた

前回も終わりのあたりでさらっと触れましたが、まず標準周辺ファームウエアライブラリ
(STM32F10x_StdPeriph_Lib)がv3.1.0->v3.1.2に変更しています。それとまだRC版ですが
USBライブラリ(STM32_USB-FS-Device_Lib)もV3.0.1->V3.1.0RCになっています。前回
はさっと見ただけで済ませてましたが、もう少し深く立ち入って検証してみたのでその
所感をば…。

●STM32F10x_StdPeriph_Libの方
 全体的に大変更は無く、若干のコメント記述の変更やデモプロジェクトの追加等でお
さまってるようです。ライブラリそのものもごっそり入れ替えるだけ公開してきたいくつか
のサンプルで正常動作を確認しています。

 また、前々回FreeRTOSを動作させた時スタートアップ周りのコードをそのまま使っていると
数秒で止まってしまった問題
は私が設定したスタートアップのdefine漏れと私自身が作成
したi2cローレベルルーチンのバグ(ACKフラグの消し忘れ)が原因だということが分かり(orz)、
結局そこを直しただけでわざわざ変更修正していたsystem_stm32f10x.cも配布の物を
そのまま使える状態で動かすことができています。
つまらん時間食ったぜ…orz

●STM32_USB-FS-Device_Libの方
 現状まだRC版ですが内容物を見たところ、7月頃に公開されていたConnectivity-Line
用のUSBOTG-LIBと合併した形で公開されています。おそらく正式リリース版もこの形で
提供されることになるでしょう。また、評価ボードごとのヘッダ・ソースファイルも今回より新
しく提供されていました。私のようにCQ-STARM基板を改造しまくって使用し、かつライブラリ
付属のサンプルを流用してる人は要注意です。

 ちなみにSTM32F103系で使えてたUSBライブラリはUSB-OTG(とOTG用のPHY)が乗った
107系には転用できません(だからライブラリもわざわざ別にされてたわけなんですが)。今回
のライブラリの合併(サンプルプロジェクト付き)によって107系でも手軽にUSBが扱えるよう
になりました。でもって肝心の動作の方なのですが、STM32F103系はそのまま差し替える
だけで問題なし。STM32F107系もOTG-LIB関連のファイルを追加してビルドするようにすると
USBデバイスとして動かすことができるようになりました。現状では、USB-CDC・MSCの
二つは動作を確認できています。提供されているサンプルは今のところターゲットデバイス
のみに絞られており、OTGの機能をフルに使ったものはまだないようです。
今後の充実に期待ですね…私もUSB-miniABコネクタ買っとかないと…。


前回は新ライブラリで動作を確認次第公開していたサンプルコードも順次差し替えていくと
言いましたが、上述のとおりUSBのライブラリももうすぐリリースされそうなのでこちらの
正式リリースを待って公開としていこうと思います。今から急いでも仕方なしですからね〜
…特に107系は。




あ、いちおう言っとくけどLPC2388はUSB-OTG用のPHYチップ付けないとOTGの機能使えま
せんから!USB-TargetだけもしくはUSB-HostだけならPHY無しの直結でも動きますけどね…。

Go to top of page