2017年04月01日

STM32CubeF3 v1.7.0

今回はCubeMXのライブラリをアップデートした際に
遭遇した不具合?について共有したいと思います。


先日リリースされたSTM32CubeMX4.2.0
とSTM32CubeF3 1.7.0を適用しました。


その後、STM32CubeF3 1.6.0で生成した
CubeMXのプロジェクトファイル(*.ioc)を開いて、
再度、別のコードを生成すると
・HALドライバはSTM32CubeF3 1.6.0
・自動生成コードはSTM32CubeF3 1.7.0という
現象が発生しました。

そのため、STM32CubeF3 v1.7.0から増えたパラメータ

htimX.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;

がHALドライバにないため、
コンパイルが通らないという現象が発生しました。



cubemxf3.png

設定はSTM32CubeF3 1.6.0から読み込む設定です。


STM32CubeF3 1.6.0で生成したCubeMXの
プロジェクトファイル(*.ioc)を流用せずに
0から新規プロジェクトで生成すると上手くバージョンが一致したコードが生成されました。

古いバージョンで生成したプロジェクトファイル(*.ioc)は
テンプレートの読み込み先を最新にするか、
0から新規プロジェクトで生成するのが良さそうです。

特に新しい機能が追加された場合、
旧ドライバにない機能をコメントアウトで対応できますが、
新機能が不定となる可能性もあり、
別の不具合を起こす可能性もあるので、統一した方がよいと思いました。


バージョンアップするとこいう不具合が起きたりするので、
アップデートを見送るか、適用するか悩ましいものです。


ちなみに新しく増えたパラメータAutoReloadPreloadは
TIMx_ARR registerのバッファ有無切替が可能なようですが、
どのような効果があるのか、
資料を見つけられず良く分かりませんでした。
また、追って調査してみたいと思います。


**追記**
おすすめできる方法ではありませが、
あとから再度、旧ライブラリで生成する場合は
*.iocファイルをテキストエディタで開いて、
V1.X.X.Xの部分を書き換えるのが手っ取り早い方法と分かりました。

posted by Crescent at 00:00| Comment(0) | TrackBack(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック