Linux (Ubuntu)
默認軟件包安裝:
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
獲取 ESP-IDF
mkdir -p ~/esp
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
獲取工具鏈
cd ~/esp/esp-idf
./install esp32
執行 ./install.sh 時, 可以安裝指定芯片的工具, 比如 esp32s2 或 all.
下載默認位置為 $HOME/.espressif, 可在下載前設置 IDF_TOOLS_PATH 以更改位置
導出環境
source $HOME/esp/esp-idf/export.sh
執行 esp-idf 目錄下的 export.sh 可使得開發環境在當前終端生效, 可以更改 ~/.bashrc 打開終端總是生效或者使用 alias 按需生效:
export IDF_PATH=/home/shino/esp/esp-idf
alias esp='source $IDF_PATH/export.sh'
這時只要在任意終端輸入 esp 即可進入編譯環境.
工程示例
創建工程
cp -r ~/esp/esp-idf/examples/get-started/hello_world .
cd hello_world
mkdir -p components/my_component
cd components/my_component
touch my_component.c my_component.h CMakeLists.txt
上面操作復制了官方例程中的 hello_world 作為模板, 然后創建了一個組件 my_component.
編寫組件
my_component.c
#include 'my_component.h'int add(int a, int b){
return a + b;}
my_component.h
#pragma onceint add(int a, int b);
my_component/CMakeLists.txt
idf_component_register(SRCS 'my_component.c'
INCLUDE_DIRS '.')
main/CMakeLists.txt
idf_component_register(SRCS 'hello_world_main.c'
INCLUDE_DIRS ''
PRIV_REQUIRES my_component)
組件之間的依賴關系可在組件注冊時使用 PRIV_REQUIRES 或 REQUIRES 來表示, 其中前者表示私有依賴, 后者則為共有依賴。例如上面因為在 main.c 中 include 了 my_component.h 說明 main 對my_component有依賴關系, 而 main 本身可看做是一個特殊的組件, 因為沒有組件依賴它且其對my_component組件的依賴沒有體現在頭文件上因此可使用 PRIV_REQUIRES 來申明。
上一篇:【ESP32】HardwareSerial庫使用
下一篇:最后一頁
推薦閱讀最新更新時間:2025-06-09 10:29




設計資源 培訓 開發板 精華推薦
- LT1172HVCT、5V/1.25A 正降壓轉換器的典型應用
- 【訓練營】四條腿機器狗
- SG3525A 推挽式脈寬調制器控制電路的典型應用
- LT1108CS8-12掌上電腦邏輯電源微功率DC/DC轉換器典型應用電路
- AM2M-1515DH30-NZ ±15 Vout、2W 雙路輸出 DC-DC 轉換器的典型應用
- LTC2945HMS 具有高達 200V 浪涌保護的堅固型 4V 至 70V 高壓側功率監視器的典型應用
- 常用MCU全能燒錄器
- 【航順訓練營】國產航順MCU開發學習板
- LTC3624EMSE-25 5V 輸出電壓、2A 同步降壓型穩壓器的典型應用,具有 1MHz、突發模式操作
- 具有備用電源監控功能的 LTC4420IMSE 18V 雙輸入微電源路徑優先器的典型應用電路
- 芯原超低能耗NPU可為移動端大語言模型推理提供超40 TOPS算力
- 芯原AI-ISP芯片定制方案助力客戶智能手機量產出貨
- AI加持,安森美一站式服務推動助聽器市場持續進步
- 意法半導體推出用于匹配遠距離無線微控制器STM32WL33的集成的匹配濾波芯片
- 如何為您的應用選擇光傳感器
- Samtec新型農業漫談系列二 | 垂直農業案列分享
- Samtec應用科普 | C-V2X技術在汽車領域的應用
- 尼得科運動&能源事業本部在印度卡納塔克邦胡布利舉行新工廠竣工儀式
- 貿澤開售Qorvo適用于5G和mMIMO應用的新型QPA9822線性5G高增益/高驅動放大器
- 邊緣計算網關工業物聯網應用:空壓機遠程運維監控管理