ESP32チュートリアル3:Linux開発環境のセットアップ(dockerを使用してすべての問題を完全に解決)

1.まとめ

実際、ESP32開発環境がLinuxとWindowsのどちらで構築されていても、依存関係の問題があり、環境構築に多くの時間を浪費し、最終的には失敗することさえあります。これは問題点であり、私たちを非常に苦しめます。私たちはESP32開発の研究に取り組んでいます。この記事では、最初にLinux開発環境のすべての問題を(dockerテクノロジーを使用して)完全に解決し、次にWindows開発環境の問題を完全に解決します。

2. Dockerとは何ですか?

Dockerは一種の仮想化テクノロジーであり、表面的には仮想マシンのような仮想システムです。実際、DockerはLinuxシステムの単なるサービスプロセスであるため、オペレーティングシステムよりもはるかに少ないリソースを消費します。

3. Linux開発環境のすべての問題を解決できるのはなぜですか?

dockerは一種の仮想マシンテクノロジーなので、優れたESP32 Linux環境を実行し、この環境でdockerミラーを作成します。ソフトウェアをインストールする限り、どのようなLinuxシステムであるかを問わず、docker使用します。 、この画像、dockerサービスを開始すると、完璧な開発環境が得られます。

第四に、dockerをインストールします。

例としてubuntuを取り上げ、dockerをインストールします。

step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

Baiduで検索すると、他のLinuxシステムをすばやくインストールできます。
注:インストールが遅い場合は、インストールソースまたはBaiduを変更できます。

5.esp-idf環境イメージを取得します。

idf_v4x_full_v3.tarという名前で作成されたesp32-idfのDockerイメージを提供します。
Baiduネットワークディスクアドレス:

链接:https://pan.baidu.com/s/1u-5FiTGH51SuhrL0eOs_4g 
提取码:z8e9 

6.コンテナーを作成し、開発にdockerを使用します。

注:コードパッケージのプルを高速化するためのリファレンス記事:githubコードパッケージのプルを高速化する方法(例としてESP-IDFを取り上げます)
(1)イメージをロードし、コンテナを作成します。
イメージのロードコマンド:sudo docker load -i idf_v4x_full_v3.tar
ここに画像の説明を挿入します
イメージの表示:sudo docker image ls
ここに画像の説明を挿入します
イメージを使用してコンテナを作成します:、sudo docker run -it -d d2098b4ed96cここで、d2098b4ed96cはロードされたばかりのDockerイメージのIDです。
ここに画像の説明を挿入します
コンテナを表示します。sudo docker ps
ここに画像の説明を挿入します

注:コンテナーはネットワークポート番号を使用する必要があるため、dockerコマンドを実行するにはスーパー権限が必要です。問題が発生した場合は、Linuxエイリアスコマンドalias sdocker="sudo docker"を使用してから、sdockerを直接使用できます。
ここに画像の説明を挿入します

(2)esp-idf開発にはコンテナ環境を使用します。
(2.1)内部esp-idfコードパッケージを直接使用します。
コンテナ内には、esp32-idf(すでにバージョンv4.3)によって開発されたコードパッケージが用意されています。これは、ディレクトリの下のgit pullgithubと同期するために使用できます
コマンドを使用しますsudo docker exec -it dccbce0f4778 /bin/bash。ここで、は作成したばかりのコンテナーのID番号です。
ここに画像の説明を挿入します
コンテナへの
ここに画像の説明を挿入します
入力に成功したことを示す次の端末が表示されます。esp32-idfのルーチンで入力するidf.py menuconfigと、次の設定インターフェイスがポップアップ表示されます。
ここに画像の説明を挿入します
ここに画像の説明を挿入します

(2.2)esp-idfコードパッケージが外側にぶら下がっていました。
ホストにesp-idfソフトウェアパッケージがある場合は、コンテナの作成時にこのパスをコンテナのディレクトリに上書きし、次のコマンドを使用できます。コンテナsudo docker run -it -v 宿主机路径:容器目录 -d d2098b4ed96c
のディレクトリに移動すると、のコードパッケージが表示されます。その後、開発を続けることができます。
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ホストのディレクトリがコンテナに正常にマウントされたことがわかります。
ここに画像の説明を挿入します
注:
(1)複数のホストのディレクトリをコンテナに上書きすることもできます。たとえば、-vオプションを追加するだけで、ホストの/ devカバーを追加できます。コンテナの/ dev。この時点で、コンテナ内のidf.py flashコマンドを使用してコード直接書き込むことができます。
/ dev /はすべてデバイスファイルであるため、/ devをカバーする場合は、パラメーターも追加する必要があります--privileged

sudo docker run -it --privileged -v /dev:/dev -d d2098b4ed96c

(2)Dockerは、1つのイメージを使用して無数の複数のコンテナーを作成できます。コンテナーを使用するための操作は、Baiduだけです。
コンテナの停止コマンド:docker kill container ID
delete containerコマンド:dockerrmコンテナID

セブン、まとめ。

(1)Dockerソフトウェアをインストールします。
(2)ミラーリング環境パッケージをダウンロードします。
(3)Dockerイメージをロードします。
(4)コンテナを作成します。
(5)コンテナに入ります。
(6)開発。

QQ交換グループ:454308668

おすすめ

転載: blog.csdn.net/agony_isolate/article/details/114955021