主页 > 互联网  > 

【在英伟达nvidia的jetson-orin-nx和PC电脑ubuntu20.04上-装配ESP32开发调试环

【在英伟达nvidia的jetson-orin-nx和PC电脑ubuntu20.04上-装配ESP32开发调试环

【在英伟达nvidia的jetson-orin-nx和PC电脑ubuntu20.04上-装配ESP32开发调试环境-基础测试】 1、概述2、实验环境3、 物品说明4、参考资料与自我总结5、实验过程1、创建目录2、克隆下载文件3、 拉取子目录安装和交叉编译工具链等其他工具4、添加环境变量6、将样例文件拷贝到桌面目录 7、使用get_idf环境变量8、==根据自己实际模块型号==设置芯片9、编译过程10、下载过程11、结果验证 6 细节部分(1)变通,更改操作顺序(2)报错:输入gitee账号和密码(3)变通:使用串口工具(4)尝试跟驱动端口权限5、错误:无法下载或不到端口6、在Linux 下或者 jetson 下,一般端口为/dev/ttyACM0或者/dev/USB**啥的7、在PC的ubuntu20.04上测试8、一些错误记录 7、总结

1、概述

最近在使用一直在调试ESP32,作为新手,也有很多不懂的地方,一点点慢慢学,开始是装的win环境,后来又尝试了jetson-orin-nx和ubuntu上,在Linux 下开发都习惯使用命令行,但是在Windows下习惯使用软件点,而调试esp32的话,还是建议使用命令行形式。 当然说得有点远了,本次主要是说明ESP32在Linux下搭建环境部分。

2、实验环境

硬件信息:Jetson Orin nx 软件版本:Linux ubuntu 5.10.120-tegra #1 SMP PREEMPT Tue Aug 1 12:32:50 PDT 2023 aarch64 aarch64 aarch64 GNU/Linux (注意因为重新刷机,版本有点改变) 另一台PC电脑:ubuntu20.04 其它硬件:ESP32-。

3、 物品说明

ESP32-S3 是一款集成 2.4 GHz Wi-Fi 和 Bluetooth 5 (LE) 的 MCU 芯片,支持远距离模式 (Long Range)。ESP32-S3 搭载 Xtensa® 32 位 LX7 双核处理器,主频高达 240 MHz,内置 512 KB SRAM (TCM),具有 45 个可编程 GPIO 管脚和丰富的通信接口。ESP32-S3 支持更大容量的高速 Octal SPI flash 和片外 RAM,支持用户配置数据缓存与指令缓存。

(1)模块资料 资料连接: .espressif /sites/default/files/documentation/esp32-s3-wroom-1_wroom-1u_datasheet_cn.pdf (2)开发板模块 链接文档: docs.espressif /projects/esp-idf/zh_CN/latest/esp32s3/hw-reference/esp32s3/user-guide-devkitm-1.html

外设资源:

(3)实际购买

一边来说,网页有相对比较便宜的设备也是一样的,不一定非要官方的。

物品链接: item.taobao /item.htm?spm=a1z10.5-c.w4002-6273769129.12.1dd077717uSpIM&id=669443108979

4、参考资料与自我总结

(1)大致了解了一段时间ESP32后,也就基本熟悉了,可以当作一个单片机来调试,可以认为是整合了wifi和蓝牙的一个IOT的单片机。

(2)相关资料有个官网地方,相关资料也比较齐全。不过有些时候,可能太多了,需要仔细看,一般都是参照官网的。 官网链接: docs.espressif /projects/esp-idf/zh_CN/latest/esp32s3/get-started/linux-macos-setup.html

(3)对于安装环境部分,关网可能写的太多了,要兼顾不同系统,反而不如网上一些总结文章来的快,我自己也是按照网上来进行操作的,针对自己实际情况。 博文链接: blog.csdn.net/m0_61411989/article/details/125363829

5、实验过程

自己虽然参照他人博文,但是觉得有一些值得改进的地方,和更多细节部分。

1、创建目录

打开终端,输入如下命令,创建目录和进入目录

mkdir ~/esp cd esp/

如下是我自己的操作,最好先建立目录

