14
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【手抜き】STM32の使い方まとめ 4.STM32CubeIDEでGit

Last updated at Posted at 2020-03-15

#前書き
引用主体の記事です(ひどい)。
基本は今日の引用に沿って進めてください。
やっておきたい設定ignoreする・しないがこの記事の目玉です。

#テーマ概要

Gitを扱うにはいろいろな方法(ソフト)がありますし、CUI,GUI論争もあるかと思います…
ともあれSTMを使うGUIユーザーにお勧めです。
一つのソフトですべてできることが、統合開発環境(IDE)の醍醐味ですね。

#今日の引用
初めてQiitaの外からの引用になります。Qiitaでは記事が多すぎていいものが見つけられなかったです

EclipseでGitを使ってみる

#引用の補足
###PC
私の環境は

Windows10 1909
CubeIDE 1.2.1
Nucleo F303k8 or F446RE
ですが、特に問題は出ておりません。
以降ではCubeIDEを日本語化したもので説明しています。
3.STM32CubeIDEの日本語化

パースペクティブ

これはCubeIDEの母体であるEclipseの用語なのですが、きれいに説明されてませんね…

CubeIDEの画面にはフォルダマップやコード、コンソール画面などの「ビュー」がたくさん表示されます。
コードを書く&ビルドするときは上記を使う一方、デバッグするときはデバッグ内容の表示など別のビューが表示されてほしいですよね?
そのために、そのビューの開き方、並べ方をプリセットする機能がパースペクティブで、画面の右上あたりにあります。

CubeIDEはデフォルトで、C/C++,Debug,DeviceConfigTool(CubeMX)の三つのパースペクティブが存在すると思います。
デバッグを走らせるとDebugパースペクティブに自動で切り替えたり、iocファイルを開くとCubeMXパースペクティブが開いたりするはずです。
(最初はそれをするか・しないかのプロンプトが出てくる)

参照
Eclipse用語「ワークベンチ」「パースペクティブ」「エディター」「ビュー」「ワークスペース」について

やっておきたい設定

####1.クローン先ディレクトリ
デフォルトではgitのclone先ディレクトリがC:/users/[ユーザー名]/Gitになっています。
開いているワークスペースのディレクトリとは違う(参照状態)のは、後々のバグの原因となり得ます。
そこで、クローン先を開いているワークスペースに変えます。
上バー「ウィンドウ」→設定→チーム→Git から
「デフォルト・リポジトリ・フォルダ」を${workspace_loc}にする
image.png

####2.必要なビューの表示
「Gitステージング」
コミットするときに使用しますが、最初に表示されてなかった気がします。
Gitパースペクティブを開いた状態で「ウィンドウ→ビューの表示→Gitステージング」です。
「ヒストリー」
「Gitリポジトリ―」にあるリポジトリを選択した時に、コミットとブランチのグラフが見えます。規模によっては重宝するかも?

####3.Gitのツールバー表示
マージやチェックアウトなどをボタン一つでしたい
Gitパースペクティブにて
・「ウィンドウ→パースペクティブ→パースペクティブのカスタマイズ」から
「アクションセット可用性」及び「メニュー可用性」のGitに✅
・「Toolbar Visibility」にてツールバーにほしいアイテムを選択します
image.png
自分の選択ははこんな感じですね
image.png

ignoreする・しない

ちょっと問題になりますよね…ignoreして無かったら何もいじってないのに変更がかかってgit操作が面倒になるケース、
逆に必要なものがaddされてなくて面倒になるケース…

CubeIDEのGUI(Egit)でリポジトリを構築した場合、gitignoreが自動生成されます。

####ignoreすべきもの
・/Debug/ /Release/
まあビルドした時に生成されるファイルですから本質の変更とは無関係な変更となります。
・/.settings/
単語辞書ファイルが入ってます。そのため環境依存
・.mxproject
iocからgenerateしたときに生成されるもの、中を見るとプロジェクトのパスが書かれていて環境依存です。
・*.launch
デバッグや実行(書き込み)の時の設定ファイルです。
人によってはSTLink(ライター・デバッガー)を複数挿すため、そのID指定をすることがあると思います。よって環境依存となります。

####ignoreするべきでないもの
「しないべき」「してはいけない」という意味で
・.ioc
CubeMXのファイル(GUIピン設定など)
・.project
CubeIDE用語「プロジェクト」の設定ファイルです。これがあることでこのフォルダがプロジェクトであることを認識します。
これがないとクローンした時にワークスペースにインポート(表示)されないことがあります。
また、もしインポートされなかった場合、CubeIDEを開いた状態にしてエクスプローラで.projectをダブルクリックするときれいにインポートされます。
・.cproject
C/C++の設定ファイル(?)。プロジェクトの「プロパティ」にて設定した項目の一部はここに保存されてるようです。
-u_printf_float(printfのfloat表示)の設定が保存されていることを観測してます。

####未確認
・*.ld
このファイル何か知らないので勉強します。

リポジトリの作り方と注意

お勧めはワークスペース丸ごとではなくて、その中のプロジェクトごとにリポジトリを作ることです。

問題はリモートにあるリポジトリをクローンするときですが、プロジェクトフォルダ名と.iocの名前を一致させる必要があるので、
リモートリポジトリ名によってはクローンのローカルパスの最後を修正する必要があります。

#相互リンク(随時更新@2020/03/09)
【手抜き】STM32の使い方まとめ
(まだない記事は今後変更の可能性があります)

14
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?