mbedのチームwikiに書いてたのをテケトーに移植したものです.
レイアウト等崩れてるかもですが,お許しください.
また,Windows向けに資料を書いているため,OS依存のコマンド等異なるかもしれませんが,ご了承ください.
必要なソフトウェア
・Git
・Mercurial
・ARM_GCC
・Python
・mbed CLI(インストール方法は後述)
・エディター※メモ帳以外
[追記 2018.8.23]
Windows向けにこれらをまとめてインストールできる,Windows mbed-cli Installerがありますが
使ってみたところバグがある可能性があるので推奨しません.pipの最新版では正常に動作しないかもしれません.9.0.3または1.5.6にダウングレードしてみてください. [以上]
メモ帳で,オンラインからクローンしたソースファイルを開くと
改行,インデント等が反映されないため,推奨しません。
また,上記以外にもsourcetreeやtortoisehg
のようなMercurialクライアントがあると便利かもしれません(Windowsの場合Gitは公式のGUIが付属)
第1章.オフラインコンパイル下準備
1.mbed-cliのインストール
python -m pip install mbed-cli
mbed cli 最新版(2018.8.23現在)では正常に動作しないことがある.うまくいかないときは,
一度アンインストールしてからバージョンを1.3に下げることをおすすめします.
python -m pip uninstall mbed-cli
python -m pip install mbed-cli==1.3.0
2.mbed作業フォルダの作成
mbedで作業するフォルダを作ります
パスに日本語が含まれないように注意※エラー吐きます
上記の点さえ守れば,フォルダ名・作る場所も自由です。
この資料ではC:\mbed
として進めます
3.Mbed-CLIの設定
コマンドプロンプト(ターミナル)で以下のコマンドを入力。
//PC毎の設定
mbed config --global toolchain GCC_ARM
mbed config --global target NUCLEO_F446RE
//プログラム毎の設定(コントローラーのプログラム等におすすめ)
cd C:\mbed\programname
mbed config target NUCLEO_F103RB
Targetについては自分が使うNUCLEOの型番に置き換える。いつもと違うマイコンを使うときは設定変更が必要。
第2章.新しいプログラム作成~コンパイルまで
ここでは「newprogram」という名前のプログラムを作りコンパイルを行う
1.プログラムの作成から空のソースファイルを作成・開くまで
cd C:\mbed //1章で作った作業フォルダに移動
mbed new newprogram //新規プログラムの作成※
cd newprogram
vim main.cpp //エディター起動(Vimの場合)
//※バージョン管理にGitではなくMercurialを用いる場合
mbed new --scm hg newprogram
なお以降の説明では,コマンドプロンプト(ターミナル)では既に
プロジェクトフォルダ(C:\mbed\newprogram)に移動しているものとします。
cd C:\mbed\newprogramは省略します
2.ソースファイルを編集
3.いよいよコンパイル
mbed compile
//うまくいかなかった場合,もう一度
mbed compile
//または
mbed deploy
mbed compile
//binファイルが生成されたか確認する(Windowsの場合)
explorer BUILD
mbed-cliは飽きっぽい子
コンパイル中,こんなエラーが出て終了してしまうことがあります.
[ERROR] [Errno 0] Error
[mbed] ERROR: "C:\Python27\python.exe" returned error code 1.
[mbed] ERROR: Command "C:\Python27\python.exe -u c:\mbed\gyropractice\mbed-os\tools\make.py -t GCC_ARM -m NUCLEO_F446RE --source . --build
.\BUILD\NUCLEO_F446RE\GCC_ARM" in "c:\mbed\gyropractice"
これはPythonが「もう飽きた」と言って作業を放り投げてしまうからです.
※ふざけているようですがこう例えるしかなかった.許してください
この場合はもう一度"mbed compile"ってやるとちゃんと続きからコンパイルをしてくれます.
第3章.os.mbed.com(オンラインIDE)でも作業できるようにする
mbed Compilerではバージョン管理(後述)システムにMercurialを用いています
0.間違えてGitを使う設定にしてプログラムを作成した場合
rmdir .git /S //.gitフォルダを削除
hg init .//このディレクトリでMercurialリポジトリを作成
1.リモートリポジトリの作成
- https://os.mbed.com/users/【ユーザー名に置き換え】/code/ を開く
- [Create mbed hosted repository]をクリック
- プログラム名と同じ名前(一文字も間違えないように注意)のリポジトリ(ここでは[newprogram]
というリポジトリ)を作成する。
ソースコードの流出を防ぐためRepository visibilityはPrivateを推奨。
Choose destinationはチームでの共同作業を想定している場合は,自分のチーム名を選択。 - リポジトリを作成したら,リポジトリのページのURLをコピー。
2.Mercurialの設定
vim .hg\hgrc //構成設定ファイルの作成→テキストエディタで開く
[paths]
default = https://os.mbed.com/users/taro_yamada/code/newprogram/ //コピーしたURLを貼り付け
[proxy] //プロキシ設定(グローバル設定に記載したほうがいいのかも)
host = proxy.example.co.jp:8080 //プロキシサーバーとポート番号
passwd = password //プロキシのパスワード
username = taro_yamada //プロキシのユーザー名
構成設定ファイルでは1文字目に#を入力した行はコメント扱いとなる
3.Mercurialで同期
hg add main.cpp //以後,ソースファイルやヘッダファイルは同様に処理
hg add mbed-os.lib //必要なライブラリは[ライブラリ名].libでaddする
hg files //必要なファイルが追加された確認できる
hg commit//変更をコミット
//テキストエディタが開くのでコミットメッセージを適当に入力し保存して閉じる
hg push//変更をリモート(オンライン)に反映
Mercurialクライアント(sourceTreeやTortoiseHg)を使うともっと楽に作業できる
4.mbed Compilerにインポート
- mbed compilerを開く.
- [URLからインポート]でリポジトリのページへのURLを入力しインポート
参考資料
mbed-CLI
https://developer.mbed.org/users/ytsuboi/notebook/ja-setup-mbed-cli-on-windows/