2、克隆下载文件

进入目录后,进行clone: (1)拉去esp-idf官方源码 (2)拉取esp-gitee-tools工具 一步步操作

git clone gitee /EspressifSystems/esp-idf.git git clone gitee /EspressifSystems/esp-gitee-tools.git//拉取esp-gitee-tools工具

如下,有时候还有可能回失败,多尝试下。

3、 拉取子目录安装和交叉编译工具链等其他工具

继续按照博文说操作,先进入这个目录下“~/esp/esp-gitee-tools”,然后操作。 (1)拉取子目录 (2)安装交叉编译工具链和其他工具

cd ~/esp/esp-gitee-tools ./submodule-update.sh ../esp-idf ./install.sh ../esp-idf 4、添加环境变量 设置环境变量添加最后一行 ==home/xxx/esp/esp-idf/export.sh,其中xxx可以在终端中查看,你自己用户名,请坐对应更改。你的esp-idf路径立即生效。安装所有芯片这块根据需要,可以安装部分或者遇到问题可以单独操作这步设置用户 完成后要重启下。 sudo vim ~/.bashrc alias get_idf=". /home/xxx/esp/esp-idf/export.sh" export IDF_PATH=/home/xxx/esp/esp-idf source ~/.bashrc ./install.sh all sudo usermod -a -G dialout $USER

如下图,是添加环境变量。 这里有个问题就是,如果知道自己的home下的名字是啥呢,就是/home/xxx/esp/…中xxx的内容,当时自己不是很确定,其实一般来说,可以在终端中直接看到。如下图,就是@符前面那一段。 也可以通过文件系统看到。

6、将样例文件拷贝到桌面目录

这块涉及Linux 复制命令,我是根据自己情况,请大家根据自己情况改变

265 cp /home/wjl-linux/esp/esp-idf/examples/get-started/hello_world/ /home/wjl-linux/Desktop/esp32_work/ 266 cp /home/wjl-linux/esp/esp-idf/examples/get-started/hello_world/ /home/wjl-linux/Desktop/esp32_work/ -rf 267 cd Desktop/esp32_work/hello_world/

这块就按照自己需要,将eps/esp-idf/examples/get-stated/hello_world的dome文件拷贝到桌面上自己定义文件夹里。

7、使用get_idf环境变量

一个命令直接输入即可

get_idf

如下图,使用get_idf之后,出现 idf.py build那么就可以编译了。

8、根据自己实际模块型号设置芯片

另外从此步骤之后,就是用工具的过程了,安装已经完成了。

我虽然使用小开发板,但是实际上使用模块是esp32s3 所以指令如下,如果你使用型号不一样,要改的

idf.py set-target esp32s3

如下图是根据自己实际模型,设置指令,自己实际根据自己情况更换后面部分。

9、编译过程 idf.py build

如果没有问题的话,就会出现.bin文件,等待烧写flash.

10、下载过程

自己也是尝试了很多指令,涉及硬件部分,还需要摁住boot按键,然后按一下rst按键,最后撒开boot按键。

idf.py flash -p /dev/ttyACM0

成功下载截图

11、结果验证

使用一个串口工具,按下rst复位键后,会出对应消息。

6 细节部分 (1)变通,更改操作顺序

自己实际操作时,发现如果完全按照参考博文中那样,会有问题,只有简单对调步骤就可以了。 自己实际操作时,发现,其实博主是在已有目录esp下,进行克隆的,如仿照上述一样操作,就回发现克隆的文件在外面,还需要复制到文件夹内,如下图。

如下实际操作时,我发现提示我没有这个文件,才意识到这个问题

(2)报错:输入gitee账号和密码

当时不知道哪里操作问题,一使用相关 idf.py,就会让输入gitee用户和密码,自己都克隆了,编译啥的扯不到那去啊,有点想不通,如下图。 使用指令idf.py build后,如下。

(3)变通:使用串口工具

我并没按照步骤,使用命令行监控,其实也可以使用一些工具看自己选择了,如果使用工具,可以了解下cutecom。 链接: blog.csdn.net/JAZZSOLDIER/article/details/70183995 当然如果你依然可以按照博文所说的使用命令行监视。

