3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

NUCLEO-F401REでTOPPERS/ASPを動かす(Mac+Eclipse版)

Last updated at Posted at 2016-12-21

NUCLEO-F401RE で TOPPERS/ASP(RTOS)を動かす
を見て、Macしかないけどやってみたいと思った方向けです。

Eclipseを選択したわけ

元記事はTrueSTUDIOを使っているのですが、ダウンロードページを見ると...

TrueSTUDIO-supportedOS.png

Mac版は「Coming 2017」となってるんですね。もうすぐなので待つのも一つの手でしょうけど、2017年のいつリリースされるかわからないので、別の手段を考えることにします。
TrueSTUDIOはEclipseベースなので、それならEclipseが無難かなということでEclipseにしました。

用意するハードウェア

元記事と基本的に同じです。

  • NUCLEO-F401RE
  • USB(miniB)ケーブル
  • PC(Mac)

用意するソフトウェア

ST-LINKのアップデートの確認

まず最初にST-LINKのアップデートの確認を行っておきましょう。
上記リンク先にあるソフトウェアSTSW-LINK007をダウンロードして実行してください。
(アップデートされていない場合はプログラムのダウンロードができません)
TODO:詳しい方法を書く

GNU ARM Eclipseのインストール

Eclipse CDTを起動します。
Help -> EclipseMarketPlace... をクリックすると以下のような画面が表示されます。
探すのが大変なので、Find のところに "GNU ARM" ぐらい入れると見つかるでしょう。
右下の方にあるInstallをクリックするとインストールが始まります。

Eclipse Marketprace-GNU ARM Eclipse.png

TOPPERSの構築

簡易パッケージもあるのですが、こちらはWindows用に作成されているようだったので、個別パッケージから作成することにしました。

個別パッケージからASPを作成する

ターゲット非依存部、ターゲット依存部それぞれ解凍します。
(ダブルクリックで展開するとどちらもaspという名前になるので注意)
ターゲット非依存部にターゲット依存部を上書きします。

スクリーンショット 2016-12-21 12.18.14.png

aspディレクトリの配下は上記のような感じ。toolsディレクトリが作成されていればOK。

cfgの追加

Macの場合、cfgを別途もってくる必要があります

http://toppers.jp/download.cgi/cfg-osx-static-1_9_5.tar.gz

解凍してでてきたcfgファイルを
asp/cfg/cfg ディレクトリを作成し、その中に置きます。
asp/cfg/cfg/cfg (3つのcfgのうち、前2つがディレクトリで3つめがファイル)
のような感じになります。

eclipseのワークスペース & プロジェクトの作成

ここでは私の方で用意したプロジェクトを使用します。
githubには置いた都合上、名前が冗長になっているので「eclipsews」という名前でtoolsディレクトリ内にcloneします。(以下の画像を参考にしてください)
スクリーンショット 2016-12-21 12.25.17.png

(コマンドをコピーしたいときは↓を使用してください)

git clone git@github.com:yurie/eclipsews-asp-nucleof401re.git eclipsews

動作確認

ここで一度コマンドラインからビルドしてみましょう。

$ cd eclipsews/stm32f401nucleo/
$ make

asp.elfができたらOKです。1

確認できたらcleanしておきましょう

$ make clean

eclipseから起動する

ワークスペースはeclipsewsを選択します。
eclipsewsの場所.png

以下、私の環境の都合上、英語版lunaでのキャプチャになっています。

ワークスペースは真っ白なので、プロジェクトをインポートします。
プロジェクトエクスプローラ内で右クリックすると以下のようなメニューが出てくるのでimportを選択してください。
スクリーンショット 2016-12-21 12.59.58.png

メニューからGeneral->Existing Projects into Workspaceを選択します。
スクリーンショット 2016-12-21 13.00.55.png

先ほど作成したasp/tools/wclipsewsを選択するとProjectsにstm32f401nucleoが出てくるのでそれを選択してfinishしてください。
スクリーンショット 2016-12-21 13.01.58.png

