ESP32學習筆記(一)之linux下開發環境搭建


硬件平台:esp32kit
軟件平台:Linux下的ESP-IDF


前言:
ESP32是目前一款比較熱門的物聯網模塊,屬於SOC(System On Chip),也就是片上系統,自帶一個雙核哈佛架構的CPU,兩個 CPU 核可以被單獨控制或上電。 時鍾頻率的調節范圍為 80 MHz 到 240 MHz。,所有的片上存儲器、片外存儲器以及外設都分布在兩個CPU 的數據總線和/或指令總線上。具備WIFI與BLE4.2協議棧,因此非常適合開發物聯網產品。因此小弟決定入坑了。。。

主要特性(摘取自官方手冊)
地址空間
– 對稱地址映射
– 數據總線與指令總線分別有4 GB(32-bit)地址空間
– 1296 KB 片上存儲器地址空間
– 19704 KB 片外存儲器地址空間
– 512 KB 外設地址空間
– 部分片上存儲器與片外存儲器既能被數據總線也能被指令總線訪問
– 328 KB DMA 地址空間
• 片上存儲器
– 448 KB Internal ROM
– 520 KB Internal SRAM
– 8 KB RTC FAST Memory
– 8 KB RTC SLOW Memory
• 片外存儲器
片外SPI 存儲器可作為片外存儲器被映射到可用的地址空間。部分片上存儲器可用作片外存儲器的Cache。
– 最大支持16 MB 片外SPI Flash
– 最大支持8 MB 片外SPI SRAM
• 外設
– 41 個外設模塊
• DMA
– 13 個具有DMA 功能的模塊



ESP-IDF是樂鑫官方的開發環境,假如習慣操作linux的話,ESP-IDF對你來說會是一個非常方便的開發環境,而且自帶monitor串口調試,不過我用的不是附帶的。。。
因為我曾經嘗試過在windows下使用eclipsel來進行搭建開發環境,使用安心可的下載工具進行下載程序,感覺配置配置非常麻煩,而且燒寫程序機器慢,因此換用
linux來進行玩耍。

本人使用的是centos7系統,根據官方教程的指導,先把各種依賴包安裝上去

  • CentOS 7:

    sudo yum install git wget make ncurses-devel flex bison gperf python pyserial
  • Ubuntu and Debian:

    sudo apt-get install git wget make libncurses-dev flex bison gperf python python-serial
  • Arch:

    sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial

然后開始下載斌且配置交叉編譯鏈

下載完后,先創建一個文件夾來保存編譯鏈mkdir -p ~/esp

進入目錄並且解壓
cd ~esptar -xzf ~/Downloads/xtensa-esp32-elf-linux64-1.22.0-73-ge28a011-5.2.0.tar.gz


生成的編譯鏈在xtensa-esp32-elf文件夾內然后開始配置環境變量,直接寫進 /etc/profile  就不用每次開關機都要重新配置環境變量了
sudo vim /etc/profile   (沒有vim的可以用vi、nano等代替)


按 a 進入編輯模式   把  export PATH="$PATH:$HOME/esp/xtensa-esp32-elf/bin"   添加到頂端


按 wq 保存退出(保存不了的估計是沒用sudo)


然后   reboot  一下,讓環境變量生效,簡單粗暴!


開機后終端輸入   

printenv PATH  


如果顯示如下表示成功配置編譯鏈了
/home/user-name/bin:/home/user-name/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/user-name/esp/xtensa-esp32-elf/bin


至此,esp32的交叉編譯鏈已經配置好,剩下的就是安裝ESP-IDF了首先,下載在剛才的esp文件夾里面(隨意那個目錄,為了方百年,還是esp文件夾吧)
git clone --recursive https://github.com/espressif/esp-idf.git

進入esp-idf文件夾並且初始化cd ~/esp/esp-idfgit submodule update --init然后把  export IDF_PATH=~/esp/esp-idf  添加到profile中,類似於剛才那個操作


然后我們復制一個工程出來編譯並且下載,測試我們的開發環境

cd ~/espcp -r $IDF_PATH/examples/get-started/hello_world .     (后面那個 . 記得別復制漏了!)

然后我們插上板子,因為我用的是虛擬機,因此需要把開發板連接到虛擬機上面去

  

到右下角那里找到自己的開發板,點擊以下類似U盤那個東西,連接!然后查看串口

  ls /dev/

我的是ttyUSB0然后進入剛才復制出來的那個工程的目錄
cd ~/esp/hello_world

配置工程make menuconfig此時會彈出一個窗口

一般進入到第四個,配置一下下載選項、串口波特率等等。我選擇默認,也就是不動它。(下載失敗的朋友可以去看看串口名稱對不對)

然后開始編譯和下載進入 su 模式(此處非常關鍵,不能使用 sudo 一定是要su用戶模式才能成功!!!)

su
make flash

程序開始編譯並且結束會自動下載


Done!!!至此,一個linux下開發環境搭建完畢!enjoy youself!

希望這篇文章能讓同為小白的你少走彎路~~

注:習慣閱讀英文文檔的同學可以看原版資料,本教程是建立在官方教程的基礎之上的。https://esp-idf.readthedocs.io/en/latest/get-started/index.html#start-a-project


免責聲明!

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



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