STM32F4の開発環境をCoIDEにする
管理人のページ:
久しぶりの投稿です。本業が忙しく、このところすっかりご無沙汰してしまいました。
諸般の事情でシェーキーをまた動かすことになり、ついでにソフトを若干修正しようかということになりました。しかし苦労して構築した開発環境は、XPから7に乗り換えた際、面倒なので再構築していません。情報が古いこともあり、改めて再構築するのはどうも大変です。調べてみるとCoIDEというフリーの開発環境があり、これは比較的簡単にインストールできそうです。これを試してみることにします。
こちらのサイトに従ってインストールは順調に済みました。versionは1.7.6でした。空のプロジェクトを作ってソースコードを一式持ってくればいいのですが、importで持って来れるのがリンクで、コードの実体が持ち込めないので、注意が必要です。
テストしてみるとどうも浮動小数点の変数をsprntfで配列に落とそうとすると、暴走することがあるようです。色々調べたところスタートアップでスタックの設定がおかしいようでした。下はIDEが生成するスタートアップファイルですが、これの145行が変更箇所です。CooCoxの質問サイトで見つけた情報ですが、今のところこれでよさそうです。
ただ、困ったことにサーボのPWMがだめでした。1500usのところが2500usくらいになってしまっています。シリアル通信などは正常ですが、delay時間などにも影響がでていることから、カウンタ用のクロックの設定がまずいようです。ただ、STM32F4のクロック周りは複雑で、現時点でこの問題は解決できていません。まあ、スタートアップあたりをじっくり調べればなんとかなると思いますが、現状にあわせてしまってもいいかなと思います。
それより困ったことは.coprojの拡張子がつくプロジェクトファイルが消えることがあることです。そうなるとプロジェクトを再構築するしか手がないようです。まあ、ソースファイルが消えたりすることはないので、面倒なだけでなんとかなるのですが。この現象はファイルメニューからExit処理をしないで、クローズボックスでIDEを落としたときに発生しやすいようです。起動前に.coprojファイルのコピーを作っておき、トラブルが発生したときに、差し替えるようにすれば、まあなんとかなるようですが。