「インストール - CLion」の版間の差分
(→GDBの設定) |
|||
| (同じ利用者による、間の16版が非表示) | |||
| 1行目: | 1行目: | ||
== 概要 == | == 概要 == | ||
CLionは、C/C++向けのクロスプラットフォームIDEである。<br> | |||
<br> | |||
* コーディング支援 | |||
*: エディタは、コードの読み取りと記述を効果的に行うことができる。 | |||
*: スマート補完に入力すれば補完結果を絞り込み、パンくずリストでは範囲階層内で場所をトラッキングすることができる。 | |||
*: また、パラメータ名ヒントのお陰で、関数呼び出しに関する洞察も得られる。 | |||
*: シンボルの使用箇所をコンテキストに合わせて検索したり、名前を入力するだけでそのシンボルに移動することも可能である。 | |||
*: CLionでは、書式設定や命名規則等も含む様々なコーディングガイドラインに準じたコード検証も行うことができる。 | |||
*: <br> | |||
* コード生成 | |||
*: 多数のボイラープレートコードを瞬時に生成する。 | |||
*: 関数のオーバーライドや実装には単純なショートカットが用意されており、コンストラクタ、デストラクタ、getter、setter、等値、リレーショナル、ストリーム出力演算子も生成できる。 | |||
*: ステートメントでコードブロックをラッピングしたり、使用箇所から宣言を生成することも可能である。 | |||
*: カスタムライブテンプレートを作成することにより、頻繁に使用するコードブロックをコードベース全体で再利用できるようになるため、開発にかかる時間を短縮して、一貫したスタイルを維持することができる。 | |||
*: <br> | |||
* 安全なリファクタリング | |||
*: シンボル名の変更、関数、変数、マクロのインライン化、階層内でのメンバの移動、関数シグネチャの変更、関数、変数、パラメータ、<code>typedef</code>の抽出等、 | |||
*: 使用する自動リファクタリングに関係なく、全コードへの適切な変更は、CLionが安全にプロパゲートする。 | |||
*: <br> | |||
* クイックドキュメント | |||
*: キャレットのあるコードをインスペクションすることにより、関数シグネチャの詳細、コメントの表示、Doxygen式ドキュメンテーションのプレビュー、明示的な型が不足するシンボルの推論型の確認、 | |||
*: 適切に書式設定された最終的なマクロの置換の確認まで、コードに関するあらゆる情報を知ることができる。 | |||
* 統合デバッガ | |||
*: GDBまたはLLDBをバックエンドとして使用するCLionのデバッガを使用することにより、問題の調査と解決を難なく行うことができる。 | |||
*: ローカルプロセスへのアタッチ、リモートデバッグが可能である。 | |||
*: <br> | |||
*: 組み込み開発では、CLionのOpenOCD、Embedded GDB Server構成により、オンチップデバッグが可能となる。 | |||
*: 組み込みデバイス用の分解ビュー、メモリビュー、ペリフィラルビューを活用すれば、さらに詳細な情報を得ることができる。 | |||
<br> | |||
また、統合されたC/C++開発環境として、以下に示すような特徴もある。<br> | |||
* プロジェクトモデル | |||
*: CLionでは、プロジェクトモデルを使用して、コーディング支援、リファクタリング、コーディングスタイルの一貫性、その他のスマートアクションに関する情報をエディター内に表示する。 | |||
*: CMake、Makefile、Gradle、コンパイルデータベース等に対応している。 | |||
*: <br> | |||
* リモートでのコラボレーション作業 | |||
*: ソースコードをローカルで編集した後、アプリケーションまたはユニットテストをローカル、リモート、オンチップで、ビルドおよび実行できる。 | |||
*: コラボレーション環境を向上させて、複数人とリアルタイムでCLionプロジェクトの作業を行うことができる。 | |||
*: <br> | |||
* 必要なものを全て1箇所に集約 | |||
*: CLionには、VCS (SVN / Git / GitHub / Mercurial / Perforce)、ユニットテスト用のGoogle Test / Catch / Boost.Testフレームワーク、 | |||
*: Doxygen、データベースツール、Markdown等をサポートしており、開発タスクに欠かせないあらゆる機能が含まれている。 | |||
<br><br> | <br><br> | ||
| 17行目: | 57行目: | ||
<br><br> | <br><br> | ||
== | == Raspberry Pi / Qt 5との連携 == | ||
== | CLionを使用してRaspberry PiとQt 5のクロス開発を行う場合は、[[インストール_-_Qt5_Raspberry_Pi#CLion / Qt 5との連携]]のページを参照すること。<br> | ||
[ | <br><br> | ||
[ | |||
== PinePhone / Qt 5との連携 == | |||
CLionを使用してPinePhoneとQt 5のクロス開発を行う場合は、[[インストール_-_Qt5_PinePhone#CLion / Qt 5との連携]]のページを参照すること。<br> | |||
<br><br> | |||
== MSP430との連携 == | |||
==== MSP430向けGCCツールチェーンのインストール ==== | |||
[https://www.ti.com/tool/MSP430-GCC-OPENSOURCE TIの公式Webサイト]にアクセスして、MSP430のGCCツールチェーンおよびMSP430の開発向けヘッダファイル群をダウンロードする。<br> | |||
ダウンロードするファイルは2つである。<br> | |||
* Mitto Systems GCC 64-bit Linux installer incl. support files | |||
* Header and Support Files | |||
<br> | <br> | ||
ダウンロードしたファイルを解凍する。<br> | |||
# MSP430 GCCツールチェーン | |||
7z x msp430-gcc-full-linux-x64-installer-<バージョン>.7z | |||
# MSP430 開発向けヘッダファイル群 | |||
unzip msp430-gcc-support-files-<バージョン>.zip | |||
mv msp430-gcc-support-files-<バージョン> <任意のディレクトリ> | |||
<br> | <br> | ||
MSP430 GCCツールチェーンをインストールする。<br> | |||
sudo ./msp430-gcc-full-linux-x64-installer-<バージョン>.run \ | |||
--prefix <MSP430 GCCツールチェーンのインストールディレクトリ 例: /opt/TI/MSP430_GCC> \ | |||
--mode xwindow --installer-language ja | |||
# または | |||
kdesu -c './msp430-gcc-full-linux-x64-installer-<バージョン>.run \ | |||
--prefix <MSP430 GCCツールチェーンのインストールディレクトリ 例: /opt/TI/MSP430_GCC> \ | |||
--mode xwindow --installer-language ja' | |||
<br> | <br> | ||
/<MSP430 GCCツールチェーンのインストールディレクトリ>/bin/gdb_agent_consoleファイルに実行権限を付加する。<br> | |||
chmod +x /<MSP430 GCCツールチェーンのインストールディレクトリ>/bin/gdb_agent_console | |||
# または | |||
sudo chmod +x /<MSP430 GCCツールチェーンのインストールディレクトリ>/bin/gdb_agent_console | |||
<br> | <br> | ||
==== MSP Flasherのインストール (ez-FETを使用する場合) ==== | |||
[https://www.ti.com/tool/ja-jp/MSP430-FLASHER TIの公式Webサイト]にアクセスして、MSP Flasherをダウンロードする。<br> | |||
* Linux 64-Bit Installer for MSPFlasher | |||
* | |||
<br> | <br> | ||
ダウンロードしたファイルを解凍する。<br> | |||
unzip MSPFlasher-<バージョン>-linux-x64-installer.zip | |||
<br> | <br> | ||
解凍したファイル (インストーラ) に実行権限を付加する。<br> | |||
chmod u+x MSPFlasher-<バージョン>-linux-x64-installer.run | |||
<br> | <br> | ||
MSP Flasherをインストールする。<br> | |||
MSP Flasherのインストールディレクトリは、任意のディレクトリで構わない。<br> | |||
./MSPFlasher-<バージョン>-linux-x64-installer.run | |||
<br> | <br> | ||
==== MSP Debugのインストール ==== | |||
MSP Debugのビルドに必要なライブラリをインストールする。<br> | |||
# SUSE | |||
sudo zypper install readline-devel libusb-1_0-devel libusb-compat-devel | |||
<br> | <br> | ||
[ | [https://github.com/dlbeer/mspdebug.git MSP Debug]のGithubにアクセスして、ソースコードをダウンロードする。<br> | ||
git clone https://github.com/dlbeer/mspdebug.git | |||
cd mspdebug | |||
<br> | <br> | ||
= | MSP Debugをビルドおよびインストールする。<br> | ||
make PREFIX=<MSP Debugのインストールディレクトリ> -j $(nproc) | |||
make PREFIX=<MSP Debugのインストールディレクトリ> install | |||
<br> | <br> | ||
==== MSP430向けGCCツールチェーンのアンインストール ==== | |||
/<MSP430向けGCCツールチェーンのインストールディレクトリ>/binディレクトリに移動する。<br> | |||
cd /<MSP430向けGCCツールチェーンのインストールディレクトリ>/bin | |||
<br> | <br> | ||
MSP430向けGCCツールチェーンをアンインストールする。<br> | |||
sudo ./uninstall | |||
# または | |||
kdesu ./uninstall | |||
<br> | <br> | ||
==== CLionの設定 ==== | |||
===== CMakeツールチェーンファイルの作成 ===== | |||
vi /<MSP430プロジェクトのトップディレクトリ>/toolchain-msp430-gcc-ti.cmake | |||
<br> | <br> | ||
= | <syntaxhighlight lang="cmake"> | ||
# /<MSP430プロジェクトのトップディレクトリ>/toolchain-msp430-gcc-ti.cmakeファイル | |||
< | include(CMakeForceCompiler) | ||
# ツールチェーン等のパス | |||
SET(PLATFORM_PACKAGES_PATH "<上記のセクションでインストールしたMSP430 GCCツールチェーンのパス 例: /opt/TI/MSP430_GCC>") | |||
list(APPEND CMAKE_MODULE_PATH "<CLionのMSP430プロジェクトのトップディレクトリ 例: /home/user/MSP430Project>") | |||
list(APPEND CMAKE_MODULE_PATH "${PLATFORM_PACKAGES_PATH}/lib/cmake") | |||
list(APPEND CMAKE_PREFIX_PATH "${PLATFORM_PACKAGES_PATH}/lib/cmake") | |||
INCLUDE_DIRECTORIES("${PLATFORM_PACKAGES_PATH}/include ${INCLUDE_DIRECTORIES}") | |||
# ターゲットデバイス名 | |||
SET(SUPPORTED_DEVICES "<ターゲットデバイス名 例: msp430g2553>" CACHE STRING "Supported Target Devices") | |||
set(CMAKE_SYSTEM_NAME msp430-gcc) | |||
# コンパイラの設定 | |||
SET(MSP430_TI_COMPILER_FOLDER ${PLATFORM_PACKAGES_PATH}) | |||
SET(MSP430_TI_BIN_FOLDER ${MSP430_TI_COMPILER_FOLDER}/bin) | |||
SET(MSP430_TI_INCLUDE_FOLDER ${MSP430_TI_COMPILER_FOLDER}/include) | |||
SET(TOOLCHAIN_PREFIX msp430-elf) | |||
SET(TOOLCHAIN_BIN_PATH ${MSP430_TI_BIN_FOLDER}) | |||
SET(FLASHER_PATH <上記のセクションでインストールしたMSP Flasherのパス 例: /home/user/MSPFlasher>) | |||
SET(MSPDEBUG_PATH <上記のセクションでインストールしたMSP Debugのパス 例: /home/user/MSP_Debug/bin>) | |||
SET(MSPDEBUG_DEVICE ezfet) | |||
INCLUDE_DIRECTORIES(${MSP430_TI_INCLUDE_FOLDER} ${INCLUDE_DIRECTORIES}) | |||
LINK_DIRECTORIES(${MSP430_TI_INCLUDE_FOLDER} ${LINK_DIRECTORIES}) | |||
FIND_PROGRAM(MSP430_CC ${TOOLCHAIN_PREFIX}-gcc PATHS ${TOOLCHAIN_BIN_PATH}) | |||
FIND_PROGRAM(MSP430_CXX ${TOOLCHAIN_PREFIX}-g++ PATHS ${TOOLCHAIN_BIN_PATH}) | |||
FIND_PROGRAM(MSP430_AR ${TOOLCHAIN_PREFIX}-ar PATHS ${TOOLCHAIN_BIN_PATH}) | |||
FIND_PROGRAM(MSP430_AS ${TOOLCHAIN_PREFIX}-as PATHS ${TOOLCHAIN_BIN_PATH}) | |||
FIND_PROGRAM(MSP430_OBJDUMP ${TOOLCHAIN_PREFIX}-objdump PATHS ${TOOLCHAIN_BIN_PATH}) | |||
FIND_PROGRAM(MSP430_OBJCOPY ${TOOLCHAIN_PREFIX}-objcopy PATHS ${TOOLCHAIN_BIN_PATH}) | |||
FIND_PROGRAM(MSP430_SIZE ${TOOLCHAIN_PREFIX}-size PATHS ${TOOLCHAIN_BIN_PATH}) | |||
FIND_PROGRAM(MSP430_NM ${TOOLCHAIN_PREFIX}-nm PATHS ${TOOLCHAIN_BIN_PATH}) | |||
FIND_PROGRAM(MSPDEBUG mspdebug PATHS ${MSPDEBUG_PATH}) | |||
FIND_PROGRAM(MSP430_FLASHER MSP430Flasher PATHS ${FLASHER_PATH}) | |||
set(CMAKE_C_COMPILER ${MSP430_CC} CACHE STRING "C Compiler") | |||
set(CMAKE_CXX_COMPILER ${MSP430_CXX} CACHE STRING "C++ Compiler") | |||
set(AS ${MSP430_AS} CACHE STRING "AS Binary") | |||
set(AR ${MSP430_AR} CACHE STRING "AR Binary") | |||
set(OBJCOPY ${MSP430_OBJCOPY} CACHE STRING "OBJCOPY Binary") | |||
set(OBJDUMP ${MSP430_OBJDUMP} CACHE STRING "OBJDUMP Binary") | |||
set(SIZE ${MSP430_SIZE} CACHE STRING "SIZE Binary") | |||
IF(NOT CMAKE_BUILD_TYPE) | |||
SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING | |||
"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." | |||
FORCE) | |||
ENDIF(NOT CMAKE_BUILD_TYPE) | |||
set(MSPGCC_OPT_LEVEL "g" CACHE STRING "MSPGCC OPT LEVEL") | |||
set(MSPGCC_WARN_PROFILE "-Wall -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wunused" | |||
CACHE STRING "MSPGCC WARNINGS") | |||
set(MSPGCC_DISABLED_BUILTINS "-fno-builtin-printf -fno-builtin-sprintf" | |||
CACHE STRING "MSPGCC Disabled Builtins") | |||
set(MSPGCC_OPTIONS "-gdwarf-3 -fdata-sections -ffunction-sections -fverbose-asm ${MSPGCC_DISABLED_BUILTINS}" | |||
CACHE STRING "MSPGCC OPTIONS") | |||
set(CMAKE_C_FLAGS "${MSPGCC_WARN_PROFILE} ${MSPGCC_OPTIONS} -O${MSPGCC_OPT_LEVEL} -DGCC_MSP430" CACHE STRING "C Flags") | |||
set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--gc-sections -Wl,--print-gc-sections" | |||
CACHE STRING "Linker Flags") | |||
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--gc-sections" | |||
CACHE STRING "Linker Flags") | |||
set | # リンカコマンドの設定 | ||
set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_C_COMPILER> ${CMAKE_EXE_LINKER_FLAGS} <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>" | |||
CACHE STRING "C++ Executable Link Command") | |||
set(CMAKE_C_LINK_EXECUTABLE ${CMAKE_CXX_LINK_EXECUTABLE} CACHE STRING "C Executable Link Command") | |||
set | set(PROGBIN ${MSP430_FLASHER} CACHE STRING "Programmer Application") | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
===== リンカコマンドファイルのコピー ===== | |||
ターゲットデバイスのリンカコマンドファイルを、プロジェクトのトップディレクトリにコピーする。<br> | |||
cp /<上記のセクションでインストールしたMSP430 GCCツールチェーンのパス>/include/<ターゲットデバイス名>.ld \ | |||
<br> | <MSP430プロジェクトのトップディレクトリ> | ||
< | |||
# 例: MSP430G2553を使用する場合 | |||
cp /<上記のセクションでインストールしたMSP430 GCCツールチェーンのパス>/include/msp430g2553.ld \ | |||
<MSP430プロジェクトのトップディレクトリ> | |||
<br> | <br> | ||
===== プロジェクトの設定 ===== | |||
# プロジェクトを開いて、[ファイル]メニューバー - [設定]を選択する。 | |||
# [設定]画面の左ペインから、[ビルド、実行、デプロイ] - [CMake]を選択する。 | |||
# [設定]画面の右ペインから、[+]アイコンを選択して、CMakeの設定を行う。 | |||
#* [名前] | |||
#*: 任意の名前 | |||
#* [ビルドタイプ]プルダウン | |||
#*: Debug | |||
#* [ツールチェーン]プルダウン | |||
#*: MSP430ツールチェーンを選択する。 | |||
#* [ジェネレーター] | |||
#*: [デフォルトを使用する] | |||
#* [CMakeオプション] | |||
#*: <code>-DCMAKE_TOOLCHAIN_FILE=<上記のセクションで作成したCMakeツールチェーンファイルのパス></code> | |||
# [OK]ボタンを押下する。 | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]][[カテゴリ:C]][[カテゴリ:C++]] | [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]][[カテゴリ:C]][[カテゴリ:C++]][[カテゴリ:Qt]][[カテゴリ:MSP430]] | ||
2024年7月3日 (水) 12:45時点における最新版
概要
CLionは、C/C++向けのクロスプラットフォームIDEである。
- コーディング支援
- エディタは、コードの読み取りと記述を効果的に行うことができる。
- スマート補完に入力すれば補完結果を絞り込み、パンくずリストでは範囲階層内で場所をトラッキングすることができる。
- また、パラメータ名ヒントのお陰で、関数呼び出しに関する洞察も得られる。
- シンボルの使用箇所をコンテキストに合わせて検索したり、名前を入力するだけでそのシンボルに移動することも可能である。
- CLionでは、書式設定や命名規則等も含む様々なコーディングガイドラインに準じたコード検証も行うことができる。
- コード生成
- 多数のボイラープレートコードを瞬時に生成する。
- 関数のオーバーライドや実装には単純なショートカットが用意されており、コンストラクタ、デストラクタ、getter、setter、等値、リレーショナル、ストリーム出力演算子も生成できる。
- ステートメントでコードブロックをラッピングしたり、使用箇所から宣言を生成することも可能である。
- カスタムライブテンプレートを作成することにより、頻繁に使用するコードブロックをコードベース全体で再利用できるようになるため、開発にかかる時間を短縮して、一貫したスタイルを維持することができる。
- 安全なリファクタリング
- シンボル名の変更、関数、変数、マクロのインライン化、階層内でのメンバの移動、関数シグネチャの変更、関数、変数、パラメータ、
typedefの抽出等、 - 使用する自動リファクタリングに関係なく、全コードへの適切な変更は、CLionが安全にプロパゲートする。
- シンボル名の変更、関数、変数、マクロのインライン化、階層内でのメンバの移動、関数シグネチャの変更、関数、変数、パラメータ、
- クイックドキュメント
- キャレットのあるコードをインスペクションすることにより、関数シグネチャの詳細、コメントの表示、Doxygen式ドキュメンテーションのプレビュー、明示的な型が不足するシンボルの推論型の確認、
- 適切に書式設定された最終的なマクロの置換の確認まで、コードに関するあらゆる情報を知ることができる。
- 統合デバッガ
- GDBまたはLLDBをバックエンドとして使用するCLionのデバッガを使用することにより、問題の調査と解決を難なく行うことができる。
- ローカルプロセスへのアタッチ、リモートデバッグが可能である。
- 組み込み開発では、CLionのOpenOCD、Embedded GDB Server構成により、オンチップデバッグが可能となる。
- 組み込みデバイス用の分解ビュー、メモリビュー、ペリフィラルビューを活用すれば、さらに詳細な情報を得ることができる。
また、統合されたC/C++開発環境として、以下に示すような特徴もある。
- プロジェクトモデル
- CLionでは、プロジェクトモデルを使用して、コーディング支援、リファクタリング、コーディングスタイルの一貫性、その他のスマートアクションに関する情報をエディター内に表示する。
- CMake、Makefile、Gradle、コンパイルデータベース等に対応している。
- リモートでのコラボレーション作業
- ソースコードをローカルで編集した後、アプリケーションまたはユニットテストをローカル、リモート、オンチップで、ビルドおよび実行できる。
- コラボレーション環境を向上させて、複数人とリアルタイムでCLionプロジェクトの作業を行うことができる。
- 必要なものを全て1箇所に集約
- CLionには、VCS (SVN / Git / GitHub / Mercurial / Perforce)、ユニットテスト用のGoogle Test / Catch / Boost.Testフレームワーク、
- Doxygen、データベースツール、Markdown等をサポートしており、開発タスクに欠かせないあらゆる機能が含まれている。
CLionのインストール
CLionの公式Webサイトにアクセスして、CLionをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf CLion-<バージョン>.tar.gz mv CLion-<バージョン> CLion
必要ならば、CLionを任意のインストールディレクトリに配置する。
mv CLion <任意のインストールディレクトリ>
CLionのデスクトップエントリファイルを作成する。
CLionを起動して、[ツール]メニューバー - [デスクトップエントリの作成]を選択する。
~/.local/share/applicationsディレクトリにCLionのデスクトップエントリファイルが作成される。
Raspberry Pi / Qt 5との連携
CLionを使用してRaspberry PiとQt 5のクロス開発を行う場合は、インストール_-_Qt5_Raspberry_Pi#CLion / Qt 5との連携のページを参照すること。
PinePhone / Qt 5との連携
CLionを使用してPinePhoneとQt 5のクロス開発を行う場合は、インストール_-_Qt5_PinePhone#CLion / Qt 5との連携のページを参照すること。
MSP430との連携
MSP430向けGCCツールチェーンのインストール
TIの公式Webサイトにアクセスして、MSP430のGCCツールチェーンおよびMSP430の開発向けヘッダファイル群をダウンロードする。
ダウンロードするファイルは2つである。
- Mitto Systems GCC 64-bit Linux installer incl. support files
- Header and Support Files
ダウンロードしたファイルを解凍する。
# MSP430 GCCツールチェーン 7z x msp430-gcc-full-linux-x64-installer-<バージョン>.7z # MSP430 開発向けヘッダファイル群 unzip msp430-gcc-support-files-<バージョン>.zip mv msp430-gcc-support-files-<バージョン> <任意のディレクトリ>
MSP430 GCCツールチェーンをインストールする。
sudo ./msp430-gcc-full-linux-x64-installer-<バージョン>.run \
--prefix <MSP430 GCCツールチェーンのインストールディレクトリ 例: /opt/TI/MSP430_GCC> \
--mode xwindow --installer-language ja
# または
kdesu -c './msp430-gcc-full-linux-x64-installer-<バージョン>.run \
--prefix <MSP430 GCCツールチェーンのインストールディレクトリ 例: /opt/TI/MSP430_GCC> \
--mode xwindow --installer-language ja'
/<MSP430 GCCツールチェーンのインストールディレクトリ>/bin/gdb_agent_consoleファイルに実行権限を付加する。
chmod +x /<MSP430 GCCツールチェーンのインストールディレクトリ>/bin/gdb_agent_console # または sudo chmod +x /<MSP430 GCCツールチェーンのインストールディレクトリ>/bin/gdb_agent_console
MSP Flasherのインストール (ez-FETを使用する場合)
TIの公式Webサイトにアクセスして、MSP Flasherをダウンロードする。
- Linux 64-Bit Installer for MSPFlasher
ダウンロードしたファイルを解凍する。
unzip MSPFlasher-<バージョン>-linux-x64-installer.zip
解凍したファイル (インストーラ) に実行権限を付加する。
chmod u+x MSPFlasher-<バージョン>-linux-x64-installer.run
MSP Flasherをインストールする。
MSP Flasherのインストールディレクトリは、任意のディレクトリで構わない。
./MSPFlasher-<バージョン>-linux-x64-installer.run
MSP Debugのインストール
MSP Debugのビルドに必要なライブラリをインストールする。
# SUSE sudo zypper install readline-devel libusb-1_0-devel libusb-compat-devel
MSP DebugのGithubにアクセスして、ソースコードをダウンロードする。
git clone https://github.com/dlbeer/mspdebug.git cd mspdebug
MSP Debugをビルドおよびインストールする。
make PREFIX=<MSP Debugのインストールディレクトリ> -j $(nproc) make PREFIX=<MSP Debugのインストールディレクトリ> install
MSP430向けGCCツールチェーンのアンインストール
/<MSP430向けGCCツールチェーンのインストールディレクトリ>/binディレクトリに移動する。
cd /<MSP430向けGCCツールチェーンのインストールディレクトリ>/bin
MSP430向けGCCツールチェーンをアンインストールする。
sudo ./uninstall # または kdesu ./uninstall
CLionの設定
CMakeツールチェーンファイルの作成
vi /<MSP430プロジェクトのトップディレクトリ>/toolchain-msp430-gcc-ti.cmake
# /<MSP430プロジェクトのトップディレクトリ>/toolchain-msp430-gcc-ti.cmakeファイル
include(CMakeForceCompiler)
# ツールチェーン等のパス
SET(PLATFORM_PACKAGES_PATH "<上記のセクションでインストールしたMSP430 GCCツールチェーンのパス 例: /opt/TI/MSP430_GCC>")
list(APPEND CMAKE_MODULE_PATH "<CLionのMSP430プロジェクトのトップディレクトリ 例: /home/user/MSP430Project>")
list(APPEND CMAKE_MODULE_PATH "${PLATFORM_PACKAGES_PATH}/lib/cmake")
list(APPEND CMAKE_PREFIX_PATH "${PLATFORM_PACKAGES_PATH}/lib/cmake")
INCLUDE_DIRECTORIES("${PLATFORM_PACKAGES_PATH}/include ${INCLUDE_DIRECTORIES}")
# ターゲットデバイス名
SET(SUPPORTED_DEVICES "<ターゲットデバイス名 例: msp430g2553>" CACHE STRING "Supported Target Devices")
set(CMAKE_SYSTEM_NAME msp430-gcc)
# コンパイラの設定
SET(MSP430_TI_COMPILER_FOLDER ${PLATFORM_PACKAGES_PATH})
SET(MSP430_TI_BIN_FOLDER ${MSP430_TI_COMPILER_FOLDER}/bin)
SET(MSP430_TI_INCLUDE_FOLDER ${MSP430_TI_COMPILER_FOLDER}/include)
SET(TOOLCHAIN_PREFIX msp430-elf)
SET(TOOLCHAIN_BIN_PATH ${MSP430_TI_BIN_FOLDER})
SET(FLASHER_PATH <上記のセクションでインストールしたMSP Flasherのパス 例: /home/user/MSPFlasher>)
SET(MSPDEBUG_PATH <上記のセクションでインストールしたMSP Debugのパス 例: /home/user/MSP_Debug/bin>)
SET(MSPDEBUG_DEVICE ezfet)
INCLUDE_DIRECTORIES(${MSP430_TI_INCLUDE_FOLDER} ${INCLUDE_DIRECTORIES})
LINK_DIRECTORIES(${MSP430_TI_INCLUDE_FOLDER} ${LINK_DIRECTORIES})
FIND_PROGRAM(MSP430_CC ${TOOLCHAIN_PREFIX}-gcc PATHS ${TOOLCHAIN_BIN_PATH})
FIND_PROGRAM(MSP430_CXX ${TOOLCHAIN_PREFIX}-g++ PATHS ${TOOLCHAIN_BIN_PATH})
FIND_PROGRAM(MSP430_AR ${TOOLCHAIN_PREFIX}-ar PATHS ${TOOLCHAIN_BIN_PATH})
FIND_PROGRAM(MSP430_AS ${TOOLCHAIN_PREFIX}-as PATHS ${TOOLCHAIN_BIN_PATH})
FIND_PROGRAM(MSP430_OBJDUMP ${TOOLCHAIN_PREFIX}-objdump PATHS ${TOOLCHAIN_BIN_PATH})
FIND_PROGRAM(MSP430_OBJCOPY ${TOOLCHAIN_PREFIX}-objcopy PATHS ${TOOLCHAIN_BIN_PATH})
FIND_PROGRAM(MSP430_SIZE ${TOOLCHAIN_PREFIX}-size PATHS ${TOOLCHAIN_BIN_PATH})
FIND_PROGRAM(MSP430_NM ${TOOLCHAIN_PREFIX}-nm PATHS ${TOOLCHAIN_BIN_PATH})
FIND_PROGRAM(MSPDEBUG mspdebug PATHS ${MSPDEBUG_PATH})
FIND_PROGRAM(MSP430_FLASHER MSP430Flasher PATHS ${FLASHER_PATH})
set(CMAKE_C_COMPILER ${MSP430_CC} CACHE STRING "C Compiler")
set(CMAKE_CXX_COMPILER ${MSP430_CXX} CACHE STRING "C++ Compiler")
set(AS ${MSP430_AS} CACHE STRING "AS Binary")
set(AR ${MSP430_AR} CACHE STRING "AR Binary")
set(OBJCOPY ${MSP430_OBJCOPY} CACHE STRING "OBJCOPY Binary")
set(OBJDUMP ${MSP430_OBJDUMP} CACHE STRING "OBJDUMP Binary")
set(SIZE ${MSP430_SIZE} CACHE STRING "SIZE Binary")
IF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
FORCE)
ENDIF(NOT CMAKE_BUILD_TYPE)
set(MSPGCC_OPT_LEVEL "g" CACHE STRING "MSPGCC OPT LEVEL")
set(MSPGCC_WARN_PROFILE "-Wall -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wunused"
CACHE STRING "MSPGCC WARNINGS")
set(MSPGCC_DISABLED_BUILTINS "-fno-builtin-printf -fno-builtin-sprintf"
CACHE STRING "MSPGCC Disabled Builtins")
set(MSPGCC_OPTIONS "-gdwarf-3 -fdata-sections -ffunction-sections -fverbose-asm ${MSPGCC_DISABLED_BUILTINS}"
CACHE STRING "MSPGCC OPTIONS")
set(CMAKE_C_FLAGS "${MSPGCC_WARN_PROFILE} ${MSPGCC_OPTIONS} -O${MSPGCC_OPT_LEVEL} -DGCC_MSP430" CACHE STRING "C Flags")
set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--gc-sections -Wl,--print-gc-sections"
CACHE STRING "Linker Flags")
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--gc-sections"
CACHE STRING "Linker Flags")
# リンカコマンドの設定
set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_C_COMPILER> ${CMAKE_EXE_LINKER_FLAGS} <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>"
CACHE STRING "C++ Executable Link Command")
set(CMAKE_C_LINK_EXECUTABLE ${CMAKE_CXX_LINK_EXECUTABLE} CACHE STRING "C Executable Link Command")
set(PROGBIN ${MSP430_FLASHER} CACHE STRING "Programmer Application")
リンカコマンドファイルのコピー
ターゲットデバイスのリンカコマンドファイルを、プロジェクトのトップディレクトリにコピーする。
cp /<上記のセクションでインストールしたMSP430 GCCツールチェーンのパス>/include/<ターゲットデバイス名>.ld \ <MSP430プロジェクトのトップディレクトリ> # 例: MSP430G2553を使用する場合 cp /<上記のセクションでインストールしたMSP430 GCCツールチェーンのパス>/include/msp430g2553.ld \ <MSP430プロジェクトのトップディレクトリ>
プロジェクトの設定
- プロジェクトを開いて、[ファイル]メニューバー - [設定]を選択する。
- [設定]画面の左ペインから、[ビルド、実行、デプロイ] - [CMake]を選択する。
- [設定]画面の右ペインから、[+]アイコンを選択して、CMakeの設定を行う。
- [名前]
- 任意の名前
- [ビルドタイプ]プルダウン
- Debug
- [ツールチェーン]プルダウン
- MSP430ツールチェーンを選択する。
- [ジェネレーター]
- [デフォルトを使用する]
- [CMakeオプション]
-DCMAKE_TOOLCHAIN_FILE=<上記のセクションで作成したCMakeツールチェーンファイルのパス>
- [名前]
- [OK]ボタンを押下する。