|
カテゴリ:電子工作
やっとARM cortex-M4コア STM32F407VG搭載のF4-DISCOVERYボードへ最初の一歩であるI/Oを使ったLED点滅プログラムまで辿り着いた~♪
↓青LEDは点滅ですよ~(ボードをラックに入れるため余計は部品は取り外してありますw) ![]() これまでARM系とは縁が無かったので概要程度しか情報収集していなかったが、使い始めてみると国産CPUのマニュアルがいかに親切に解説してあるか身に沁みたw まずARM社はCPUコアの設計データをデバイス製造メーカー(ベンダー)へ売り、ベンダーで周辺の回路を設計~製造して販売しているという形態なので、CPUコアに関する部分はARM社から情報を探し、その他は製造デバイスメーカーから情報を得ることになる つまり、マニュアルは1つでは無く複数を読み漁ることになるわけだ 今回はSTマイクロ社のMCUなのでHomePageから資料をダウンロードしたのだが、各社で周辺は全くの別物であるので同じCPUコアを採用していても使いまわせ無い訳でARMの中でシェア獲得競争が激しくなるのは必然だわ んで、STマイクロのドキュメントは何かとバラバラに分割するのが好きなようで、 ・MCUごとのハードウエアドキュメント(周辺機能については数行の概略のみ) →触りしか記述が無く、かなり内容が薄い・・・ページ数も少ない ・コアシリーズごとのリファレンスマニュアル(周辺機能を重点的に解説) →多機能な部類であるので凶悪なページ数で印刷する気が起きない、でも内容は簡略されていて情報は最小限w ・メーカー提供の周辺ライブラリ一式(ソース付ってか・・・アーカイブ化は自分でする形式w) →無料で公開しているので文句は言えないが使い方の説明がPDFに無くCHMで閲覧する方式なので使いにくい(昔のVer.にはPDFもあったらしいが・・・内容は薄いし親切に解説してないから使いにくいだろうけど) サンプルも沢山あるが、このライブラリを使う前提なので必然的に仕様が判らないと使いこなせないwおまけに多機能なハードをさらにマクロ展開しまくっていて難解なので根気が必要です でも機能は結構まともなので無料で使えるというのは大変有難い・・・STマイクロがSTM32F1でARM cortex-M系シェアの半程度分を得たそうだが、ライブラリ無償提供と量産効果で価格が安く出来たのが原因ではないかな~(勝手に想像ww) ・・・等々、ドキュメントは沢山のあいだを行き来して読み漁る必要があります、大変ですw で、経緯はつまらないのでスタートから完成までの1週間は割愛w 結果としては、まずソフトタイマーでLED点滅、ついでにSystick割込みに便乗してLED点滅まで出来ました つまずいた点は沢山あるけど、最重要なのがライブラリの設定でF4ではデフォルトのまま使うと周期が設定の3倍強になってしまう(これ重要、だめっしょw) 原因はF4はHSEクロック(設定範囲4~26MHz)は外付け水晶は168MHzで使うので8MHzだがデフォルト設定は25MHzにライブラリ側で設定してある為、25/8倍にタイマー周期が変わってしまっていた(ボーレートやらも全部影響するのは必至w) 修正箇所は2箇所 ・全体の周辺機能用ヘッダ stm32f4xx.h × HSE=25000000 ○ HSE=8000000 ・設定用ソース system_stm32f4xx.c × PLL_M=25 ○ PLL_M=8 以上を修正してやると希望する周期ピッタシに動作しました F4使う人は殆どが8M水晶使うだろうから、この2箇所は最初から修正していたら世界中で悩む人が少なかっただろうに・・・まぁ無償提供だから文句いえないかw お気に入りの記事を「いいね!」で応援しよう
最終更新日
2013年02月08日 00時38分38秒
コメント(0) | コメントを書く
[電子工作] カテゴリの最新記事
|