tomoyuki-nakabayashi / interface202305-c3-std-rust

17 stars 0 forks source link

開発環境の構築がうまくできません。 #1

Closed m1goh closed 1 year ago

m1goh commented 1 year ago

Ubuntu22.04で開発環境を記事に従って構築すると途中で以下のようになります。

akiyoshi@beetle:~$ rustup target add riscv32imc-esp-espidf error: toolchain 'stable-x86_64-unknown-linux-gnu' does not contain component 'rust-std' for target 'riscv32imc-esp-espidf' note: not all platforms have the standard library pre-compiled: https://doc.rust-lang.org/nightly/rustc/platform-support.html akiyoshi@beetle:~$

エラーになっているようですがどうすればいいのでしょうか?

Windows11でも試してみました C:\Users\akiyoshi>rustup component add rust-src --toolchain nightly-2022-10-01-x86_64-unknown-linux-gnu error: toolchain 'nightly-2022-10-01-x86_64-unknown-linux-gnu' is not installed

途中でエラーになっているようです。

94ページにsudo apt install llvm-dev libclang-dev clang という記述がでてきます。Windowsではこちらのコマンドは実行できないと思います。Windowsでは環境構築できないということでしょうか?

以上です。教えて下さい、よろしくお願いします。

tomoyuki-nakabayashi commented 1 year ago

記事をお読みいただきありがとうございます。

申し訳ありません。こちら rustup target add riscv32imc-esp-espidf を実行しなくとも、サンプルリポジトリを clone してビルドできるかと思います。 一度お試しいただけるでしょうか。

