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
執(zhí)行 ./install.sh 時, 可以安裝指定芯片的工具, 比如 esp32s2 或 all.
下載默認位置為 $HOME/.espressif, 可在下載前設置 IDF_TOOLS_PATH 以更改位置
導出環(huán)境
source $HOME/esp/esp-idf/export.sh
執(zhí)行 esp-idf 目錄下的 export.sh 可使得開發(fā)環(huán)境在當前終端生效, 可以更改 ~/.bashrc 打開終端總是生效或者使用 alias 按需生效:
export IDF_PATH=/home/shino/esp/esp-idf
alias esp='source $IDF_PATH/export.sh'
這時只要在任意終端輸入 esp 即可進入編譯環(huán)境.
工程示例
創(chuàng)建工程
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 作為模板, 然后創(chuàng)建了一個組件 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庫使用
下一篇:(3)ESP32 Python 制作一個辦公室溫度計
- 熱門資源推薦
- 熱門放大器推薦
設計資源 培訓 開發(fā)板 精華推薦
- Microchip 升級數字信號控制器(DSC)產品線 推出PWM 分辨率和 ADC 速度業(yè)界領先的新器件
- 意法半導體STM32MP23x:突破成本限制的工業(yè)AI應用核心
- 意法半導體推出用于匹配遠距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數
- LGVL配合FreeType為可變字體設置字重-ESP32篇
- 使用樹莓派進行 ESP32 Jtag 調試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網頁和arduino的通訊
- ESP32 freeRTOS使用測試
- AD5347 并行接口、八路電壓輸出、10 位 DAC 的典型應用
- LTM4650AIY-1 4.5 至 16Vin、1.5V 和 1.2V、25A 輸出降壓穩(wěn)壓器的典型應用電路
- L78L09AC可調輸出穩(wěn)壓器的典型應用
- TDA7265 單電源典型應用電路,帶靜音/待機的 25 +25W 立體聲放大器
- LTC2601IDD-1 16 位軌至軌 DAC 在 10 引腳 DFN 中的典型應用
- 使用 ON Semiconductor 的 LV4985VH 的參考設計
- AM1G-0503DZ ±3.3V 1 瓦 DC-DC 轉換器的典型應用
- DER-856 - 45 W USB PD 3.0,采用 3.3 V-21 V PPS(3.3 V-11 V 的 APDO 5 A)電源,使用 InnoSwitch3-Pro PowiGaN 和 VIA Labs VP302 控制器
- 具有低 IQ 模式的 A8585 寬輸入電壓、2A 降壓穩(wěn)壓器系列的典型應用
- 全硅穩(wěn)壓器的典型應用
- 南芯科技推出高集成度多口移動電源解決方案,助力充電寶市場穩(wěn)健發(fā)展
- 英飛凌推出具有超低導通電阻的CoolSiC? MOSFET 750 V G2,適用于汽車和工業(yè)功率電子應用
- DigiKey 慶祝 B 站賬號粉絲突破 10 萬,贈送驚喜禮包
- 碳化硅企業(yè) Wolfspeed 啟動破產重組,預計 2025 年三季度末完成司法重整
- 蘋果被曝考慮放棄自研模型 轉而與Anthropic或OpenAI合作
- ?百度文心4.5來襲!英特爾Day0即支持端側部署
- 【廣瀨電機】關于中國發(fā)明專利侵權訴訟達成和解的公告
- 英飛凌BMS解決方案推動電動汽車創(chuàng)新
- 地平線的L3判斷與實踐路徑
- 汽車網絡升級攻略:CAN-CAN FD-車載以太網