Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
esp32
ESP32-C3_RISC-V
环境搭建
ESP32C3环境搭建教程
发布于 2024-09-19 14:34:44 浏览:359
订阅该版
[tocm] # rtt技术分享 之前superthomas大佬曾移植rtt到esp32c3上[github issues](https://github.com/RT-Thread/rt-thread/issues/5941),并发布readme供参考。但是我在安装环境以及编译下载时还是出现了一些问题,因此我将这些问题汇总起来归纳为本篇博客 **最终成果**:完成rtt在esp32c3芯片上开发、调试工作所需要的环境搭建,使用wsl2(Ubuntu22.04)作为系统环境,在windows上使用mobaxterm作为调试监视器 所需软件:wsl2,mobaxterm,usbip # 搭建环境 ## 基本软件的获取 [wsl2](https://learn.microsoft.com/zh-cn/windows/wsl/install),ubuntu22.04可以在微软商店中找到,也可使用命令行下载。wsl2默认安装在c盘,对系统盘占用忧虑的可以参照[这篇博客](https://blog.csdn.net/m0_37605642/article/details/127812965) [mobaxterm](https://mobaxterm.mobatek.net/),我们使用mobaxterm作为串口监视器来调试程序 [usbipd-win](https://github.com/dorssel/usbipd-win),wsl2默认不能访问usb设备,需要这个软件做转发,这样就可以使用串口下载、调试芯片 **本教程需要一定的网络环境来从wsl2访问github,请自行配置** ## 环境的搭建 参考git action的指示搭建环境[action](https://github.com/RT-Thread/rt-thread/actions/runs/10645398186/job/29511156571) 下面是我的环境搭建过程: ### 配置git ```shell git config --global user.name "用户名" git config --global user.email "邮箱" ``` ### 初始化仓库 ```shell /usr/bin/git init /home/YOURPATH/rt-thread/rt-thread /usr/bin/git remote add origin https://github.com/RT-Thread/rt-thread cd /home/YOURPATH/rt-thread/rt-thread git fetch ``` 仓库获取完毕后可以更改开发分支,我选在默认的master分支上进行开发 ```shell //看一下远程分支 git branch -r //选择分支 git switch origin/master ``` ### 安装工具链 我的工具链安装脚本放在`/home/MYPATH/rt-thread/rt-thread`下面了,各位可以更改路径,脚本在环境配置完成后就可以删除 ```shell //获取脚本 wget https://raw.githubusercontent.com/RT-Thread/env/master/install_ubuntu.sh //执行脚本 chmod 777 install_ubuntu.sh ./install_ubuntu.sh echo "export PATH=~/.env/tools/scripts:$PATH" > ~/.env/env.sh ``` ```shell //安装RISCV工具链 wget -q https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-linux-amd64.tar.xz sudo tar xf riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-linux-amd64.tar.xz -C /opt //看一下是否安装成功,安装成功后需要记一下解压位置 /opt/riscv32-esp-elf/bin/riscv32-esp-elf-gcc --version //安装乐鑫的工具链 pip3 install esptool source ~/.env/env.sh ``` 到这里工具链和环境就安装完成了,可以执行`ipf.py`以及`esptool.py`来查看是否安装成功。若没有安装成功可以参考我的环境配置修改 ```shell vim ~/.bashrc //着重看前三个路径 export PATH="~/.espressif/python_env/idf5.3_py3.10_env/bin/:~/esp/esp-idf/tools:~/.local/bin:/home/lzx/.env/tools/scripts:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$PATH" //wsl2的环境会把windows的环境给加上,所以会比较长 vim ~/.env/env.sh export PATH=~/.env/tools/scripts:~/esp/esp-idf/tools:~/.local/bin:/home/lzx/.env/tools/scripts:/usr/local/sb in:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/sbin:/usr/l ocal/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/e/VMware/VMware Wor kstation/bin/:/mnt/c/Program Files/Basler/pylon 5/Runtime/Win32/:/mnt/c/Program Files/Basler/pylon 5/Runtime /x64/:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPow erShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/m nt/c/Program Files/dotnet/:/mnt/c/mingw64/bin:/mnt/c/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn /:/mnt/c/Program Files/Microsoft SQL Server/100/Tools/Binn/:/mnt/c/Program Files/Microsoft SQL Server/100/DT S/Binn/:/mnt/c/Program Files/nodejs/:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files/Common Files/OMRON_SE NTECH/GenICam/v3_2/bin/:/mnt/c/Program Files/Common Files/OMRON_SENTECH/StApi/v1_1/:/mnt/c/Program Files (x8 6)/Common Files/OMRON_SENTECH/GenICam/v3_2/bin/:/mnt/c/Program Files (x86)/Common Files/OMRON_SENTECH/StApi/ v1_1/:/mnt/c/DeltaTau/PowerPMACSim/opt/ppmac/MinGW/bin:/mnt/c/Program Files/Microsoft SQL Server/Client SDK/ ODBC/170/Tools/Binn/:/mnt/c/Program Files (x86)/Microsoft SQL Server/150/Tools/Binn/:/mnt/c/Program Files/Mi crosoft SQL Server/150/Tools/Binn/:/mnt/c/Program Files/Microsoft SQL Server/150/DTS/Binn/:/mnt/c/Program Fi les (x86)/Windows Kits/8.1/Windows Performance Toolkit/:/mnt/d/Windows Kits/10/Windows Performance Toolkit/: /mnt/c/Program Files/NVIDIA Corporation/NVIDIA NvDLISR:/mnt/c/Program Files/usbipd-win/:/mnt/e/Calibre2/:/mn t/d/texlive/2024/bin/windows:/mnt/c/Python3.10.4/Scripts/:/mnt/c/Python3.10.4 ``` 配置完成后别忘了`source`一下 刷新环境完成后我们切换到ESP32C3的目录来更新idf工具 ```shell cd bsp/ESP32_C3 scons --menuconfig //不需要配置任何选项 pkgs --update ``` ### 编译测试 编译之前需要指定RISCV工具链的位置 ```shell cd ~/YOURPATH/rt-thread/rt-thread/bsp/ESP32 vim rtconfig.py 11 if CROSS_TOOL == 'gcc': 12 PLATFORM = 'gcc' 13 EXEC_PATH = r'/opt/riscv32-esp-elf/bin' //在这里指定 ``` 编译测试 ```shell scons ``` 此时可以正常编译 ### 配置串口 详细操作可参考[CSDN](https://blog.csdn.net/Blazar2020/article/details/140979663?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-140979663-blog-125202748.235%5Ev43%5Epc_blog_bottom_relevance_base5&spm=1001.2101.3001.4242.2&utm_relevant_index=4) 在windows cmd执行`usbipd list`查看串口,若不能分辨就将串口拔出再执行一次。之后执行`usbipd bind --busid
`来绑定设备。最后执行`usbipd attach --wsl --busid
`来将串口转发至Ubuntu。此时在wsl2中执行`lsusb`就可以查看串口设备了(如果没有lsusb命令可以自行下载)。 **由于使用usbipd只能将串口从win转发至wsl,因此在程序烧录和监视功能中只能选一个。除非使用linux的串口监视设备** 因此当需要切换功能时需要在windows cmd中执行`usbipd detach --busid
`来解除设备占用,此时就可以通过mobaxterm访问串口了 mobaxterm访问串口教程网上很多,此处不赘述,但需要注意的是,串口通信序速率为rtt官方指定的115200 ### 烧录程序 根据[readme](https://github.com/RT-Thread/rt-thread/blob/master/bsp/ESP32_C3/README_ZH.md#linux),我们的烧录命令如下 ```shell esptool.py -b 115200 --before default_reset --after hard_reset write_flash --flash_mode dio --flash_size detect --flash_freq 80m 0x0 path/to/your/bootloader.bin 0x08000 path/to/your/partition-table.bin 0x010000 path/to/your/rtthread.bin ``` 这里按照你的设置修改相应路径即可,默认情况下,`bootloader.bin`以及`partition-table.bin`放在bsp/ESP32_C3/builtin_imgs/下,`rtthread.bin`位于bsp/ESP32_C3下 ### 监视程序 监视程序可以通过mobaxterm查看,也可以通过wsl2下其他的串口监视程序查看,具体操作放在配置串口一章了,各位有问题可以放在评论区 ![mobaxterm](https://oss-club.rt-thread.org/uploads/20240919/88968bd777701de238bc5be28e6c7c4e.png.webp) 最后,各位参考[这篇文章](https://blog.csdn.net/Mculover666/article/details/87647810 "这篇文章")搭建linux串口服务,我使用的是minicom
2
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
qq1078249029
这家伙很懒,什么也没写!
文章
2
回答
7
被采纳
0
关注TA
发私信
相关文章
1
K210 esp32 初始化完成后程序崩溃
2
关于esp32的rt-thread nano移植
3
基于PlatformIO创建ESP32工程失败
4
用rt-thread创建ESP32 ESPIDF工程问题
5
RTthreadStudio创建基于PlatformIO工程失败
6
AT ESP32出现IP解析错误
7
RT-THREAD的配网小助手小程序是否适合esp32?
8
esp32导入IDF工程失败
9
这个RT_Thread可以移植到esp32里面去吗
10
rtthread+esp32+http OTA有成功的例子参考吗
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
ART-Pi
FinSH
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
cubemx
PWM
flash
packages_软件包
freemodbus
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
用户名由3_15位
10
个答案
1
次被采纳
KunYi
4
个答案
1
次被采纳
踩姑娘的小蘑菇
2
个答案
1
次被采纳
bernard
1
个答案
1
次被采纳
rv666
1
个答案
1
次被采纳
本月文章贡献
出出啊
1
篇文章
1
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
4
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部