原创 【原创奖励】ESP开发之ubuntu环境搭建

2025-4-17 16:27 327 0 2 分类: MCU/ 嵌入式 文集: ESP32
1. 在Ubuntu官网下载Ubuntu server  20.04版本https://releases.ubuntu.com/20.04.6/
  1. 2. 在vmware下安装Ubuntu
  2. 3. 改Ubuntu静态IP
$ sudo vi /etc/netplan/00-installer-config.yaml

# This is the network config written by 'subiquity'
network:
  renderer: networkd
  ethernets:
    ens33:
#      dhcp4: true
      addresses:
         - 192.168.4.251/24
      nameservers:
         addresses: [4.2.2.2,8.8.8.8]
      routes:
         - to: default
           via: 192.168.4.1
  version: 2

$ sudo netplan apply
$ ip addr show ens33
$ ip route show
$ reboot
  1. 4. 使用SecureCRT使用SSH远程连接虚拟机的ubuntu
  2. 5. 安装各种必要的工具
sudo apt-get install git wget flex bison gperf python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 net-tools
  1. 6. 新建esp32目录并进入
$ mkdir esp32
$ cd esp32
  1. 7. 拉取gitee工具(原因是从官方下载大概率会失败)
$ git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
  1. 8. 执行gitee工具切换镜像脚本
$ cd esp-gitee-tools
$ ./jihu-mirror.sh set
  1. 9. 拉取esp-idf源码
$ cd ..
$ git clone --recursive https://github.com/espressif/esp-idf.git
  1. 10. 切换esp-idf版本分支到v5.3
$ cd esp-idf
$ git checkout v5.3
$ git submodule update --init --recursive
如果提示失败或有错误试下这句:../esp-gitee-tools/submodule-update.sh
  1. 11. 更换pip源
$ pip config set global.index-url http://mirrors.aliyun.com/pypi/simple
$ pip config set global.trusted-host mirrors.aliyun.com
  1. 12. 安装编译工具
$ ../esp-gitee-tools/install.sh
  1. 13. 设置环境变量并将环境变量放到.bashrc中(这样下次启动后上一步设置的环境变量会重新加载)
$ source export.sh
$ echo "source ~/esp32/esp-idf/export.sh" >> ~/.bashrc
  1. 14. 设置USB串口权限(解决下载代码时报USB串口权限问题)
$ sudo usermod -aG dialout usrname  usrname需要换成你的用户名
  1. 15. 重启
  2. 16. windows安装VSCODE,并安装如下插件

  1. 17. 通过以上插件远程连接ubuntu

这样就可以建立远程连接了,代码就可以在vscode进行查看和更改,但是我们会发现每次都需要输入密码,我们通过如下方式解决

解决使用VsCode远程ssh连接虚拟机ubuntu需要重复输入密码

  1. 18. VSCode中为远程主机安装插件

19. 按照上图依次安装如下插件

  1. 20. 进行插件配置
  • c/c++插件

  • 改ESP-IDF配置

键盘同时按下ctl+shift+p,在弹出的对话框输入如下,这样我们就可以任意查看和跳转代码位置了。

  1. 21. 建立第一个工程
  • 使用vscode远程连接虚拟机,在终端窗口进行操作

  • 创建存放工程的目录并进入目录
mkdir esp32-prj
cd esp32-prj

  • 使用命令创建工程
idf.py create-project helloworld

  • 进入目录更改目标芯片,一般默认为esp32
idf.py set-target esp32-s3

  • 进行第一次编译
idf.py build

  • 打开工程

  • 如图操作,这样才可以方便的跳转和查看代码,每个新的工程都需要执行一次

  • 编译代码

  • 烧录,先连接开发板,并保证开发板是连接到了虚拟机
idf.py flash

  • 监视开发板执行情况
idf.py monitor

退出监控使用CTL+]组合键

  • 烧录指令可以和监控指令可以放在一起执行
idf.py flash monitor


作者: 二月半, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-1862109.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

小手凉凉 2025-4-21 10:23

非常详细,先收藏了,目前使用的idf开发环境,暂时项目不多,后面如需要可以采用到,谢谢分享

zhusx123 2025-4-20 17:00

厉害,把ESP玩的飞起,加入系统软件设计。
相关推荐阅读
二月半 2024-05-09 11:10
ADS软件分享与安装
ADS软件的简介ADS软件(Advanced Design System)主要用于射频(RF)、微波(Microwave)和毫米波(Millimeter-wave)电路的设计、仿真和分析。它提供了一套...
二月半 2024-03-31 09:22
从零开始摄像头驱动设计(一)_I2C框架及设备树插件应用
前言像我这样很多学习驱动的同学都会想一个问题:学了这个能干嘛?学了那个能干嘛?姑且找找网络上开源的项目,找找,看看,还是一脸懵。因为开源只提供源码和大致介绍下做什么和有什么。而面对于基础开发者的博客还...
二月半 2024-03-28 09:10
高速电路设计、完整性设计推荐书籍
信号传输如今是越来越高速,伴随着的将是更多的信号完整性的问题。然而电源的完整性也影响着信号的完整性。这样的高速传输,以前不用太多考虑的EMI问题,也越来越被关注。 针对于这些问题,对于layout工...
二月半 2024-03-15 07:01
Cadence之创建自己的titleblock
在刚接触PCB原理图设计的时候,很多人是不会关注图纸Tile Block的。原因是觉得用不上。然而工作的时候这个反而很重要。原因呢,一是形成一个统一标准,便于归档,整洁清楚,二是其中包含重要信息,比如...
二月半 2024-03-12 09:38
allegro之坚固的半孔制作
随着芯片不断的更新迭代,一浪拍死一浪。做硬件的特别头疼,核心电路或者可复用电路因为某一个板卡需要重新设计整板。很多都是做的无用功,为了更加高效的完成工作,然后摸鱼。硬件界的人才们,找到了很多方法。最多...
我要评论
2
0
关闭 站长推荐上一条 /3 下一条