(4)尝试跟驱动端口权限

如下图,如果无法打开端口,那么可以给其权限尝试下

5、错误:无法下载或不到端口

碰到类似问题,只能多尝试,自己作为初学者,暂时还没有找到规律,另外就是报错都是命令行,一堆,都不太好搜索。但基本情况类似,要不就打不开端口啥的,一般只能反复尝试命令,和手先摁住boot键,再摁一下res键,最后撒开boot键,进行尝试。即 全程按住boot键,在按住boot键时,按一下res键,随后撒开boot键。

6、在Linux 下或者 jetson 下,一般端口为/dev/ttyACM0或者/dev/USB**啥的

也可以通过相关命令查看设备

ls /dev/tty*

7、在PC的ubuntu20.04上测试

因为相关指令都依然知晓,重复操作后,基本也是可以的,如下,是在pc上的命令行整个过程,用于记录吧。

8、一些错误记录

(1)无法打开设备,可能需要权限 chmod

--port /dev/ttyACM0 erase_flash esptool.py v4.6.2 Serial port /dev/ttyACM0 A fatal error occurred: Could not open /dev/ttyACM0, the port doesn't exist

(2)要重启 然后注销并重新登录用户以使更改生效。

sudo usermod -a -G dialout $USER

(3)重装,不知道为啥要用户密码

Username for 'Gitee - 基于 Git 的代码托管和研发协作平台': 45 Password for 'Gitee - 基于 Git 的代码托管和研发协作平台': remote: [session-eb49ef84] 45: Incorrect username or password (access token) fatal: Authentication failed for ' gitee /espressif/esp32c3-bt-lib.git/' fatal: clone of ' gitee /espressif/esp32c3-bt-lib.git' into submodule path '/home/wjl-linux/esp/esp-idf/components/bt/controller/lib_esp32c3_family' failed Failed to clone 'components/bt/controller/lib_esp32c3_family'. Retry scheduled Cloning into '/home/wjl-linux/esp/esp-idf/components/bt/controller/lib_esp32c3_family'... Username for 'Gitee - 基于 Git 的代码托管和研发协作平台': Password for 'Gitee - 基于 Git 的代码托管和研发协作平台': remote: [session-4641aa9a] Unauthorized fatal: Authentication failed for ' gitee /espressif/esp32c3-bt-lib.git/' fatal: clone of ' gitee /espressif/esp32c3-bt-lib.git' into submodule path '/home/wjl-linux/esp/esp-idf/components/bt/controller/lib_esp32c3_family' failed Failed to clone 'components/bt/controller/lib_esp32c3_family' a second time, aborting CMake Error at /home/wjl-linux/esp/esp-idf/tools/cmake/git_submodules.cmake:48 (message): Git submodule init failed for components/bt/controller/lib_esp32c3_family Call Stack (most recent call first): /home/wjl-linux/esp/esp-idf/tools/cmake/build.cmake:80 (git_submodule_check) /home/wjl-linux/esp/esp-idf/tools/cmake/build.cmake:242 (__build_get_idf_git_revision) /home/wjl-linux/esp/esp-idf/tools/cmake/idf.cmake:53 (__build_init) /home/wjl-linux/esp/esp-idf/tools/cmake/project.cmake:29 (include) CMakeLists.txt:5 (include)

(4)未知

t /dev/ttyACM0 write_flash -z 0x1000 /home/wjl-linux/Desktop/esp32_work/esptool/app-template1.bin ./esptool.py: line 7: import: command not found ./esptool.py: line 8: import: command not found ./esptool.py: line 11: syntax error near unexpected token `subprocess.run' ./esptool.py: line 11: ` sys.exit(subprocess.run([sys.executable, '-m', 'esptool'] + sys.argv[1:]).returncode)' 7、总结

那就1024程序员节快乐吧~~!

标签:

【在英伟达nvidia的jetson-orin-nx和PC电脑ubuntu20.04上-装配ESP32开发调试环由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【在英伟达nvidia的jetson-orin-nx和PC电脑ubuntu20.04上-装配ESP32开发调试环