【WiFi模组】乐鑫ESP32 基于ESP-IDF的原生SDK二次开发
一、 開發(fā)環(huán)境
1.系統(tǒng)環(huán)境:Windos10
2.源碼框架:官方ESP-IDF 4.4.1
3.編輯代碼:VScode
3.開發(fā)語言:C語言
4.操作系統(tǒng):FreeRTOS
二、開發(fā)流程
1.下載離線安裝包 & 安裝
【官方下載鏈接:ESP-IDF Windows Installer Download Open Source IoT Development Framework for ESP32】
嘗試過在線安裝,但是由于網(wǎng)絡(luò)問題很容易失敗,建議使用離線安裝
安裝程序會安裝以下組件:
- 內(nèi)置的 Python
- 交叉編譯器
- OpenOCD
- CMake 和 Ninja 編譯工具
- ESP-IDF
安裝在D盤,一路點(diǎn)擊下一步即可
2.啟動ESP-IDF環(huán)境
安裝結(jié)束時,如果勾選了 Run ESP-IDF PowerShell Environment,安裝程序會在選定的提示符窗口啟動 ESP-IDF
3.創(chuàng)建工程
① 在桌面新建ESP目錄
② 將ESP-IDF框架中的例程復(fù)制到~ESP/下
③ 設(shè)置環(huán)境變量
要用安裝工具生成的那個ESP-IDF 4.4 PowerShell桌面快捷方式,打開電腦中的PowerShell沒用,因?yàn)闆]有關(guān)聯(lián)到ESP-IDF
切到 ~\esp\hello_world目錄下,即我們的工程目錄下
設(shè)置環(huán)境變量的工具在D:\Espressif\frameworks\esp-idf-v4.4.1下,我們在當(dāng)前工程目錄運(yùn)行它,即可將當(dāng)前工程目錄添加到環(huán)境變量,然后我們才能使用python工具對該工程進(jìn)行編譯、下載等操作,命令如下:
4.編譯
編譯指令如下:
idf.py build
編譯成功生成.bin文件
5.下載
下載前要設(shè)置目標(biāo)板 和 裁剪框架
①設(shè)置目標(biāo)板
idf.py set-target esp32②裁剪框架,配置自己需要的功能
idf.py menuconfig配置需注意的地方:
- 如果開發(fā)板用usb供電,注意關(guān)掉電壓檢測,否則會一直重啟
- 如果程序較大,在Serial flasher confi --->中修改Flash大小,否則程序下載不進(jìn)去
- 如果使用藍(lán)牙功能,在Component config --->中打開藍(lán)牙,藍(lán)牙默認(rèn)是關(guān)閉的
- 如果想用藍(lán)牙功能來配網(wǎng),還要在開啟藍(lán)牙的同時使能藍(lán)牙菜單下的BluFi功能
③下載
根據(jù)實(shí)際端口
idf.py -p COM3 -b 460800 flash④監(jiān)控
idf.py -p COM3 monitor三、代碼編輯
1.配置vscode依賴,方便跳轉(zhuǎn)到框架源碼
在c_cpp_properties.json中
{"configurations": [{"name": "Win32","includePath": ["D:\\Espressif/**","${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "msvc-x64"}],"version": 4 }2.編寫Makefilelist.txt
開發(fā)中新建的多個路徑及文件,記得添加到Makefilelist.txt,供編譯工具編譯時索引
idf_component_register(SRCS "main.c""../APP/src/GPIO.c" "../APP/src/Character.c" "../APP/src/MQTT.c" "../APP/src/MQTT_Subscribed.c" "../APP/src/MQTT_Publish.c" "../APP/src/NVS.c" "../APP/src/D_open.c" "../APP/src/Pulse_CNT.c" "../APP/src/Timer.c" INCLUDE_DIRS "../APP/inc" REQUIRES blufiPRIV_REQUIRESmqtt nvs_flash )其中REQUIRES 代表自己定義的組件,PRIV_REQUIRES代表官方組件,如果使用了相關(guān)功能,記得添加,否則會報(bào)找不到頭文件的錯誤,如果報(bào)了錯,可以看看是不是沒有添加組件
總結(jié)
以上是生活随笔為你收集整理的【WiFi模组】乐鑫ESP32 基于ESP-IDF的原生SDK二次开发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: solidworks的安装以及下载教程
- 下一篇: 华为hcie报考条件