五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

linux下搭建rtthread qemu環(huán)境

2023-06-15 13:12 作者:自信昵稱  | 我要投稿

1.獲取RT-Thread以及env工具

1.1 源碼包獲取

RT-Thread源碼的獲取方式有多種,可以是官網瀏覽器下載、云盤下載、git獲取,強烈推薦git,因為使用git可以很方便的切換各種版本的rtthread,但是前提是要先安裝git,linux下的安裝方法不多敘述。這里不推薦拷貝windows系統(tǒng)里面的源碼包,因為windows與linux的文件換行符等差異,會導致各種坑,所以還是老老實實的重新下載源碼包吧。

git方式國內建議使用gitee。

在終端輸入

即可獲取rtthread最新版的源碼包,但是由于兼容問題不太推薦最新的包,終端輸入cd rt-thread 進入源碼包后,使用git reset --hard + 某舊版本id可以快速切換到改舊版本的源碼包,以4.1.1為例,在終端輸入

版本的id號可以通過 git log查看,commit后面的就是該版本id

git log


1.2 ?env工具

https://github.com/RT-Thread/env 可查看env工具相關信息,里面有幾句信息:

對于中國大陸用戶,請使用以下三行命令進行下載,第一行是下載,第二行修改權限,第三行安裝

Prepare Env

PLAN A: Whenever start the ubuntu system, you need to type command source ~/.env/env.sh to activate the environment variables.

or PLAN B: open ~/.bashrc file, and attach the command source ~/.env/env.sh at the end of the file. It will be automatically executed when you log in the ubuntu, and you don't need to execute that command any more.

意思就是有兩種方法來配置env,推薦第二種,輸入

再在文件最后一行輸入source ~/.env/env.sh

1.3 編譯調試所需工具

除此之外,需安裝編譯工具gcc-arm-none-eabi、scons、gdb調試工具等,輸入以下指令下載安裝

通常編譯器都自動安裝到/usr/bin下了,安裝好之后需進入rt-thread/bsp/qemu-vexpress-a9,打開rtconfig.py文件,37行左右會指定編譯工具,設置為gcc,路徑為/usr/bin


2.運行QEMU看看效果

在windows下是運行qemu.bat,linux下則是qemu.sh。進入到rt-thread/bsp/qemu-vexpress-a9下,輸入

即可啟動虛擬的開發(fā)板。如果運行不了qemu.sh,則需要使用

為該文件增加“可執(zhí)行”的屬性。

如果還是運行不了,可能是沒有生成rtthread.elf的文件,qemu.sh腳本里面就一句話,作用是使用qemu創(chuàng)建機器,運行rtthread.elf。

輸入scons可編譯工程生成rtthread.elf

運行效果如下圖,已經進入了虛擬開發(fā)板的命令行界面。

運行qemu-vexpress-a9


3.修改main.c并編譯運行

打開rt-thread/bsp/qemu-vexpress-a9/application下的main.c,可以看到如下內容,經典的hello world

嘗試修改一下,printf("Hello RT-Thread this is a test \n");

保存后,再linux終端rt-thread/bsp/qemu-vexpress-a9/目錄下,輸入scons,工程便開始編譯

scons生成rtthread.elf

最終提示生成了rtthread.elf文件。運行./qemu.sh,可以看到啟動后打印修改的內容

this is a test


4.搭建VSCode,開發(fā)更方便

很多人不習慣使用vi編輯器、gedit編輯器修改文件,不習慣使用gdb進行調試(我就是),搭建VSCode是很有必要的,看代碼很方便,調試界面也很友好。

VSCode的下載安裝不多作介紹,簡介就是宇宙最強萬能寫代碼工具。

這里還要借助VSCode里面的插件: RT-Thread Studio

RT-Thread Studio 插件

安裝好之后,按照擴展設置,添加幾個必要的路徑:

1.rtthread源碼包路徑

2.gdb路徑:/usr/bin/arm-none-eabi-gdb

3.Toolchain_Loacation工具鏈 gcc編譯器的路徑:/usr/bin

使用左側的RT按鈕,即可打開一個工程。鼠標懸停再工程上,可看到編譯、調試等選項:

RT-Thread Studio


如此,就很方便了。調試起來毫無壓力。支持變量查看、單步執(zhí)行、斷點管理等

gdb調試界面


