因為之前使用的是ESP-IDF5.3版本。而5.3版本又不支持ESP32P4。而V5.4版本開始正式對P4的支持。所以我把ESP-IDF 升級到V5.4.2的release版本。
一、升級版本:【根據樂鑫官方的方式升級】ESP-IDF 版本簡介 - ESP32-P4 - — ESP-IDF 編程指南 v5.4.2 文檔
更新至一個穩定發布版本?
對于量產用戶,推薦更新至一個新的 ESP-IDF 發布版本,請參考以下步驟:
-
請定期查看?發布說明頁面?,了解最新發布情況。
-
如有新發布的 Bugfix 版本(例?
v3.0.1
?或?v3.0.2
)時,請將新的 Bugfix 版本更新至你的 ESP-IDF 目錄。 -
在 Linux 或 macOS 系統中,請運行如下命令將分支更新至 vX.Y.Z:
cd $IDF_PATH
git fetch
git checkout vX.Y.Z
git submodule update --init --recursive
-
在 Windows 系統中,需要將?
cd?$IDF_PATH
?替換為?cd?%IDF_PATH%
。 -
在主要版本或次要版本新發布時,請查看發布說明中的具體描述,并決定是否升級版本。具體命令與上方描述一致。
升級過程基本上是沒有什么問題的。
二、升級完成后-測試
運行 get_idf后出現了錯誤如下:
Traceback (most recent call last):
File "/home/book/esp/esp-idf/tools/idf.py, line 3262, in <module>
.
.
.
AttributeError: '_SpecialForm' object has no attribute 'replace'
后面百度搜索找到一篇文章:Ubuntu20.04.1下ESP32環境esp-idf配置之路_ubuntu esp-idf-CSDN博客
類似的錯誤。但是解決方法不一樣。我按照這文章的方式不行
這里我的Ubuntu就執行不了。我的環境的在~/.espressif/python_env/idf5.4_py3.9_env/這里面明顯不一樣。然后執行apt也會提示:WARNING: apt does not have a stable CLI interface. Use with caution in scrip。
三、解決問題
解決1:
【后面怎么設置也不行。沒有辦法就嘗試把python版本改一下。官方也沒有看到python具體版本號,只是看到python3版本。我V5.3.2是用python3.9.0是可以的。也沒有考慮是python的問題。這次搞了一天多問題依舊。所以我就升級一個python3.10.16版。】
升級python版本方法:Linux Ubuntu系統升級修改python至Python3.9版本,更新pip為pip3_linux怎么升級python3.9-CSDN博客
問題2:新的終端打開get_idf出現問找到環境
$ get_idf
Checking "python3" ...
Python 3.10.16
"python3" has been detectedERROR: ESP-IDF Python virtual environment "/home/book/.espressif/python_env/idf5.4_py3.10_env/bin/python" not found. Please run the install script to set it up before proceeding.
解決2:這時候看~/.espressif/python_env/idf5.4_py3.9_env/是3.9.0這個時候我就重新把這cp一個重命名3.10就好了
?升級完后再get_idf竟然好了。