1. 程式人生 > >在windows 下使用eclipse進行編譯和燒寫

在windows 下使用eclipse進行編譯和燒寫

desktop 交叉編譯 頁面 開源 操作 調試 process 內置 sta

eclipse IDE是一款開源的前端編程軟件,它提供了編寫,編譯和調試ESP-IDF項目的圖形集成開發環境。

首先在https://www.obeo.fr/en/eclipse-download?INSTALLER-WIN64中選擇需要的對應位數的eclipse。

然後在http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下載eclipse運行所需的java環境。

在安裝是選擇

技術分享

點擊安裝jdk環境和eclipse軟件。打開eclipse結果如下

STEP1;

設置Eclipse

一旦新的Eclipse安裝啟動,請按照下列步驟操作:

進口新工程

  • Eclipse使用ESP-IDF中的Makefile支持。這意味著您需要先創建ESP-IDF項目。您可以使用github中的idf-template項目,或者在esp-idf examples子目錄中打開一個示例。(這裏選擇上篇文章的helloworld)
  • 一旦Eclipse運行,選擇文件 - >導入...
    技術分享

  • 在彈出的對話框中,選擇“C / C ++” - >“現有代碼作為Makefile項目”,然後單擊“下一步”。
    技術分享
  • 在下一頁上,輸入“現有代碼位置”作為您的IDF項目的目錄。不要指定ESP-IDF目錄本身的路徑(稍後)。
    您指定的目錄應包含名為“Makefile”(項目Makefile)的文件。
  • 在同一頁面上的“用於索引器設置的工具鏈”下,取消選中“僅顯示支持該平臺的可用工具鏈”。
  • 在出現的擴展列表中,選擇“Cygwin GCC”。然後單擊完成。
    技術分享

    此時打開點擊技術分享可以看到新項目將顯示在項目資源管理器下了。

    技術分享

    STEP2;

    項目屬性

    右鍵單擊該項目,然後從上下文菜單中選擇“屬性”

  • 技術分享

    點擊“C / C ++ Build”屬性頁面(頂級):

    • 取消選中“使用默認構建命令”,然後在自定義構建命令中輸入
      python ${IDF_PATH}/tools/windows/eclipse_make.py
  • 技術分享
  • 單擊“C / C ++構建”下的“Environment”屬性頁面:

  • 技術分享

    • 點擊“Add...”,輸入名稱BATCH_BUILD和值1
    • 技術分享

    • 再次點擊“Add...”,輸入名稱IDF_PATH。該值應為安裝ESP-PATH的完整路徑。應使用非反斜杠(即C:/ Users / MyUser / Development / esp-idf)的轉斜斜杠來指定IDF_PATH目錄。
    • 技術分享
    • 編輯PATH環境變量。刪除現有值並替換為(3個bin路徑)
      C:\Users\li\Desktop\ESP32\msys32\usr\bin;C:\Users\li\Desktop\ESP32\msys32\mingw32\bin;C:\Users\li\Desktop\ESP32\msys32\opt\xtensa-esp32-elf\bin
      

        技術分享

  • 點擊“C/C++ General” -> “Preprocessor Include Paths, Macros, etc.” 完成如下操作,替換${COMMAND}行開頭的文本xtensa-esp32-elf-gcc

    技術分享

  • 點擊勾選“CDT GCC Build Output Parser”,並將完整的編譯器命令模式改為xtensa-esp32-elf-(g?cc)|([gc]\+\+)|(clang)

    技術分享

  • 選擇appply and close,此時看到工程已經不報錯了。
  • 在Eclipse之外,打開一個命令行提示符。導航到項目目錄,並運行以配置項目的esp-idf設置。此步驟目前必須在Eclipse之外運行。make menuconfig,和上篇文章的編譯操作一樣。
  • 點擊build進行編譯後,

    技術分享

  • 選擇創建一個燒寫flash的文件
  • 技術分享

    技術分享

  • 選中project->Build Target->build對flash進行編譯,將程序燒寫到開發板中。

  • 程序燒寫完成,之後按照上篇文章的驗證方法對整個燒寫結果進行驗證。
  • 技術分享

    技術細節

    • xtensa-esp32-elf-gcc交叉編譯器不是 Cygwin工具鏈,盡管我們告訴Eclipse它是一個。這是因為msys2使用Cygwin並支持Cygwin路徑(類型/c/blah而不是c:/blahc:\\blah)。特別地,xtensa-esp32-elf-gcc報告給Eclipse的“內置編譯器設置”功能,其內置的include目錄都在/usr/其中,這是Eclipse否則無法解析的Unix / Cygwin樣式路徑。通過告訴Eclipse編譯器是Cygwin,它使用該cygpath實用程序在內部解析這些路徑
    • 解析從esp-idf輸出時也會出現同樣的問題。Eclipse解析此輸出以查找頭目錄,但無法解析表單的include目錄,/c/blah而不使用cygpathEclipse Build Output Parser使用一個啟發式來確定是否應該調用它cygpath,但是由於目前未知的原因,esp-idf配置不會觸發它。因此,eclipse_make.py包裝器腳本用於調用make然後用於cygpath處理Eclipse的輸出。

在windows 下使用eclipse進行編譯和燒寫