RT-Thread BSP qemu-virt64-aarch64文件系统

电子说

1.3w人已加入

描述

前言

前面大体上搭建了 RT-Thread BSP qemu-virt64-aarch64 的交叉编译环境,运行后发现,文件系统没有挂载上,感觉是没有 mkfs。

通过RT-Thread 官方的文档,找到了解决方法

创建独立的 qemu-virt64-aarch64 工程

不是特别喜欢直接使用 git clone 下来的 RT-Thread 源码工程作为开发验证工程,主要是包含了太多不使用的BSP,代码过多,体积过大。

于是重新整理一个精简的 qemu-virt64-aarch64 工程

(1) rt-threadbspqemu-virt64-aarch64 -> 复制 qemu-virt64-aarch64

RT-Thread

(2)rt-thread 把 .git 目录 bsp 等项目无关的目录去除,复制到 rt-thread目录

RT-Thread

由于路径更改了,所以 进入 qemu-virt64-aarch64 scons 编译或报错,简单修复一下 构建路径即可

RT-Thread

交叉编译环境

运行

shell 执行 ./qemu.sh 后,发现 ls 提示
msh />ls
No such directory

初步判断是没有开启 文件系统,不过通过 scons --menuconfig 查看,文件系统相关的组件已经开启了

RT-Thread

解决文件系统无法挂载问题

RT-Thread

通过查看 qemu.sh 脚本发现, sd.bin 应该没有任何的内容,所以需要格式化

通过 RT-Thread 官方的文档,发现确实需要这么做,并且 mkfs 后,还需要退出 qemu 再次进入就可以正常的识别文件系统了

操作方法:list device 找到 sd 卡相关的设备

msh />list device
device type ref count


vport0p1 Character Device 0
vport0p0 Character Device 0
virtio-console0 Character Device 0
virtio-blk0 Block Device 0
rtc RTC 0
gpio Pin Device 0
zero Miscellaneous Device 0
urandom Miscellaneous Device 0
random Miscellaneous Device 0
null Miscellaneous Device 0
uart0 Character Device 2

这里是 virtio-blk0 设备,执行 mkfs virtio-blk0

RT-Thread

退出 qemu,CTRL + a 组合键按下后,松开,再按一下 x 键

再次进入 qemu,发现正常识别文件系统了

小结

qemu 文件系统识别了,接下来继续研究一下其他的功能

可以使用 qemu 评估一些平台无关的软件组件,这样可以提高效率。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分