Windows での手順ですが、こちらで環境構築できるかもしれません (私は試したことがありませんので、動作は保証いたしかねますが https://rust-lang.github.io/rust-bindgen/requirements.html#windows

m1goh commented 1 year ago

返信ありがとうございます。

サンプルリポジトリをcloneしてみました。Windowsでは環境構築できなくてもいいです。 マイコンが届いたのでパソコンとUSBケーブルで接続して第4章ステップ2のまずは動かしてみるを試してみました。

`akiyoshi@beetle:~/interface202305-c3-std-rust/hello_c3$ ls Cargo.toml README.md build.rs rust-toolchain.toml sdkconfig.defaults src akiyoshi@beetle:~/interface202305-c3-std-rust/hello_c3$ cargo espflash --release --monitor New version of cargo-espflash is available: v2.0.0-rc.3

✔ Use serial port '/dev/ttyS0'? · yes Serial port: /dev/ttyS0 Connecting...

Error: espflash::serial_error

× Failed to open serial port /dev/ttyS0 ├─▶ Error while connecting to device ├─▶ IO error while using serial port: Permission denied ╰─▶ Permission denied ` Windows11のVMware Workstation PlayerにUbuntu22.04をインストールして環境構築しました。 マイコンをケーブルで接続しても、WindowsエクスプローラとUbuntuのファイルで見ても何も見えないのですが こちらで使用しているシリアルポートは、どうすれば見つける事ができるでしょうか?

dmesgコマンドを実行してみましたがどうもUSBを認識していないようです。 ケーブルは、Wio Terminalに付属していた片側がタイプAのものを使っていますがこれがいけないのでしょうか? 一応パソコンにタイプCのコネクタは付いています。マイコンとは両方タイプCのもので接続しなければいけないのでしょうか? 教えてください、よろしくおねがいします。

tomoyuki-nakabayashi commented 1 year ago

ご確認ありがとうございます。 まずビルドがうまくいったようで安心しました。

USB デバイスとして認識しない点ですが、以下のどちらかで認識するかどうか試していただけますか?初回書き込み時のみで大丈夫なはずです。

ボタンは M5Stamp C3U Mate の USB コネクタすぐ上にあります。

m1goh commented 1 year ago

返信ありがとうございます。

VMware Playerでは、だめなのかと思いましたが教えていただいた方法でできました。 すいません、サポートページを見たら書いてありました。

少し先に進みましたがビルド中にエラーになります。

`Connecting...

Compiling esp-idf-sys v0.32.1 error: failed to run custom build command for esp-idf-sys v0.32.1

Caused by: process didn't exit successfully: /home/akiyoshi/interface202305-c3-std-rust/hello_c3/target/release/build/esp-idf-sys-7f3331c7a8027db0/build-script-build (exit status: 1) --- stdout cargo:rerun-if-env-changed=ESP_IDF_TOOLS_INSTALL_DIR cargo:rerun-if-env-changed=ESP_IDF_SDKCONFIG cargo:rerun-if-env-changed=ESP_IDF_SDKCONFIG_DEFAULTS cargo:rerun-if-env-changed=MCU cargo:rerun-if-env-changed=ESP_IDF_SYS_ROOT_CRATE cargo:rerun-if-env-changed=ESP_IDF_VERSION cargo:rerun-if-env-changed=ESP_IDF_REPOSITORY cargo:rerun-if-env-changed=ESP_IDF_CMAKE_GENERATOR cargo:rerun-if-env-changed=IDF_PATH cargo:rerun-if-env-changed=EXTRA-COMPONENTS cargo:rerun-if-env-changed=ESP_IDF_COMPONENTS PATH=/home/akiyoshi/.espressif/esp-idf/v4.4.1/tools:$PATH

--- stderr Build configuration: BuildConfig { esp_idf_tools_install_dir: Some( Global, ), esp_idf_sdkconfig: None, esp_idf_sdkconfig_defaults: Some( [ "/home/akiyoshi/interface202305-c3-std-rust/hello_c3/./sdkconfig.defaults", ], ), mcu: None, native: NativeConfig { esp_idf_version: Some( Tag( "v4.4.1", ), ), esp_idf_repository: None, esp_idf_cmake_generator: None, idf_path: None, extra_components: [], esp_idf_components: None, }, esp_idf_sys_root_crate: None, } Using managed esp-idf repository: RemoteSdk { repo_url: None, git_ref: Tag("v4.4.1") } /usr/bin/python3: No module named pip ERROR: Python interpreter at /usr/bin/python3 doesn't have pip installed. Please check the Getting Started Guides for the steps to install prerequisites for your OS. Error: Could not install esp-idf

Caused by: command '"python3" "/home/akiyoshi/.espressif/esp-idf/v4.4.1/tools/idf_tools.py" "--idf-path" "/home/akiyoshi/.espressif/esp-idf/v4.4.1" "--non-interactive" "install-python-env"' exited with non-zero status code 1 akiyoshi@beetle:~/interface202305-c3-std-rust/hello_c3$ `

こちらのエラーはどうすれば解消されるでしょうか?教えてくださいよろしくお願いします。

tomoyuki-nakabayashi commented 1 year ago

重ね重ね申し訳ありません。 .cargo/config.toml に間違っている部分がありましたので、コードを更新しました。 今一度、clone し直していただいて、試していただけるでしょうか。

m1goh commented 1 year ago

返信ありがとうございます。 急いでいないのでお気になさらないでください。

cloneをやり直して試してみましたが、同様にビルド中にエラーになってしまいました。

`akiyoshi@beetle:~/interface202305-c3-std-rust/hello_c3$ cargo espflash --release --monitor New version of cargo-espflash is available: v2.0.0-rc.3

Detected 2 serial ports. Ports which match a known common dev board are highlighted.

Serial port: /dev/ttyACM0 Connecting...

Compiling esp-idf-sys v0.32.1 error: failed to run custom build command for esp-idf-sys v0.32.1

Caused by: process didn't exit successfully: /home/akiyoshi/interface202305-c3-std-rust/hello_c3/target/release/build/esp-idf-sys-38dacf1abed18854/build-script-build (exit status: 1) --- stdout cargo:rerun-if-env-changed=ESP_IDF_TOOLS_INSTALL_DIR cargo:rerun-if-env-changed=ESP_IDF_SDKCONFIG cargo:rerun-if-env-changed=ESP_IDF_SDKCONFIG_DEFAULTS cargo:rerun-if-env-changed=MCU cargo:rerun-if-env-changed=ESP_IDF_SYS_ROOT_CRATE cargo:rerun-if-env-changed=ESP_IDF_VERSION cargo:rerun-if-env-changed=ESP_IDF_REPOSITORY cargo:rerun-if-env-changed=ESP_IDF_CMAKE_GENERATOR cargo:rerun-if-env-changed=IDF_PATH cargo:rerun-if-env-changed=EXTRA-COMPONENTS cargo:rerun-if-env-changed=ESP_IDF_COMPONENTS PATH=/home/akiyoshi/interface202305-c3-std-rust/hello_c3/.embuild/espressif/esp-idf/v4.4.1/tools:$PATH

--- stderr Build configuration: BuildConfig { esp_idf_tools_install_dir: None, esp_idf_sdkconfig: None, esp_idf_sdkconfig_defaults: Some( [ "/home/akiyoshi/interface202305-c3-std-rust/hello_c3/./sdkconfig.defaults", ], ), mcu: None, native: NativeConfig { esp_idf_version: Some( Tag( "v4.4.1", ), ), esp_idf_repository: None, esp_idf_cmake_generator: None, idf_path: None, extra_components: [], esp_idf_components: None, }, esp_idf_sys_root_crate: None, } Using managed esp-idf repository: RemoteSdk { repo_url: None, git_ref: Tag("v4.4.1") } /usr/bin/python3: No module named pip ERROR: Python interpreter at /usr/bin/python3 doesn't have pip installed. Please check the Getting Started Guides for the steps to install prerequisites for your OS. Error: Could not install esp-idf

Caused by: command '"python3" "/home/akiyoshi/interface202305-c3-std-rust/hello_c3/.embuild/espressif/esp-idf/v4.4.1/tools/idf_tools.py" "--idf-path" "/home/akiyoshi/interface202305-c3-std-rust/hello_c3/.embuild/espressif/esp-idf/v4.4.1" "--non-interactive" "install-python-env"' exited with non-zero status code 1 akiyoshi@beetle:~/interface202305-c3-std-rust/hello_c3$ `

どこが悪いのでしょうか?教えてください、よろしくお願いします。

tomoyuki-nakabayashi commented 1 year ago

よく見ると pip がない、とエラーが出ているので、次のコマンドで pip をインストールするとどうでしょうか?

$ sudo apt install python3-pip

pip だけで足りない場合、これらのパッケージがあれば足りると思うので、こちらもお試しいただけますと。

$ sudo apt install -y git curl gcc ninja-build cmake libudev-dev python3 python3-pip libusb-1.0-0 libssl-dev pkg-config libtinfo5
m1goh commented 1 year ago

返信ありがとうございます。

pipをインストールして、さらにldproxyをインストールしてビルドが完了しました。 フラッシュ・メモリーへの書き込みが終了しましたが こちらで止まってしまいます。

`Flashing has completed! Commands: CTRL+R Reset chip CTRL+C Exit

ESP-ROM:esp32c3-api1-20210207 Build:Feb 7 2021 rst:0x15 (USB_UART_CHIP_RESET),boot:0x4 (DOWNLOAD(USB/UART0/1)) Saved PC:0x4004c97c 0x4004c97c - chip726_phyrom_version_num at ??:?? waiting for download`

どうしたらよいでしょうか?教えてください、よろしくお願いします。

tomoyuki-nakabayashi commented 1 year ago

一度、USB ケーブルを挿し直してみるとどうでしょうか?

m1goh commented 1 year ago

ありがとうございます。 USBケーブルを指し直したらうまく動きました。

I (282) sleep: Configure to isolate all GPIO pins in sleep state I (289) sleep: Enable automatic switching of GPIO sleep configuration I (296) cpu_start: Starting scheduler. Hello, world!

tomoyuki-nakabayashi commented 1 year ago

ありがとうございます。うまく行ったようでなによりです。 FAQ に記載しておきます。

また何か不明点があれば issue にてご質問ください。

m1goh commented 1 year ago

こちらこそお世話になり、ありがとうございました。 うまく動いてよかったです。