STM32 Nucleo STM32F0722015年08月02日

STM32 Nucleo STM32F072 を買ってしまった。

STM32F072

Arduino 互換の pin ヘッダが用意されているのがいい。
Arduino Zero と同じ ARM Cortex M0 コアだが、メモリ容量が少ない。
同じ値段でもっと高性能なコアの Nucleo もあるが、Arduino Zero と同じ M0 コアで、FLASH (128KB) /SRAM (16KB) 容量が ATmega1284P と同じものを選んだ。
STM32F072 は、32-bit CPU で 48 MHz で動作する (Zero と同じ)。
Arduino Duemilanove 1284p は 8-bit CPU 16 MHz 動作だから、32/8, 48/16 の差から、CPU (演算) 性能で 10 倍以上高速だと思われる。

mbed は Web ベースの開発環境なので、ネットに接続できる環境があれば、そのまま使える。
複数のメーカからもいろいろと環境やツールが提供されている。
が、廻り者はローカル (自宅 PC) にフリーな開発環境を構築したいと思う。
Eclipse に ARM plugin を組み込むのだ。

おおまかな手順は、

1) Eclipse + CDT のインストール (すでにインストール済み)
2) Eclipse plug-ins (GNU ARM Eclipse Plug-ins) のインストール
3) toolchain (GNU Tools for ARM Embedded Processors) のインストール
4) デバッグ用ツール (OpenOCD) のインストール

になる。
詳しい手順は、GNU ARM Eclipse (http://gnuarmeclipse.livius.net/blog/) に示されている。
デバッグ用ツール (OpenOCD) については、

https://community.particle.io/t/tutorial-using-eclipse-st-link-v2-openocd-to-debug/10042?redirected=true

を参考にした。

パッケージの名前などに違いはあるが、問題なくインストールできた。
STM32Fxx templates を使って、サンプル・プログラム (C++ Project : STM32F0xx C/C++ Project -> Blink) を走らせてみる。

Include/Timer.h の 33 行目

  void // static を削除

Include/BlinkLed.h の 20,21 行目

#define BLINK_PORT_NUMBER               (0) // LED は Arduino Port D13
#define BLINK_PIN_NUMBER                (5) // PA5 (Port A の bit-5)

のように修正しなければならなかったが、動作することがわかった。

Eclipse ARM

ソース・コードのレベルでのステップ実行やレジスタ/メモリ・ダンプなどができる。
が、FLASH への書き込みができなかったり、Debug が起動できなくなるなどの問題が発生している。
調べる必要がありそうだ。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://walkingmix.asablo.jp/blog/2015/08/02/7722717/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。