5.為QEMU增加網卡

到這里,基本的環(huán)境就已經搭建好了。但是需要使用更多的接口,還需要了解以下QEMU。

QEMU的本質是使用電腦的硬件,虛擬出一個開發(fā)板,也就是說這個開發(fā)板使用的接口實際上都是你的電腦的接口。

這一步,為QEMU增加網卡。根據RT-Thread文檔中心的指引,在windows下使用qemu,添加網卡是首先安裝一個虛擬網卡,然后將真實的可上網的網卡共享到虛擬網卡,然后再啟動虛擬開發(fā)板的時候設置啟動參數(shù),將虛擬網卡作為啟動項,當作虛擬開發(fā)板的網卡。

Linux中也是如此。大概的示意圖如下圖所示。

虛擬網卡示意圖

需要先安裝網橋軟件包

參照網上的例子改寫了qemu.sh,如下。其中ens33和ens36為我電腦上的兩個網卡,一個是以太網(VMware實體window和linux虛擬機NET模式),一個是WIFI(VMware橋接模式,linux和windows共用wifi)。


修改完之后,保存,運行qemu.sh,在rtthread終端ping一個網站即可ping通,到此就可以進行下一步學習了。B站上RTThread官方賬號有網絡課程專欄【7天入門網絡編程】,搭配使用真香。若ping不通則有可能是你的linux系統(tǒng)本身就上不了網,所以網橋一定要連接到可以上網的網卡才能往下走。ping不通移步第6節(jié) VMWare虛擬機網卡配置簡介,參考一下我的配置。

ping 測試

此時啟動另一個終端,輸入ifconfig,可以看到網卡的信息,里面有qemu.sh文件里新建的br0網橋、本機網卡ens33、ens36、lo回環(huán)、tap0虛擬網卡

ifconfig

6.VMWare虛擬機網卡配置簡介

以下給出我的參考配置

在windows平臺下使用VMware,windos下網絡適配器為如下配置,其中WLAN就是可以上網的Wifi,虛擬網卡VMnet8用于NET模式進行windows和Ubuntu的文件共享、SSH等

網絡適配器

在虛擬機設置里面使用VMnet8和VMnet0,其中VMnet8設置為NAT模式,VMnet0設置為自定義橋接模式。在虛擬網絡編輯器里設置VMnet0橋接目標為我的WIFI,即RZ608 Wi-Fi 6E 80MHz。

虛擬機設置

虛擬網絡設置

設置完成后,在Ubuntu中使用ifconfig就可以看到這兩個網卡了,或者在圖形界面中也可以設置,但是Ubuntu都認為這兩個網卡都是有線網卡

Ubuntu設置網絡


這時在去ping一個網站就可以ping通了,如果ping不通可以嘗試關閉再重新打開。

7.TCP客戶端示例

演示TCP客戶端示例。

在windows下打開一個TCP服務器(咱也不知道為什么用windows,正好電腦上有,用著方便)


在RT-Thread命令行中輸入tcp_client命令 + 服務器IP +服務器端口號

運行tcp客戶端任務
客戶端與服務器交互

源碼見文末尾,該源碼包通過sons --menuconfig彈出裁剪配置界面,添加

RT-Thread online packages ?---->

????miscellaneous packages ---->

????????samples:kernel and components samples --->

? ? ? ? ? ? a network_samples package for rt-thread ---->

????????????????[network] tcp client

即可獲得,添加完成之后,在終端輸入

自動下載TCP示例源代碼,然后直接scons編譯即可使用


更多信息可查看官方文檔中心 https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/qemu-network/tcpclient/tcpclient


linux下搭建rtthread qemu環(huán)境的評論 (共 條)

分享到微博請遵守國家法律
太湖县| 庆阳市| 芜湖市| 荃湾区| 江陵县| 花垣县| 卢氏县| 天长市| 托里县| 额尔古纳市| 习水县| 醴陵市| 陇川县| 阳新县| 合肥市| 焦作市| 五常市| 麻栗坡县| 阳高县| 漯河市| 保康县| 霍城县| 安陆市| 东海县| 勐海县| 长海县| 璧山县| 沙河市| 乐平市| 玉溪市| 和静县| 仁化县| 左权县| 石林| 和田县| 谢通门县| 普定县| 宜城市| 得荣县| 瓮安县| 岢岚县|