stm32f401nucleoプロジェクトが出てきましたね!

gccのパスの設定

プロジェクトのプロパティを開きます。
C/C++ Build -> Environmentタブを表示してPATHにgccのパスをいれてください。

スクリーンショット 2016-12-21 13.17.58.png

PATHの行を選択してEditボタンをクリックして表示される以下の画面で「/usr/local/gcc-arm-none-eabi-4_9-2014q4/bin」のところをご自身の環境に合わせて変えてください。
スクリーンショット 2016-12-21 13.20.13.png

それではさっそくビルドしてみましょう。
メニューのBuild->BuildProjectもしくはプロジェクトを選択して右クリックで表示されるメニューからBuildProjectを選択します。

OpenOCDのパスの設定

Eclipseメニューの Eclipse -> 環境設定
Preferences 画面の左側のメニューからRun/Debug -> OpenOCDを選択します。
Folder: のところにOpenOCDをインストールしたパスを入れてください。
以下の画像はHomebrewからインストールしたバージョン0.9.0を選択した例です。
(Browseボタンから選択するのがよいでしょう)

prefarence-OpenOCD.png

Debugの設定

というか、ボードにプログラムをダウンロードします。
debug(虫のアイコン) -> Debug Configurations... から作成します。
スクリーンショット 2016-12-21 17.49.49.png

スクリーンショット 2016-12-21 17.51.20.png

GDB OpenOCD Debugging を選択して新規作成します。2

MainタブはProjectとC/C++Applicationを設定
スクリーンショット 2016-12-21 17.54.37.png

Debuggerタブの設定
Config options: に -fオプションでstlink-v2.cfgst_nucleo_f4.cfg の場所を指定します。
Homebrewでインストールしたらおそらく以下の場所にあるでしょう

-f "${openocd_path}/../share/openocd/scripts/interface/stlink-v2.cfg" -f "${openocd_path}/../share/openocd/scripts/board/st_nucleo_f4.cfg"

GDB Client Setup のExecutableに使用するarm-none-eabi-gdbのパスを設定します。

スクリーンショット 2016-12-21 18.18.17.png

Startup タプの設定
Initialization Commands のテキスト欄に以下の文字列をコピーします。

set remotetimeout 20
monitor reset init
monitor sleep 50

下の方(Mackbookだと隠れてるかもしれないので注意)にあるRun/Restart Commandsの Set breakpoint at: の値をtaskにします3

スクリーンショット 2016-12-21 18.24.18.png

一画面で撮れなかったので↑の画面の下の方です。
スクリーンショット 2016-12-21 18.18.43.png

ボードにダウンロードする

上記の設定ができたらDebugから実行してみましょう。

コンソールのGDBのタブに以下のように表示されたらOKです。
現状ではデバッグはできないので(ごめんなさい)ここで終了しましょう。

スクリーンショット 2016-12-21 18.10.14.png

コンソールから実行する

ダウンロードしたプログラムをシリアル経由で操作してみます。

minicomの設定

Serial Device にボードが使用しているUSBポートを設定します
Serial Device : /dev/tty.usbmodem1413(私の場合)
ボーレートは115200その他デフォルト設定のままで大丈夫な感じでした。

minicomを起動してボードのリセットボタン(黒い方)を押すと以下のように表示されます。
見慣れた?表示がでてきましたね。
入力もできますので、コマンドを入力してみてください。
(コマンドの説明はsample1.c内のコメント文を参照してください)

スクリーンショット 2016-12-21 18.54.33.png


  1. ここで確認しておくと、Eclisepの設定が悪いのかASPの方が間違ってるのかの切り分けがしやすいので 

  2. メニューにない!という場合はGNU ARM Eclipseがインストールされていない可能性が高いです。もう一度確認してください 

  3. TOPPERSはmainがないのでmain相当の場所にしました  

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?