前言
前面大體上搭建了 RT-Thread BSP qemu-virt64-aarch64 的交叉編譯環(huán)境,運(yùn)行后發(fā)現(xiàn),文件系統(tǒng)沒(méi)有掛載上,感覺(jué)是沒(méi)有 mkfs。
通過(guò)RT-Thread 官方的文檔,找到了解決方法
創(chuàng)建獨(dú)立的 qemu-virt64-aarch64 工程
不是特別喜歡直接使用 git clone 下來(lái)的 RT-Thread 源碼工程作為開發(fā)驗(yàn)證工程,主要是包含了太多不使用的BSP,代碼過(guò)多,體積過(guò)大。
于是重新整理一個(gè)精簡(jiǎn)的 qemu-virt64-aarch64 工程
(1) rt-threadbspqemu-virt64-aarch64 -> 復(fù)制 qemu-virt64-aarch64
(2)rt-thread 把 .git 目錄 bsp 等項(xiàng)目無(wú)關(guān)的目錄去除,復(fù)制到 rt-thread目錄
由于路徑更改了,所以 進(jìn)入 qemu-virt64-aarch64 scons 編譯或報(bào)錯(cuò),簡(jiǎn)單修復(fù)一下 構(gòu)建路徑即可
交叉編譯環(huán)境
運(yùn)行
shell 執(zhí)行 ./qemu.sh 后,發(fā)現(xiàn) ls 提示
msh />ls
No such directory
初步判斷是沒(méi)有開啟 文件系統(tǒng),不過(guò)通過(guò) scons --menuconfig 查看,文件系統(tǒng)相關(guān)的組件已經(jīng)開啟了
解決文件系統(tǒng)無(wú)法掛載問(wèn)題
通過(guò)查看 qemu.sh 腳本發(fā)現(xiàn), sd.bin 應(yīng)該沒(méi)有任何的內(nèi)容,所以需要格式化
通過(guò) RT-Thread 官方的文檔,發(fā)現(xiàn)確實(shí)需要這么做,并且 mkfs 后,還需要退出 qemu 再次進(jìn)入就可以正常的識(shí)別文件系統(tǒng)了
操作方法:list device 找到 sd 卡相關(guān)的設(shè)備
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 設(shè)備,執(zhí)行 mkfs virtio-blk0
退出 qemu,CTRL + a 組合鍵按下后,松開,再按一下 x 鍵
再次進(jìn)入 qemu,發(fā)現(xiàn)正常識(shí)別文件系統(tǒng)了
小結(jié)
qemu 文件系統(tǒng)識(shí)別了,接下來(lái)繼續(xù)研究一下其他的功能
可以使用 qemu 評(píng)估一些平臺(tái)無(wú)關(guān)的軟件組件,這樣可以提高效率。
-
SD卡
+關(guān)注
關(guān)注
2文章
565瀏覽量
63908 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1290瀏覽量
40153 -
qemu
+關(guān)注
關(guān)注
0文章
57瀏覽量
5357
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論