如何使用安信可 ESP 系列一體化開發環境【轉】


本文轉載自:http://wiki.ai-thinker.com/ai_ide_use

注意:Eclipse 只是一個代碼編寫工具,它並不能讀取 makefile 里面的一些配置,甚至它會讀取到 cygwin 下同名稱的頭文件。

針對該現象引起的報錯,我們建議用戶在使用該 IDE 時,直接將 Problems 欄目關掉,因為該提示並不准確,我們主要關注的信息應該為 Console 欄目下的輸出。(第一條 Console 報錯最重要!)

 

准備

我們以ESP8266_NONOS_SDK_V1.5.4為例 (使用樂鑫原廠固件,需要將 driver_lib 和 examples/IoT_Demo 下的文件拷貝到 app目錄下 ,后續步驟與下面一致。)

下載后解壓到合適的目錄下

打開 ESP8266IDE.exe

導入項目

1. 選擇 File→Import

2. 點開C/C++分支,並選中Existing Code as Makefile Project

3. 去除C++支持,選中 Cygwin GCC

點擊Browser,選中esp_iot_sdk_v1.5.2所在的目錄

4. 點擊 Finish 完成esp_iot_sdk_v1.5.2的導入

如下圖:

編譯項目

鼠標選中項目名稱,點擊右鍵出現菜單:

Build Project :編譯項目

Clean Project:清理項目

選中編譯項目,控制台輸出如下圖即編譯成功

注意:Build Project 前最好先 Clean Project,以防止出錯

結束

至此已經完成了ESP8266的編譯

接下來的燒寫下載部分請跳至如何為 ESP 系列模組燒錄固件

若您需要更多示例,請跳轉至ESP8266示例

以下內容適用於樂鑫默認方式,您可以直接下載ESP8266_RTOS_SDK_V1.5.0 ,該示例工程合並了用戶工程和SDK工程,可以直接按照 NONOS 版本步驟導入。8-)

准備

首先我們下載 ESP8266_RTOS_SDK

下載后解壓到合適的目錄下,我們以 D:\Aithinker\ESP8266_RTOS_SDK 為例:

ESP8266的FreeRTOS SDK,采用了SDK和工程文件夾分離的方式,所以我們需要手動創建一個 app 目錄。

1. 將 sdk 目錄下的 driver_lib 重命名為 app

2. 拷貝 /examples/project_template 下的所有文件到剛才的 app 目錄(提示覆蓋則確認),完成后目錄結構如下:

3. 將 ESP8266_RTOS_SDK/third_party/makefile 重命名為 makefile.bak ,以防止編譯時報錯,雖然不影響編譯但是強迫症患者不能忍啊。。。

接下來,我們啟動 ESP_IDE,將項目導入 Eclipse

導入項目

1. 選擇 File→Import

2. 點開C/C++分支,並選中Existing Code as Makefile Project

3. 去除C++支持,選中 Cygwin GCC

點擊Browser,選中ESP8266_RTOS_SDK

4. 點擊 Finish 完成ESP8266_RTOS_SDK的導入

完成后如下圖:

配置項目

因為分離了sdk和project目錄

所以編譯之前必須先指定一個 SDK_PATH 和 BIN_PATH

修改 ESP8266_RTOS_SDK/app 目錄下的 makefile,添加以下內容

parent_dir:=$(abspath $(shell pwd)/$(lastword $(MAKEFILE_LIST)))
parent_dir:=$(shell dirname $(parent_dir))
parent_dir:=$(shell dirname $(parent_dir))

SDK_PATH= $(parent_dir)
BIN_PATH=$(SDK_PATH)/bin

編譯默認項目

鼠標選中 ESP8266_RTOS_SDK_V1.5.0,點擊右鍵出現菜單:

Build Project :編譯項目

Clean Project:清理項目

選中編譯項目,控制台輸出如下圖即編譯成功

注意:Build Project 前最好先 Clean Project,以防止出錯

編譯 Hello World

1. 刪除 sample_lib 文件夾

2. 修改 ESP8266_RTOS_SDK/app/makefile,將 makefile 中的 sample_lib 替換為 driver ,將 libsample_lib.a 替換為 libdriver.a

3. 因為 driver/i2c_master.c 編譯時會報錯,因此需要在該文件內添加一些頭文件支持

4. ESP8266 默認打印端口為串口 1,需要進行一些初始化方可使用,我們在 user_main.c 的 user_init() 函數中調用 uart_init_new() 函數

5. 修改 ESP8266_RTOS_SDK/Makefile,使其支持boot模式

6. 再次編譯項目,至此可以參考 如何為 ESP 系列模組燒錄固件 進行固件的下載

7. 運行結果如下:

 

准備

首先,打開 cygwin.bat

cygwin.bat

執行下列指令以使用 git 下載esp-idf 和 esp-idf-template

cd /cygdrive/d/ESP32 (進入你的工程目錄)
git clone --recursive https://github.com/espressif/esp-idf.git (必須添加--recursive 屬性,否則無法全部拉取所有模塊)
cd esp-idf
git clone https://github.com/espressif/esp-idf-template app (將 esp-idf-template clone到 esp-idf/app 下)
git submodule update --init (強制拉取所有子模塊,防止上一步驟遺漏)

若 git 下載較慢或失敗,可下載http://pan.baidu.com/s/1jIRotBg(已打包 esp-idf 和 esp-idf-template,下載后請執行 git pull 以進行更新),可省略上面 git 步驟。

打開 ESP_IDE.exe,配置正確的 esp-idf 路徑,並點擊【OK】打開 eclipse

導入項目

1. 選擇 File→Import

2. 點開C/C++分支,並選中Existing Code as Makefile Project

3. 去除C++支持,選中 Cygwin GCC

點擊Browser,選中 esp-idf 所在的目錄

4. 點擊 Finish 完成 esp-idf 的導入

如下圖:

配置項目

因為 make 只能從 app 目錄啟動,故我們需要修改整個項目 build 的位置

右鍵項目→Properties ,單擊 C/C++ Build,修改如下圖

此時,已經具備了編譯的基礎,下面我們配置 make menuconfig 和 make flash 兩條指令

首先新建target,右鍵項目名稱→Make targets ,選擇 Creat

給該 Target 新建一個名稱

在彈出的頁面中取消勾選 Use builder setting ,

取消勾選 Same as the target name 並清空 Make target 的內容

在下面command 中輸入 mintty.exe -e make menuconfig

點擊 OK 保存

重復上一步驟,新建一個 DownLoad 的 Target ,

在彈出的頁面中取消勾選 Use builder setting ,

取消勾選 Same as the target name 並清空 Make target 的內容

在下面command 中輸入 make flash

點擊 OK 保存

選中項目,按下快捷鍵 Shift + F9,彈出剛才新建的兩個 Target

鼠標選中需要編譯的 Target, 點擊 Build 即可實現在 Eclipse 中下載和配置 idf

編譯項目

首次使用請先執行 make menuconfig

鼠標選中項目名稱,點擊右鍵出現菜單:

Build Project :編譯項目

Clean Project:清理項目

選中編譯項目,控制台輸出如下圖即編譯成功

注意:Build Project 前最好先 Clean Project,以防止出錯

結束

至此已經完成了ESP32的編譯

接下來的燒寫下載部分請跳至如何為 ESP 系列模組燒錄固件

若您需要更多示例,請跳轉至ESP32 示例


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM