Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
QEMU
RT-Thread RISCV64 qemu 极简上手(不用思考就能跑起来)
发布于 2024-06-26 11:23:48 浏览:648
订阅该版
[tocm] # RT-Thread qemu-virt64-riscv Bsp 使用(linux环境) ## 1. 准备: 1. 下载源码:https://github.com/RT-Thread/rt-thread 使用master分支 2. 下载env:https://github.com/RT-Thread/env readme 中有linux环境安装方法 3. 准备工具链:bsp下有说明,可以替换为其他tool 4. 准备qemu:bsp下有说明,可以替换为其他qemu ## 2. 编译: 1. 这里使用最简单的方法:直接修改 EXEC_PATH = '工具链路径',将工具链路径替换为自己工具链路径 示例: ```python if os.getenv('RTT_CC'): CROSS_TOOL = os.getenv('RTT_CC') if CROSS_TOOL == 'gcc': PLATFORM = 'gcc' EXEC_PATH = '/home/rv/riscv2/riscv/bin' ``` 2. 在相对路径:bsp/qemu-virt64-riscv下执行 `scons -j16`,编译: 示例: ```shell rv@RSH-PC0001:~/rt-thread/bsp/qemu-virt64-riscv$ scons -j16 scons: Reading SConscript files ... Newlib version: 4.3.0 scons: done reading SConscript files. scons: Building targets ... scons: building associated VariantDir targets: build CC build/applications/main.o ``` 结果: ```shell CC build/kernel/src/timer.o LINK rtthread.elf /home/rv/riscv2/riscv/bin/../lib/gcc/riscv64-unknown-elf/13.2.0/../../../../riscv64-unknown-elf/bin/ld: warning: rtthread.elf has a LOAD segment with RWX permissions Memory region Used Size Region Size %age Used SRAM: 181200 B 16 MB 1.08% riscv64-unknown-elf-objcopy -O binary rtthread.elf rtthread.bin riscv64-unknown-elf-size rtthread.elf text data bss dec hex filename 127507 1356 52332 181195 2c3cb rtthread.elf scons: done building targets. ``` 在当前路径下生成rtthread.elf可执行文件。 ## 3.运行: 在当前路径下执行 ./qemu-nographic.sh启动。 ## 4.调试 在vscode中点击调试选项,点击创建 launch.json文件 示例 ![screenshot_debug.png](https://oss-club.rt-thread.org/uploads/20240626/1d316705971413e5f87f8bbf9275c58e.png) 将文件内容替换为下文: ```json { "version": "0.2.0", "configurations": [ { "name": "Debug d1 @ Linux", "type": "cppdbg", "request": "launch", "args": [], "stopAtEntry": true, "externalConsole": true, "cwd": "${workspaceRoot}", "program": "${workspaceRoot}/bsp/qemu-virt64-riscv/rtthread.elf", "miDebuggerPath": "/home/rv/riscv/bin/riscv64-unknown-elf-gdb", "miDebuggerServerAddress": "localhost:1234", "setupCommands": [ { "text": "cd ${workspaceRoot}" }, { "description": "-enable-pretty-printing", "text": "-enable-pretty-printing", "ignoreFailures": true }, { "description": "Display all registers", "text": "info registers", "ignoreFailures": true } ], "logging": { "moduleLoad": false, "trace": true, "engineLogging": true, "programOutput": true, "exceptions": true }, } ] } ``` 在终端运行:qemu-dbg.sh 按F5启动调试 愉快的开始学习吧!!! 如果跑不起来,不要怀疑自己,那一定是我的问题,请在评论区@我 拜拜啦~
3
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
rv666
用GDB调试人生
文章
20
回答
62
被采纳
9
关注TA
发私信
相关文章
1
Linux下的Qemu mini2440虚拟机(32位和64位)
2
有qemu Linux的rt-thread开发环境建立吗?
3
qemu+mini2440+bootloader问题
4
QEMU gdbstub 在Win7下的bug
5
请教如何在windows下使用qemu测试rrt0.31中的例子
6
QEMU运行os问题
7
QEMU-mini2440 模拟环境上运行RT-thread这篇
8
在Ubuntu上执行qemu的configure命令checkzlib失败
9
求大舅:telnet-连接QEMU时,QEMU segmentation fault 结束
10
RealTouch打算出QEMU模拟器吗
推荐文章
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总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
cubemx
PWM
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
xusiwei1236
8
个答案
2
次被采纳
踩姑娘的小蘑菇
1
个答案
2
次被采纳
用户名由3_15位
9
个答案
1
次被采纳
bernard
4
个答案
1
次被采纳
RTT_逍遥
3
个答案
1
次被采纳
本月文章贡献
聚散无由
2
篇文章
15
次点赞
catcatbing
2
篇文章
5
次点赞
Wade
2
篇文章
4
次点赞
Ghost_Girls
1
篇文章
7
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部