如何在Qemu上跑Milk-duo开发板

前言

(1)PLCT实验室实习生长期招聘:招聘信息链接

(2)学习本文之前,要求先看一下Milk-V Duo快速上手环境搭建部分,创建好镜像文件。

正文

编译milk-duo qemu

(1)下面步骤基本上没有问题,我测试过了。在make过程中,可能会出现一些错误,大概率是一些环境没有安装,根据提示进行安装即可。一般不会有问题。编译过程时间很长,可能需要一个小时,等他进度条跑完之后即可(如下图)。

shell 复制代码
git clone -b duo-qemu https://github.com/plctlab/plct-qemu.git
cd plct-qemu/
mkdir build
cd build/
../configure --disable-werror
make -j10

(2)如下是我测试过程中,没有安装需要的环境导致的报错。如果上面能够make成功,就无需执行下面三个指令。
注意,也许还有一些环境需要安装,但是我之前已经安装好了。导致你这边报错而我这边没有,所以说,如果有这种情况需要你自己排查一下。

shell 复制代码
sudo apt-get install libpixman-1-dev
pip install sphinx>=1.4.0
pip install sphinx-rtd-theme>=0.4.0

测试

(1)执行如下指令,测试一下。发现机器里面有Milk-duo开发板了。

shell 复制代码
./qemu-system-riscv64 -M help

(2)如果你执行如下指令,可能会发现找不到Milk-duo开发板。这是为什么呢?原因很简单,可能是你的环境中之前安装过qemu,当是执行qemu-system-riscv64 -M help的时候,系统是优先去环境变量中寻找qemu,找到之后,调用的是你原来的qemu,而不是最新编译出来的qemu。所以说一定要记得加上"./"。

shell 复制代码
qemu-system-riscv64 -M help

执行qemu

(1)首先,我们需要找到duo-buildroot-sdk的路径,然后在duo-buildroot-sdk/freertos/cvitek/install/bin/cvirtos.elf找到这个elf文件。

(2)找到我们编译的镜像文件路径,然后讲你的镜像文件加在drive file=后面。
注意:镜像文件如果不会怎么获取,请看:Milk-V Duo快速上手环境搭建部分。

shell 复制代码
# 示例
./qemu-system-riscv64 -M milkv_duo -kernel %duo-buildroot-sdk_PATH%/duo-buildroot-sdk/freertos/cvitek/install/bin/cvirtos.elf -bios none  -drive file=%img_PATH%/%img_name%.img,format=raw  -monitor none -nographic
# 本人执行的操作
./qemu-system-riscv64 -M milkv_duo -kernel /home/zyx/Desktop/duo/duo-buildroot-sdk/freertos/cvitek/install/bin/cvirtos.elf -bios none  -drive file=/home/zyx/Desktop/samba/linux_sdk/milkv-duo-20231105-2335.img,format=raw  -monitor none -nographic

(3)最终就可以看到qemu在跑了。注意,你的现象可能和我的不一样,因为镜像文件我做了简单的修改!

参考文章

(1)Milk-V Duo快速上手

(2)GitHub仓库:plct-qemu的readme

感谢人员

(1)感谢PLCT的王俊强 老师和李威威 老师的帮助。

(2)感谢PLCT的实习生许东代韵涛两位大佬的帮助。

相关推荐
szxinmai主板定制专家1 小时前
基于 ZYNQ ARM+FPGA+AI YOLOV4 的电网悬垂绝缘子缺陷检测系统的研究
arm开发·人工智能·嵌入式硬件·yolo·fpga开发
光子物联单片机1 小时前
STM32G474单片机开发入门(八)内部FLASH详解及读写实战
stm32·单片机·嵌入式硬件·mcu
BreezeJuvenile1 小时前
通用定时器_输入捕获介绍及案例实操
stm32·单片机·嵌入式硬件·输入捕获·通用定时器
时空自由民.2 小时前
无人机系统耗电,低功耗管理问题解决方法(chatgpt)
单片机·嵌入式硬件·无人机
时空自由民.2 小时前
无人机系统耗电,低功耗管理问题解决方法(腾讯元宝)
单片机·嵌入式硬件·无人机
牛马大师兄4 小时前
STM32独立看门狗IWDG与窗口看门狗WWDG知识梳理笔记
笔记·stm32·单片机·嵌入式硬件·嵌入式·看门狗
夜月yeyue4 小时前
STM32 Flash 访问加速器详解(ART Accelerator)
linux·单片机·嵌入式硬件·uboot·bootloard
A9better4 小时前
嵌入式开发学习日志37——stm32之USART
stm32·嵌入式硬件·学习
国科安芯8 小时前
ASP4644芯片低功耗设计思路解析
网络·单片机·嵌入式硬件·安全
充哥单片机设计8 小时前
【STM32项目开源】基于STM32的智能厨房火灾燃气监控
stm32·单片机·嵌入式硬件