LiteOS ESP32使用指南

      網友投稿 2004 2025-03-31

      簡介

      ESP32是一系列低成本、低功耗的微控制器系統,集成了Wi-Fi和雙模藍牙。其中包含內置天線開關、RF巴倫、功率放大器、低噪聲接收放大器、濾波器和電源管理模塊等。ESP32源代碼目錄包含esp32開發板相關代碼及腳本,如下表所示:

      目錄/文件

      說明

      Inc

      芯片外設配置的頭文件

      Src

      芯片外設配置的頭文件

      include

      系統相關配置頭文件

      os_adapt

      適配的接口文件

      Makefile

      當前開發板工程的Makefile

      README_CN.md

      當前開發板的說明文檔

      eap32.rom.ld????ESP32 ROM

      地址表

      liteos.ld

      當前開發板工程的鏈接文件

      注,以上相關源代碼路徑為:https://gitee.com/LiteOS/LiteOS/tree/master/targets/ESP32。

      環境搭建

      Linux(Windows10 + VMware Workstation 16 Pro + Ubuntu 20.04.3 LTS)

      開發平臺采用 Windows10 + ubuntu 虛擬機的方式。

      安裝 esp-idf

      esp-idf是樂鑫官方推出的物聯網開發框架,相關內容可參考https://github.com/espressif/esp-idf/blob/master/README_CN.md。

      安裝準備:

      $ cd ~ $ sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 $ python3 -m pip install --upgrade pip setuptools wheel $ mkdir esp32 $ cd esp32

      (左右滑動,查看更多)

      esp-idf 安裝:

      $ git clone -b v4.3.1 --recursive https://github.com/espressif/esp-idf.git $ cd esp-idf $ export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets" $ ./install.sh

      注,關于下載過程中的部分問題說明:

      上述操作下載的軟件源大部分位于國外,國內下載速度非常慢,大概率會下載失敗,下載失敗可重復執行,也可替換為如下操作:

      $ git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git $ git clone -b v4.3.1 https://gitee.com/EspressifSystems/esp-idf.git $ cd ~/esp32/esp-gitee-tools/ $ export EGT_PATH=$(pwd) $ cd ~/esp32/esp-idf $ $EGT_PATH/submodule-update.sh $ pip config set global.index-url http://mirrors.aliyun.com/pypi/simple $ pip config set global.trusted-host mirrors.aliyun.com $ $EGT_PATH/install.sh

      執行 $EGT_PATH/submodule-update.sh 時,如果倉庫中的 submodules 沒有增加或減少,可使用 git submodule update --init --recursive 來更新。

      install.sh 安裝過程中,會使用pip安裝所需的包,默認情況下pip使用的是國外的軟件源,使得其安裝過程非常慢,為解決該問題,可切換pip的源。此處設置為阿里的源,也可以更換為其他的源,具體的pip源配置可參考:https://cloud.tencent.com/developer/article/1601851。

      在執行./install.sh時,可能因python、pip版本過低導致失敗,可將其更新到 python3.8、pip 21.2.4。此外,在install.sh運行過程中,下載virtualenv時,失敗的概率較大,可執行pip3 install virtualenv單獨進行安裝,再重新執行 ./install.sh。

      關于安裝過程的詳細說明,可參考ESP32官方文檔:ESP-IDF編程指南 - 快速入門:https://docs.espressif.com/projects/esp-idf/zh_CN/v4.3.1/esp32/get-started/index.html。

      用戶如遇到其他問題,可通過向LiteOS開源倉庫提交issues(https://gitee.com/LiteOS/LiteOS/issues)、上網查詢、查看ESP32官方文檔等方式解決。

      install.sh 成功后,執行以下命令設置臨時環境變量

      install.sh 執行完畢后會出現提示,根據提示執行如下操作:

      $ . ./export.sh

      編譯工具鏈安裝,建議安裝8.4.0版本(已驗證)。一般來說,在成功執行install.sh后,所需編譯工具xtensa-esp32-elf-gcc、esptoos.py已經安裝完成。執行export.sh后,會為編譯工具鏈設置臨時環境變量,可通過執行如下命令查看安裝位置及版本

      查看xtensa-esp32-elf-gcc安裝位置及版本

      $ which xtensa-esp32-elf-gcc $HOME/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc # $HOME: 表示家目錄,以自己的為準 $ xtensa-esp32-elf-gcc -dumpversion # 也可執行 xtensa-esp32-elf-gcc -v 8.4.0 # 8.4.0版本已驗證,其余版本可能編譯失敗 查看esptool.py安裝位置及版本

      $ which esptool.py $HOME/esp32/esp-idf/components/esptool_py/esptool/esptool.py $ esptool.py version esptool.py v3.1-dev 3.1-dev

      注:執行. ./export.sh設置的環境變量為臨時環境變量,只在當前shell窗口中有效,切換窗口后需要重新執行,為方便后續進行LiteOS代碼的編譯,建議在此處將xtensa-esp32-elf-gcc、esptool.py添加到用戶環境變量中。具體操作方式為:

      # 打開配置文件 $ vim ~/.bashrc # 在文件末尾輸入以下內容: export PATH=$PATH:$HOME/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin export PATH=$PATH:$HOME/esp32/esp-idf/components/esptool_py/esptool

      如編譯工具xtensa-esp32-elf-gcc未安裝或版本較低,也可通過如下命令進行手動安裝:

      $ cd ~/esp32 $ mkdir tools $ cd tools $ wget https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz $ tar -xzf xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz

      解壓完成后進入解壓文件,找到編譯工具 xtensa-esp32-elf-gcc 的位置,添加環境變量:

      $ vim ~/.bashrc

      在文件末尾輸入以下內容:

      export PATH=$PATH:$HOME/esp32/tools/xtensa-esp32-elf/bin

      使環境變量生效:

      $ source ~/.bashrc

      查看編譯工具版本(如輸入命令時,使用tab鍵無法自動補全或聯想,可嘗試退出當前shell終端,重新打開):

      $ xtensa-esp32-elf-gcc -v

      安裝 esptool,此工具用于生成 esp32 二進制燒錄文件:

      $ python -m pip install esptool

      添加環境變量:

      $ vim ~/.bashrc

      在文件末尾輸入以下內容:

      export PATH=$HOME/.local/bin:$PATH export PATH=$HOME/esp32/tools:$PATH

      使環境變量生效:

      $ source ~/.bashrc

      查看esptool是否安裝成功:

      $ esptool.py version esptool.py v3.1 # 用戶安裝的版本可能與此處不一致,有返回版本信息即可,沒有版本要求

      利用esp32的examples工程生成bootloader.bin引導文件、分區表文件

      $ cd ~/esp32/esp-idf $ . ./export.sh $ cd examples/get-started/hello_world $ make -j

      編譯成功后,將在當前 build 目錄下生成分區表文件 partitions_singleapp.bin、引導文件 bootloader.bin,具體信息可查看輸出信息。

      注:此處為引導文件和分區表的簡便生成方式,若要了解更多細節,可查看esp32官方文檔:

      ESP-IDF編程指南 - API指南 - 引導加載程序 ESP-IDF編程指南 - API指南 - 分區表

      Windows(Windows10 + HUAWEI-LiteOS-Studio V1.45.9 Beta)

      HUAWEI-LiteOS-Studio 暫未適配 ESP32,本文檔暫不做介紹。

      編譯燒錄LiteOS ESP32工程

      Ubuntu下的編譯

      從 LiteOS 倉庫 拉取LiteOS源碼:

      $ cd ~/esp32 $ git clone https://gitee.com/LiteOS/LiteOS.git

      進入 LiteOS 工程,拷貝 esp32 默認配置文件替換當前配置文件:

      $ cd ~/esp32/LiteOS $ cp tools/build/config/ESP32.config .config

      編譯LiteOS ESP32工程:

      $ make clean; make -j

      編譯完成后會在當前路徑下生成文件 out/ESP32/Huawei_LiteOS.bin,該文件即為 esp32 的燒錄文件。

      windows下的編譯

      HUAWEI-LiteOS-Studio 暫未適配 ESP32,本文檔暫不做介紹。

      燒錄

      安裝燒錄軟件

      燒錄軟件-:https://www.espressif.com/sites/default/files/tools/flash_download_tool_3.9.0_0.zip,該軟件為 Windows 版本的,下載完成后解壓,打開 flash_download_tool.exe。

      配置及燒錄

      此處只做簡單說明,詳細的圖文說明可參考上述解壓目錄下的文檔:doc/Flash_Download_Tool__cn.pdf 中的“2.下載示例”部分的相關介紹。

      打開軟件,芯片類型 chipType 選擇 ESP32,點擊 OK 進入下一步;

      選擇 SPIDownload;

      在SPIDownload頁面下的空白欄,按順序填入引導文件 bootloader.bin 的路徑及-、分區表文件 partitions_singleapp.bin 的路徑及-、esp32的燒錄文件Huawei_LiteOS.bin的路徑及-并勾選,如下:

      文件路徑

      -

      esp32/esp-idf/examples/get-started/hello_world/build/bootloader/bootloader.bin

      0x1000

      esp32/esp-idf/examples/get-started/hello_world/build/partitions_singleapp.bin

      0x8000

      LiteOS ESP32使用指南

      esp32/LiteOS/out/ESP32/Huawei_LiteOS.bin

      0x10000

      SpiFlashConfig 部分SPI SPIEED選擇40MHz,SPIMODE選擇DOUT,勾選 DoNoChgBin;

      按實際情況選擇COM,波特率BAUD選擇115200;

      點擊START開始下載。

      查看運行結果

      使用串口工具查看 esp32 的串口輸出,內容如下:

      ...... 引導程序內容,此處省略 ********Hello Huawei LiteOS******** LiteOS Kernel Version : 5.1.0 build data : Sep 24 2021 14:56:29 ********************************** OsAppInit cpu 0 entering scheduler app init! Hello, welcome to liteos demo! Huawei LiteOS #

      shell命令

      輸入命令 help 查看支持的 shell 命令

      Huawei LiteOS # help *******************shell commands:************************* date free help hwi memcheck swtmr systeminfo task uname watch Huawei LiteOS #

      以上為ESP32使用教程的全部內容,歡迎大家學習交流。

      結語

      未來我們還會持續新增更多組件、開發板、架構、特性等。

      感謝您的閱讀,有任何問題、建議,都可以留言給我們,讓我們一起進步:https://gitee.com/LiteOS/LiteOS/issues

      為了更容易找到“LiteOS”代碼倉,建議訪問https://gitee.com/LiteOS/LiteOS,關注“ Watch”、“Star”、并“Fork”到自己賬號下,如下圖。

      - end -

      IoT Linux 硬件開發 輕量級操作系統 LiteOS

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Python從零到壹】Python的循環結構詳解
      下一篇:excel中加密的方法(2個版本)
      相關文章
      亚洲自偷自偷在线成人网站传媒| 亚洲成a人片在线网站| 2017亚洲男人天堂一| 亚洲视屏在线观看| 久久久婷婷五月亚洲97号色| 无码乱人伦一区二区亚洲一| 亚洲精品无码永久在线观看你懂的| 亚洲伊人久久综合影院| 亚洲国产精品无码久久九九| 亚洲伦乱亚洲h视频| 亚洲美女在线国产| 相泽亚洲一区中文字幕| 久久亚洲av无码精品浪潮| 亚洲中文字幕无码久久综合网| JLZZJLZZ亚洲乱熟无码| 亚洲自偷自偷在线制服| 亚洲国产精品特色大片观看完整版| 亚洲精品tv久久久久久久久| 亚洲AV综合色区无码另类小说| 亚洲AV日韩AV永久无码免下载| 亚洲高清在线视频| 亚洲最大在线观看| 亚洲天堂2017无码中文| 亚洲日本在线电影| 国产成人高清亚洲一区91| 亚洲第一页综合图片自拍| 国产亚洲精品免费视频播放 | 国产av无码专区亚洲av桃花庵| 国精无码欧精品亚洲一区| 亚洲av日韩av无码| 91天堂素人精品系列全集亚洲| 亚洲无人区视频大全| 亚洲中文字幕无码中文| 国产亚洲视频在线观看网址| 亚洲中文无韩国r级电影| 亚洲国产精品无码久久久秋霞2| 亚洲综合视频在线| 亚洲 欧洲 日韩 综合在线| 色偷偷尼玛图亚洲综合| 91麻豆精品国产自产在线观看亚洲 | 亚洲中文久久精品无码1|