樂鑫Esp32學(xué)習(xí)之旅② 巧用eclipes編輯器比驻,官方教程在Windows下搭建esp32開發(fā)環(huán)境该溯,打印 “Hello World”。



一 、前言闰挡;

欲要工其事锐墙,必要利其器;一個好的開始长酗,必須要有一個好的編譯器和環(huán)境溪北,上篇我們已經(jīng)提到了在Linux系統(tǒng)搭建編譯環(huán)境,還需要開發(fā)的編譯器夺脾,我堅(jiān)信很多小伙伴都是windows系統(tǒng) 的之拨,所以這篇帶來的是:在windows下搭建ESP32的編譯環(huán)境和利用Eclipes編譯器編譯我們的工程,一舉兩得咧叭!


安信可的一體化環(huán)境蚀乔,發(fā)現(xiàn)集成后,難于適應(yīng)最新版的IDF佳簸,為此博主辛苦敲打3個小時出此博文乙墙,未經(jīng)同意不得轉(zhuǎn)載,多謝合作生均!


二听想、工具下載材料;


三、工具安裝佩脊;


  • 第一步:解壓上面下載好的esp32_win32_msys2_environment_and_toolchain-20180110.zip文件夾蛙粘,注意解壓后的名字是msys32;比如我目前的路徑為E:\Esp32Study\ESP32IDE威彰;

①出牧、我們把視野轉(zhuǎn)移到子目錄下的etc\profile.d文件夾下面,新建一個export_idf_path.sh的命令符文件歇盼,注意格式是.sh舔痕,見圖一;
②豹缀、其內(nèi)容如下代碼伯复,旨在指定編譯時候的路徑:<font color=red>第一個是指定了IDF框架,第二個是指定了PY等命令邢笙!</font>:

export IDF_PATH="E:/Esp32Study/ESP32IDE/msys32/home/Administrator/esp-idf"
export PATH="/mingw32/bin/:$PATH"

這里寫圖片描述

  • 第二步:點(diǎn)擊主目錄下面的msys2.exe文件啸如,其實(shí)這是一個shell命令!拉取下載最新版的IDF框架氮惯,用git指令拉取叮雳,貌似本地要安裝git客戶端想暗,如果沒有安裝,請自行百度怎么安裝git债鸡。<font color=blue>這里要等待3到4分鐘江滨,取決于網(wǎng)速!</font>:
git clone --recursive https://github.com/espressif/esp-idf.git
這里寫圖片描述

四厌均、初次編譯唬滑;


  • 第一步:我們現(xiàn)在嘗試下在windows下編譯,先把EE:\Esp32Study\ESP32IDE\msys32\home\Administrator\esp-idf\examples\get-started下面的hello_world拷貝到任意一個文件夾棺弊,其實(shí)此刻的工程已經(jīng)和SDK包分離開了晶密!
  • 我這里就在esp-idf同目錄下面新建子文件夾Project32,同時把hello_world復(fù)制到此文件夾下面!
這里寫圖片描述

  • 第二步:我們shell命令模她,切換到我們的hello_world文件夾稻艰;注意打開時候,已經(jīng)是在\home\Administrator的目錄了侈净,所以我們僅需要cd ProjectEsp32\hello_world ;

    我們先配置hello_world的下載配置文件尊勿,輸入make menuconfig:出現(xiàn)一個藍(lán)色小彈窗,這和我們上篇文章說的一樣畜侦,如下元扔,重要的是Flash size改為 4MB 即可 ,第一個是端口設(shè)置旋膳,根據(jù)你插上來的ESP32的端口決定澎语,注意格式是com+數(shù)字,比如我當(dāng)前的是 17端口:

  • 這里寫圖片描述
  • 這里寫圖片描述

  • 第三步:輸入編譯指令make all ,編譯代碼验懊,此處會有5分鐘左右時間擅羞,請耐心等待!最后為下面輸出减俏,即為成功編譯!此命令適合配合樂鑫的下載軟件進(jìn)一步到固件燒錄到esp32碱工!
CC build/xtensa-debug-module/eri.o
AR build/xtensa-debug-module/libxtensa-debug-module.a
LD build/hello-world.elf
esptool.py v2.3.1
To flash all build output, run 'make flash' or:
python /home/Administrator/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32 --port com13 --baud 115200 --before default_reset --after h                                                    ard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 /home/Administrator/ProjectEsp32/hello_world/build/bootloader/                                                    bootloader.bin 0x10000 /home/Administrator/ProjectEsp32/hello_world/build/hello-world.bin 0x8000 /home/Administrator/ProjectEsp32/hello_world/build/                                                    partitions_singleapp.bin


這里寫圖片描述

  • 第四步:或者輸入編譯指令make flash 痛垛,編譯代碼并且燒錄草慧,此處會有5分鐘左右時間桶蛔,請耐心等待匙头!最后為下面輸出,即為成功編譯并且燒錄成功仔雷,我們打開我們的串口助手查看串口輸出信息蹂析!

這里寫圖片描述

  • 復(fù)位硬件舔示!查看我們的串口工具,此hello_world實(shí)現(xiàn)的功能是电抚,每10s重啟模塊惕稻!
這里寫圖片描述

五、開始搭建Eclipes編譯器環(huán)境蝙叛;


  • 注意:搭建Eclipes編譯器環(huán)境前俺祠,必須要確保你的電腦有Java開發(fā)環(huán)境哦,請自行搭建java開發(fā)環(huán)境借帘!還有對應(yīng)的是否為64或者32位系統(tǒng)蜘渣,否則會出現(xiàn)發(fā)現(xiàn)缺JRE.!

①肺然、確定下載的eclipes是否為c/c++類型蔫缸,從下圖看到的彈窗已經(jīng)是默認(rèn)把C/C++default

這里寫圖片描述

②际起、導(dǎo)入工程拾碌,拷貝我們的剛剛的hello_world目錄,這個和esp8266的導(dǎo)入有點(diǎn)相似街望,但是最后選擇是跨平臺的Cross Gcc校翔;

這里寫圖片描述

這里寫圖片描述

③、導(dǎo)入工程后它匕,需要為編譯器配置下編譯變量U谷凇;

增加一個是IDF_PATH的變量:

E:\Esp32Study\ESP32IDE\msys32\home\Administrator\esp-idf\

增加三個是PATH的變量豫柬,<font color=red>注意在原來的基礎(chǔ)上加告希,分號用英文的!烧给!

E:\Esp32Study\ESP32IDE\msys32\usr\bin\;
E:\Esp32Study\ESP32IDE\msys32\opt\xtensa-esp32-elf\bin;
E:\Esp32Study\ESP32IDE\msys32\mingw32\bin\;

④、為編譯器配置工程的編譯指令4〉铡;

第一個配置鼠標(biāo)右擊工程伯诬,找到Make TargetCreat..., 之后我們新建我們的make all命令盗似,如下:

這里寫圖片描述


第二個配置鼠標(biāo)右擊工程平项,找到Make TargetCreat..., 之后我們新建我們的make flash命令,如下:

這里寫圖片描述


關(guān)于為什么不配置make menuconfig命令? 此命令我發(fā)現(xiàn)配置了也不成功顯示那個藍(lán)色彈窗心赶,可能是需要cywin的配置缺猛,也有可能是其他問題?所以弯汰,我這還是用shell命令符來配置make menuconfig咏闪,比較笨重摔吏! 希望已經(jīng)解決此問題的人,留言下据某,萬分感激J俊滤祖!


六、編譯代碼埂材;


  • 雙擊make all汤求,僅僅編譯工程不燒錄,出現(xiàn)以下信息,說明編譯成功:
這里寫圖片描述

  • 雙擊make flash竖独,編譯工程而且燒錄莹痢,出現(xiàn)以下信息格二,說明編譯成功顶猜!注意配置文件要正確的端口號痘括!
這里寫圖片描述

七纲菌、修改代碼,打印hello world嚣潜;


  • 打開工程的文件椅贱,發(fā)現(xiàn)報錯找不到函數(shù),莫急莫急计技,安裝如下操作:
這里寫圖片描述

首先我們先配置下整個工程的頭文件路徑垮媒,因?yàn)?code>SDK和編譯器代碼是分開的睡雇,所以手動指定路徑頭文件饮醇!

${IDF_PATH}/components/esp32/include
${IDF_PATH}/components/newlib/include
${IDF_PATH}/components/freertos/include
${IDF_PATH}/components/nvs_flash/include
${IDF_PATH}/components/driver/include
${IDF_PATH}/components/log/include
${IDF_PATH}/components/spi_flash/include
  • 這里寫圖片描述

我們把app_main()修改如下驳阎,讓他不再重啟模塊!

void app_main() {

    printf("Hello world!\n");

    esp_chip_info_t chip_info;
    esp_chip_info(&chip_info);

    printf("--------------------------------------------\n\r ");
    printf("Hellow World , Esp32 !!\n\r ");
    printf("This is ESP32 chip with %d CPU cores, WiFi%s%s, ", chip_info.cores,
            (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
            (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");

    printf("silicon revision %d, ", chip_info.revision);

    printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024),
            (chip_info.features & CHIP_FEATURE_EMB_FLASH) ?
                    "embedded" : "external");
    printf("--------------------------------------------\n\r ");
    fflush(stdout);
}

雙擊make flash編譯并且下載到esp32蜘腌,波特率115200撮珠,復(fù)位上電看串口打咏鹈勺届!

這里寫圖片描述

本文為博主半顆心臟辛苦敲打了3個小時免姿,未經(jīng)同意不得轉(zhuǎn)載胚膊,多謝合作想鹰!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末株汉,一起剝皮案震驚了整個濱河市歌殃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌路召,老刑警劉巖波材,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件廷区,死亡現(xiàn)場離奇詭異,居然都是意外死亡埠帕,警方通過查閱死者的電腦和手機(jī)玖绿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門斑匪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人狡蝶,你說我怎么就攤上這事∷照拢” “怎么了馍乙?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵丝格,是天一觀的道長显蝌。 經(jīng)常有香客問我订咸,道長,這世上最難降的妖魔是什么骆撇? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任父叙,我火速辦了婚禮,結(jié)果婚禮上涌乳,老公的妹妹穿的比我還像新娘甜癞。我一直安慰自己,他們只是感情好蒸辆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布吁朦。 她就那樣靜靜地躺著渡贾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪纺讲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天逢渔,我揣著相機(jī)與錄音乡括,去河邊找鬼。 笑死盲赊,一個胖子當(dāng)著我的面吹牛哀蘑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播绘迁,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼缀台,長吁一口氣:“原來是場噩夢啊……” “哼哮奇!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起依疼,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤律罢,失蹤者是張志新(化名)和其女友劉穎棍丐,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體歌逢,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡砰苍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了茬缩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡凰锡,死狀恐怖掂为,靈堂內(nèi)的尸體忽然破棺而出员串,到底是詐尸還是另有隱情,我是刑警寧澤昵济,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布野揪,位于F島的核電站,受9級特大地震影響海铆,放射性物質(zhì)發(fā)生泄漏挣惰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一珍语、第九天 我趴在偏房一處隱蔽的房頂上張望板乙。 院中可真熱鬧拳氢,春花似錦、人聲如沸放接。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乳乌。三九已至,卻和暖如春再来,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背芒篷。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工针炉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扳抽,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓镰烧,卻偏偏與公主長得像楞陷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子固蛾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容