• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+
イイね!
2018年01月31日

mbedのオフラインコンパイルについて(mbedからSW4STM32、オンラインからオフラインに環境を移す方法)

※今回は車は全く関係の無いお話です※

mbedのオフラインコンパイルについての個人的なメモ


ARM開発用で使用していたWin7が取られてしまったため、Win10でIARシステムズのEWMARMをインストールしてみました。

だがしかし、だがしかし、
mbedのexportに対応しているのが、バージョン7.70あたり、で現在のバージョン8.20ではコンパイルが通らない。正確に言うと7.70ではC++98に対応していたが、8.20ではC++11/14サポートになったためだと思われる。
KEILのμVision5では問題無く使えるが、、、前の4もだが、5もソフトウェアが使いにくい!

そんな感じで、色々調べてみると、mbed CLIというコマンドラインのツールを使えば動きそう!
てなことで、CLIをインストールして、IAR用にコンパイルすると動いた!
だがしかし、だがしかし、
試用版で使用しているため、コンパイル制限の32KBにすぐ引っかかる・・・
どうやら、Lチカ程度のソースしか書けない様子(汗)
IARの見積もり取ったら、うん十万の見積もりが出てきて・・・(滝汗)


調べてみるとSTMからSW4STM32というコンパイル制限無しの開発環境があるとの情報をゲットして、早速DL・インストールして、mbedからSW4STM32用のファイルをexportして動かしてみると・・・

・・・動かない・・・あれ・・・
色々調べてみると、先人たちも色々な方法でごまかしながらコンパイルしていることを知る。
ネットに情報が少ないのと、その情報を試してみてもコンパイルが通らないので、試行錯誤して、2日・・・やっとコンパイルと実行ができたので、その方法をメモしておきます。

-----------------キリトリ-----------------

前置きが長かったのですが、ここから本編です(笑)
この内容はmbedをオフライン実行したいかつ、STMのARMを使用することが大前提です。


まずはSW4STM32をダウンロードしてインストール&設定を行います。
この作業は諸先輩方が詳しく書き記しているため割愛。

1.mbedで新規プログラムを作成します。
今回はF401REを使用しています。


Lチカと文字出力のテンプレートを選択しました。
一応、プログラムとライブラリは最新版を使用しています。

2.作成したプログラムをSW4STM32用にexportします。

単純なプログラムです。

3.exportしたファイルをSW4STM32のワークスペースにコピーします。
ファイルは解凍・展開しないで、圧縮したままにして下さい。

ワークスペースはなるべくCドライブ近くで、パスが短いほうが良いらしいです。

4.SW4STM32を起動し、先程のファイルをimportします。

File → import...を選択。

5.General → Existing Project into Workspaceを選択してNextをクリック。


6.ワークスペースにコピーしたファイルを選択して、開くをクリック。


7.とくにいじらずそのままFinishをクリック


8.プロジェクトファイルを右クリックして、ビルドしてみます。


9.ビルドエラーになります

Consoleでエラー内容を確認してみると・・・
mbed_config.hが見つからないらしい!

10.再度プロジェクトを右クリックしてPropertiesをクリック。


11.mbedはC++らしいです。
C/C++ BuildのSettingsを選択すると・・・
Include filesの設定に先程のmbed_config.hのパスが記載されてます。
あれ・・・tmpフォルダーなんてないぞぃ!!



12.赤矢印のボタンをクリックして、間違っているパスを消します。
そして緑矢印をクリックします。


13.Workspace...をクリックして、mbed_config.hのパスを指定します。


14.mbed_config.hの正しいパスをしていしました。


15.レッツビルド♪

プロジェクトを右クリックしてビルドします。
パスは正しくなったけど、新たなエラーが発生してます。

内容を確認すると・・・?
.elfファイルが作れないらしい!
__wrap__free_rが未定義らしい・・・( ゚Д゚)ハァ?

16.リンカを設定します。

コンソールに未定義と出てきたリンカを消します。
赤下線の宣言を消してみます、カンマ(,)で囲われているので、消す部分を間違えないように!

