Ubuntu 16.0.4下搭建ESP开发环境并实现Hello World

始言:到了年尾的12月想做点什么.于是这个计划就出来了——wifi/蓝牙的等离子音箱.接着选中了这个模块.原因很简单,便宜.顺带接触一下Ubuntu系统入门.

概述:

1. 安装交叉编译工具链

控制台下安装交叉编译工具链依赖的环境:sudo apt-get install git make gcc libncurses5-dev flex bison gperf python-serial

(控制台打开方法:Ctrl+Alt+T;后面不再供述)

2. 创建目录

  ① 创建ESP32专用的工作目录:

  sudo mkdir /esp32

  ②设置文件夹的归属为当前用户:

  sudo chown user:user /esp32  

  (注意这里的user是你的机器用户名 我这里是laixiaojie:laixiaojie 创建完后你可以在 ”我的电脑” 里找到这个文件夹.控制台进入命令为:cd  /esp32 ) 

  ③esp32文件夹里创建三个文件夹:crossTools、demos、sources分别保存交叉编译工具链、样例和SDK源码 命令:

  mkdir crossTools demos sources

  ④使用ls命令查看一下/esp32目录下的文件

3. 下载交叉编译工具

  ① 进入crossTools文件夹,下载官方的交叉编译工具:(这里是2017.12 下载的最新版本,请各位根据自己当前的时段下载对应版本的交叉编译器以免编译时候提示失败.)

  https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-75-gbaf03c2-5.2.0.tar.gz(这个不是命令 请打开你的搜狐浏览器输入这个,就能下载了,下载完后剪切到/esp32/crossTools里面)

  ②解压文件到当前目录下:

  tar -xzvf xtensa-esp32-elf-linux64-1.22.0-75-gbaf03c2-5.2.0.tar.gz

   ③使用ls命令查看一下/esp32/crossTools目录下的文件

3. 添加环境变量

  Tip:没有vim 请输入以下命令安装 sudo apt-get install vim

  ①sudo vim /etc/profile

   在最后面添加交叉编译工具链bin文件夹的目录

  (鼠标滚到最下 1、按 i 键进行编辑输入下面的语句后          2、按ESC退出编辑               3、输入 :wq 保存退出)

  export PATH=$PATH:/esp32/crossTools/xtensa-esp32-elf/bin

  ③ 然后更新一下profile文件,使之生效

  source /etc/profile

  ④ 检查是否安装成功

  xtensa-esp32-elf-gcc -v

4. 下载官方SDK : Espress-idf 到source文件夹

   ①官方已经开源托管在了github上,我们可以使用git clone命令进行下载

  git clone –recursive https://github.com/espressif/esp-idf.git

  ………….等待下载结束

  下载完成后,剪切文件到source文件夹打开ESP-IDF的目录结构如下:

  components:ESP-IDF的核心组件

  examples:ESP-IDF提供的实例程序

  make:ESP-IDF工程管理目录

  tools:ESP-IDF提供的工具集

  docs:ESP-IDF相关文档

5.添加Esp-idf环境变量

  ① 将ESP-IDF目录下examples中的hello_world样例拷贝到我们之前新建的demo文件夹中

  ② 进入工程文件中,使用tree命令(没有这个命令的输入 sudo apt-get install tree下载)查看工程结构  

  ③可以看到整个工程主要有一个hello_world_main.c和一个Makefile,打开Makefile,发现里面需要一个IDF_PATH的变量,这个变量应当指向安装的ESP-IDF的实际位置,需要在编译的时候指明。

  ④最佳的方式是/etc/profile中添加下面这样一个环境变量(添加环境变量步骤具体方法请看步骤3)

  export IDF_PATH=/esp32/sources/esp-idf

6.配置项目工程

  ①在/esp32/demos/hello_world/目录下 输入命令进入菜单设置:

  make menuconfig(注意控制台的窗体大小放大一点否则会报错)

  进入后,命令台界面如下

  ② 进入SDK tool configuration查看交叉编译工具链是否指定正确,已经python命令是否正确安装,ESP-IDF需要你的python属于python2的版本,最好不要实用python3

  ③ 进入Bootloader config目录,配置bootloader的打印日志显示信息等级为warning

  ④进入Serial flasher config,指定用于烧写程序的串口设备,一般使用USB转串口的选择/dev/ttyUSB0即可,设置默认的波特率为115200,Flash的SPI模式为DIO,SPI速率为80MHz,Flash的大小为4MB(默认就好)

  ⑤进入Partition Table设置分区表,为了更好的管理SPI Flash,ESP-IDF引入了分区表的概念,默认使用Single factory app,no OTA制作分区BIN(略默认就好,各位看家可以自己点进去瞅瞅)

  ⑥ Component config是对ESP-IDF的内核进行的更加详细的配置(略 默认就好)

  ⑦最后选择 Exit 退出make menuconfig的配置界面,保存刚才的配置,将会在工程根目录下看到新生成的一个build文件夹和sdkconfig文件

 7.编译

  ① 在/esp32/demos/hello_world下输入编译命令生成bin文件,make all将会编译所有的BIN文件,默认会编译bootloader、partition_table、app文件,并且还会提示如何进行烧写。

  make all -j8  或者  make all -j

  (“-j [<jobsnum>]” “–jobs[=<jobsnum>]” 指同时运行命令的个数。如果没有这个参数,make运行命令时能运行多少就运行多少。如果有一个以上的“-j”参数,那么仅最后一个“-j”才是有效的。(注意这个参数在MS-DOS中是无用的))

   如果有报错 有可能是没有让环境变量运行起来 输入 source /etc/profile 再编译试试.

8.烧写

  ②输入命令打开minicom 查看: sudo minicom -D /dev/ttyUSB0 (这里指定打开USB0)

    ****没有minicom的童鞋 请输入 sudo apt-get install minicom 进行安装.*****

番外:

 1、USB读写权限(这个只需要配置一次

  在烧写程序之前,需要给USB设备增加读写权限

  sudo usermod  -a  -G  dialout  $USER

  然后需要重启系统以生效

  sudo reboot

2、mini

/————————————————————————————————————————完结撒花

总的来说Ubuntu系统还是蛮有意思的.刚刚接触 也熟悉了不少命令. 接下来进入ESP32的开发篇一GPIO.(终于来点我认识的东西了………)

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/220082.html<

(0)
运维的头像运维
上一篇2025-04-14 10:00
下一篇 2025-04-14 10:02

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注