mbed CLI実測フロー
6698 ワード
私はずっとmbedオンラインコンパイラを使っています.このツールはmbed 2時代にはよく機能していましたが、mbed 5以降はオンラインコンパイルARMCCとオフラインツールチェーンMDK 5の違い(ライブラリ関数の違いや実行時の違いを含む)がよく見られます.だからmbed CLIツールの表現をテストしたいです.
インストールツール
Windows 7以上のユーザーに対してmbedは専門のパッケージを提供し、約180 MB前後である.手動でインストールしたい学生は自分でインストールすることができます. Python 2.7.X; mbed-cliツール、pipでインストール; gitツール; hgツール.
コマンドラインで、システムパスにあるかどうか、バージョンが適切かどうかをそれぞれテストします.
テスト環境の構築
ワークパッドにテストフォルダを作成します.
mbed-osは約500 MBで、導入に時間がかかります.本当のボトルネックはネットワーク接続で、時間がかかり、進捗バーがありません.科学的なインターネット接続方法を自分で探して、十分な帯域幅を確保してください.mbedはHTTPS方式の代わりにSSL方式に構成でき,導入速度を速めることができる.
ソースコードのコンパイルターゲットボード: ツールチェーン: まず、この作業ディレクトリをrootとします.入力:
以上、WARNING/ERROR、私はまだ疑問があります.
入力:
このbinファイルをmbed MSDでNUCLEOにダウンロードし、正常に動作します.
プロジェクトのエクスポート
入力:
ツールチェーンオプションは
MDK 5プロジェクトのコンパイル
プロジェクトがエクスポートされると、正常に開くことができますが、多くの詳細は自分で確認する必要があります. NUCLEO_F 103 RBのDebuggerオプションがSWD方式に切り替わるかどうか. Flashダウンロードアルゴリズムが指定されているかどうか. プロジェクトオプションは、HEXが情報(デバッグ情報)を出力および参照できるようにするかどうか.
コンパイル後、ダウンロードとデバッグを行い、正常に動作します.
ヘルプ情報
mbedは自己解釈スクリプトであり、
入力:
コマンドの詳細を知りたい場合は、コマンドの後に「-h」を付けて入力します.
各コマンドをよく見ると、いくつかの発見があります.
まとめ
簡単なチュートリアルはやっと正常に通り過ぎたが、まだ小さな問題が解決されていない.mbed CLIは簡単なルーチンでF 103 RBのCAN定義の欠落とHardFault実行時の問題が発生しなかったのが良い.しかし、欠点はソースコードのダウンロード、タイのコンパイルに時間がかかり、ハードディスク(HDD)のスペースが多すぎることです.MCUエンジニアリング500 MBで、LEDを切り替えるだけでOS全体をmbed TLSを含めて一緒にコンパイルするのは大げさです.MDK 5と比較してGCC_を使用ARMはかなり速く、GCC_ARMはLinuxでパラレルコンパイルもサポートできます.
インストールツール
Windows 7以上のユーザーに対してmbedは専門のパッケージを提供し、約180 MB前後である.手動でインストールしたい学生は自分でインストールすることができます.
コマンドラインで、システムパスにあるかどうか、バージョンが適切かどうかをそれぞれテストします.
テスト環境の構築
ワークパッドにテストフォルダを作成します.
D:\MBED\MBED-GO-THROUGH
└─dev_directory
dev_directory
を作業ディレクトリとして移動し、次のように入力します.allankliu@DELL-D520 D:\mbed\mbed-go-through\dev_directory
> mbed import mbed-os-example-blinky
[mbed] Importing program "mbed-os-example-blinky" from "https://github.com/ARMmbed/mbed-os-example-blinky" at latest revision in the current branch
[mbed] Adding library "mbed-os" from "https://github.com/ARMmbed/mbed-os" at rev #ca661f9d2852
mbed-osは約500 MBで、導入に時間がかかります.本当のボトルネックはネットワーク接続で、時間がかかり、進捗バーがありません.科学的なインターネット接続方法を自分で探して、十分な帯域幅を確保してください.mbedはHTTPS方式の代わりにSSL方式に構成でき,導入速度を速めることができる.
ソースコードのコンパイル
NUCLEO_F103RB
GCC_ARM
> mbed config root .
[mbed] . now set as default root in program "dev_directory"
> mbed deploy
[mbed] WARNING: Program "dev_directory" in "D:\mbed\mbed-go-through\dev_directory" does not use source control management.
[mbed] WARNING: To fix this you should use "mbed new ." in the root of your program.
---
[mbed] Updating library "mbed-os-example-blinky\mbed-os" to rev #ca661f9d2852
[mbed] Couldn't find build tools in your program. Downloading the mbed 2.0 SDK tools...
以上、WARNING/ERROR、私はまだ疑問があります.
入力:
> mbed compile -m NUCLEO_F103RB -t GCC_ARM
Building project dev_directory (NUCLEO_F103RB, GCC_ARM)
Scan: .
Scan: mbed
Scan: env
Compile [ 0.4%]: AnalogIn.cpp
Compile [ 0.7%]: main.cpp
Compile [ 1.1%]: BusIn.cpp
Compile [ 1.4%]: BusInOut.cpp
Compile [ 1.8%]: BusOut.cpp
Compile [ 2.2%]: CAN.cpp
.
.
.
Compile [ 97.8%]: serial_api.c
Compile [ 98.2%]: rtc_api.c
Compile [ 98.6%]: sleep.c
Compile [ 98.9%]: stm_spi_api.c
Compile [ 99.3%]: trng_api.c
Compile [ 99.6%]: us_ticker_16b.c
Compile [100.0%]: us_ticker_32b.c
Link: dev_directory
Elf2Bin: dev_directory
+--------------------+-------+-------+------+
| Module | .text | .data | .bss |
+--------------------+-------+-------+------+
| Fill | 60 | 8 | 14 |
| Misc | 22065 | 2492 | 112 |
| drivers | 118 | 4 | 100 |
| hal | 548 | 0 | 24 |
| platform | 1125 | 4 | 270 |
| rtos | 491 | 4 | 4360 |
| rtos/rtx5 | 7924 | 176 | 1368 |
| targets/TARGET_STM | 6377 | 4 | 432 |
| Subtotals | 38708 | 2692 | 6680 |
+--------------------+-------+-------+------+
Allocated Heap: unknown
Allocated Stack: unknown
Total Static RAM memory (data + bss): 9372 bytes
Total RAM memory (data + bss + heap + stack): 9372 bytes
Total Flash memory (text + data + misc): 41400 bytes
Image: .\BUILD\NUCLEO_F103RB\GCC_ARM\dev_directory.bin
このbinファイルをmbed MSDでNUCLEOにダウンロードし、正常に動作します.
プロジェクトのエクスポート
入力:
> mbed export -m NUCLEO_F103RB -i UVISION5
Using targets from D:\mbed\mbed-go-through\dev_directory\mbed-os-example-blinky\mbed-os\targets\targets.json
Scan: .
ツールチェーンオプションは
-i
で、-t
ではありません.MDK 5プロジェクトのコンパイル
プロジェクトがエクスポートされると、正常に開くことができますが、多くの詳細は自分で確認する必要があります.
コンパイル後、ダウンロードとデバッグを行い、正常に動作します.
ヘルプ情報
mbedは自己解釈スクリプトであり、
-h
オプションで取得できます.入力:
> mbed --help
usage: mbed [-h] [--version] ...
Command-line code management tool for ARM mbed OS - http://www.mbed.com
version 0.9.10
Use 'mbed -h|--help' for detailed help.
Online manual and guide available at https://github.com/ARMmbed/mbed-cli
optional arguments:
-h, --help show this help message and exit
--version print version number and exit
Commands:
new Create new mbed program or library
import Import program from URL
add Add library from URL
remove Remove library
deploy Find and add missing libraries
publish Publish program or library
update Update to branch, tag, revision or latest
sync Synchronize library references
ls View dependency tree
status Show version control status
compile Compile code using the mbed build tools
test Find, build and run tests
export Generate an IDE project
detect Detect connected mbed targets/boards
config Tool configuration
target Set or get default target
toolchain Set or get default toolchain
help This help screen
コマンドの詳細を知りたい場合は、コマンドの後に「-h」を付けて入力します.
> mbed config -h
usage: mbed config [-h] [-G] [-U] [-L] [-v] [-vv] [var] [value]
Gets, sets or unsets mbed tool configuration options.
Options can be global (via the --global switch) or local (per program)
Global options are always overridden by local/program options.
Currently supported options: target, toolchain, protocol, depth, cache
positional arguments:
var Variable name. E.g. "target", "toolchain", "protocol"
value Value. Will show the currently set default value for a
variable if not specified.
optional arguments:
-h, --help show this help message and exit
-G, --global Use global settings, not local
-U, --unset Unset the specified variable.
-L, --list List mbed tool configuration. Not to be confused with
compile configuration, e.g. "mbed compile --config".
-v, --verbose Verbose diagnostic output
-vv, --very_verbose Very verbose diagnostic output
各コマンドをよく見ると、いくつかの発見があります.
mbed new --mbedlib
は、ソースコードをインポートせずにlibのみをインポートすることができる.まとめ
簡単なチュートリアルはやっと正常に通り過ぎたが、まだ小さな問題が解決されていない.mbed CLIは簡単なルーチンでF 103 RBのCAN定義の欠落とHardFault実行時の問題が発生しなかったのが良い.しかし、欠点はソースコードのダウンロード、タイのコンパイルに時間がかかり、ハードディスク(HDD)のスペースが多すぎることです.MCUエンジニアリング500 MBで、LEDを切り替えるだけでOS全体をmbed TLSを含めて一緒にコンパイルするのは大げさです.MDK 5と比較してGCC_を使用ARMはかなり速く、GCC_ARMはLinuxでパラレルコンパイルもサポートできます.