17.未定義のリンカを消しました。

だいぶスッキリしましたね。

18.プロジェクトを右クリックしてビルドします。

やっとこさビルドが通りました。/(^o^)\オワタ
エラーが出る場合は、一度クリーンを試してみましょう。

19.コンパイルしたファイルをARMに書き込みます。
PCとSTMボードをUSBで接続します。

プロジェクトを右クリックしてTarget → Program chip...をクリックします。

20.とくに設定は無いのでそのままONをクリックします。


21.うーん・・・動かない( ^ω^)・・・

Run → Debuf Configations...をクリックしてDebuggerタブをクリックします。

22.違いがわかりますか?

パスはおかしくないよな・・・?と考えること約3分!

GDB Command:
${openstm32_compiler_path}/arm-none-eabi-gdb  ←間違え
${openstm32_compiler_path}\arm-none-eabi-gdb  ←正解

OpenOCD Setup
OpenOCD Command:
"${openstm32_openocd_path}/openocd"     ←間違え
"${openstm32_openocd_path}\openocd.exe"  ←正解

もうお分かりですね?
パスなのに「/」が使われていました・・・・
海外製のソフトウェアは「/」「\」て表現される?ことが多いので、ぱっと見気が付きませんでした!


デバッカーのパス変更後、デバックを行うと動きました!
何だかんだで2日間も時間を取られました・・・
STMのボードは1000円代で売っているため、車載機器など自作したいかたにお勧めですよ。

因みにARM(F401RE)を購入し、自作回路を作成すると、1000円以上になりますよ!
ブログ一覧 | mbed | 日記
Posted at 2018/01/31 17:46:00

イイね!0件



タグ

ブログ人気記事

さすが………‼️
RC-ZEROさん

ひっさびさに白ごはんをがっつりと
ボンビーやんさん

ノート e-POWER E12系 ...
ハセ・プロさん

【シェアスタイル】通勤マシン突然の ...
株式会社シェアスタイルさん

ドラレコ欲しい方!注目してくださ ...
G-FACTORYさん

今日も洗車から
AngelPowerさん

この記事へのコメント

コメントはありません。

おすすめアイテム

プロフィール

「@Shindenkai さん どうやら立川↔️東京で運行にしてるみたいです。珍しく良い対応の中央線です🤣京王とかも込み凄いようなのでお気をつけて✋」
何シテル?   06/28 09:15
ズーミンと申します。 3rdレガシィを乗り継いで2台目となります。 今の車よりも良い状態のRSKとは今後出会えないと思うので、最後まで乗り続けられるよう...

ハイタッチ!drive

みんカラ新規会員登録

ユーザー内検索

<< 2021/11 >>

 123456
78910111213
14151617181920
21222324252627
282930    

リンク・クリップ

リヤ・エンブレム取外し 
カテゴリ:その他(カテゴリ未設定)
2020/08/18 19:22:16
ヘッドライトの結露対策 ① 
カテゴリ:その他(カテゴリ未設定)
2020/07/28 18:25:02
♻️💫 VAB リア スポイラー 装着 🚙✨( WRX - STI 純正 ウイング 流用 ) 
カテゴリ:その他(カテゴリ未設定)
2020/07/15 19:21:15

愛車一覧

スバル レガシィB4 スバル レガシィB4
BE5レガシィB4 (RS)からの乗り換えです。 見た目は同じですが、ツインターボのあの ...
スバル レガシィB4 スバル レガシィB4
初めて購入した車。 R34スカイラインクーペと迷いましたが、足が無かったため、 近くのお ...

過去のブログ

2020年
01月02月03月04月05月06月
07月08月09月10月11月12月
2018年
01月02月03月04月05月06月
07月08月09月10月11月12月
2017年
01月02月03月04月05月06月
07月08月09月10月11月12月
2016年
01月02月03月04月05月06月
07月08月09月10月11月12月
2015年
01月02月03月04月05月06月
07月08月09月10月11月12月
2014年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
©2021 Carview Corporation All Rights Reserved.