ご要望にお応えして、STM32F446RE用Xcodeプロジェクトテンプレートを公開します。
いわゆるNucleo F446REとかいうマイコンボードで使えるやつですね。
必要な環境
Xcode(Version 7.3.1)で動作確認済み
他に、GCCARMとOpenOCDが必要です。
Homebrewでの導入を推奨します。
この辺からHomebrewをインストールしてください。
あとはターミナルで
$ brew install Caskroom/cask/gcc-arm-embedded
$ brew install openocd
とかコマンド打てばどっちも入ります。
インストール方法
以下のリンクからダウンロードしてください。
http://yunit.techblog.jp/Templates/stm32f446.xctemplate.tar.gz
zipで固めても良かったんですが、こういうのはなんとなくtar.gzを使いたくなりますよね。
解凍して出てきたディレクトリを
~/Library/Developer/Xcode/Templates
に入れてください。
Finderで⌘⇧Gを押して上のパスを入れれば移動できます。
そんなディレクトリは存在しないとか言われたら、
$ mkdir -p ~/Library/Developer/Xcode/Templates
とかコマンドを打てばいいんじゃないでしょうか。
使い方
前のやつとほとんど同じです。
同梱されているmbedライブラリをアップデートしたくなったら、~/Library/Developer/Xcode/Templates/stm32f446.xctemplate/mbed を更新すればいいと思います。
あと、mbed-rtosも同梱しておきました。
MakefileのUSE_RTOSの値を1にしてあげれば使用できます。
詳しい使い方とかはMakefileあたりを読んでください。
アンインストール方法
~/Library/Developer/Xcode/Templates/stm32f446.xctemplate を削除すればいいです。
$ rm -rf ~/Library/Developer/Xcode/Templates/stm32f446.xctemplate
とかでも消せるんじゃないですかね。
GCCARMとOpenOCDは
$ brew uninstall ほげほげ
で消せます。
Homebrewのアンインストール方法は知らないです。
何かと便利なんで入れておいて損はないと思います。
注意
一応自己責任でお願いします。
動作確認はしてますけど、動かないからって訴えないでください。
文句言われたら対応するつもりはあります。
2016/09/18 追記
動かないというご指摘をいただいたので調査しました。
その結果、mbedライブラリとの不幸な行き違い(バージョン不一致)によって、不具合が生じていることが判明しました。
現在配布しているものでは修正されています。
コメント
コメント一覧 (7)
2つのエラー
(find: /Users/------------/Library/Developer/Xcode/Templates/embedded/mbed/TARGET/TARGET_STM/TARGET_STM32F4/TARGET_NUCLEO_F446RE: No such file or directory, main.cpp:1:18: fatal error: mbed.h: No such file or directory)
が出ます。Gcraudのブログで公開されている401用の記事のコメントでも同様のエラーが報告されていますが、その後どのように対処したか教えて頂けませんか?
よろしくお願いします。
執筆者のKp君に修正してもらいました。
こちらのブログのものは修正されていますので、すみませんがもう一度試してみて下さい。
問題なく動作しました。
動作レポートありがとうございました!
警告的なマークが出てクリックしたら
Command /Applications/Xcode.app/Contents/Developer/usr/bin/make failed with exit code 2
と出てくるのですがどうすればいいですか…
お願いします。
ともでて来ます…
開発者に確認させてもらいましたが、エラーメッセージが抽象的すぎて原因が把握できないそうです。手元の環境だとインストールから動作まで、最新のmacOSで確認ができていますので、インストール以降の問題が起きているのかと推測されます。
Failed with exit code 2より以前に、エラーの詳細が書かれていると思うのですが、そちらを確認してブログメッセージの方にご連絡頂けないでしょうか。
対応できる範囲でサポートしたいと思っていますので、よろしくお願いします。