0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式開(kāi)發(fā)中的幾種常用的工具介紹

嵌入式IoT ? 來(lái)源:嵌入式IoT ? 作者:嵌入式IoT ? 2021-04-02 10:05 ? 次閱讀

嵌入式開(kāi)發(fā)中常用的虛擬機(jī)與容器

1.本文說(shuō)明

2.VMware Workstatio

2.Oracle VM VirtualBox

3.window10 中的WSL2 Linux子系統(tǒng)

4.docker容器技術(shù)

5.multipass

6.qemu

1.本文說(shuō)明嵌入式開(kāi)發(fā)已經(jīng)從以往的單片機(jī)開(kāi)發(fā)逐漸過(guò)渡到越來(lái)越依賴Linux的系統(tǒng)。雖然大多數(shù)情況下,windows的開(kāi)發(fā)工具可以做很多嵌入式開(kāi)發(fā)工作,也有很多好用的工具,但是Linux里面的好用的工具也很多。這種情況下,解決的辦法就是裝windows,linux雙系統(tǒng)就可以解決,但是這樣切換系統(tǒng)的效率太低了,傳輸文件也非常的麻煩。用虛擬機(jī)也可以解決該問(wèn)題,虛擬機(jī)也是比較龐大的,而且性能也不怎么好。遇到這些問(wèn)題,下面介紹幾種常用的工具。

2.VMware Workstatio自然這是一種強(qiáng)大的桌面虛擬計(jì)算機(jī)軟件,可以非常方便的安裝各種系統(tǒng),也可以根據(jù)需要進(jìn)行外設(shè)的開(kāi)發(fā)。

一般嵌入式開(kāi)發(fā)上,用來(lái)編譯Linux、uboot等鏡像,然后放到windows系統(tǒng)上利用各種工具燒錄,比較的方便。

分為商業(yè)版本和個(gè)人體驗(yàn)版本,做個(gè)人學(xué)習(xí)開(kāi)發(fā)時(shí),可以使用該軟件來(lái)學(xué)習(xí),但是到公司開(kāi)發(fā)則需要購(gòu)買許可證才能使用。不然一堆的法務(wù)材料會(huì)找上門。

個(gè)人覺(jué)得使用該軟件學(xué)習(xí)Linux的使用,同時(shí)個(gè)人做一些Linux開(kāi)發(fā)等等,是不錯(cuò)的選擇,上手簡(jiǎn)單,便于操作,而且界面也比較好用。當(dāng)然,缺點(diǎn)就是虛擬機(jī)需要安裝一整個(gè)系統(tǒng),占用空間比較大,而且分配的內(nèi)存、cpu使用都比較低,性能差一些。

2.Oracle VM VirtualBox這個(gè)就是一款開(kāi)源的虛擬機(jī)軟件了,這款軟件就是完全免費(fèi)的。如果說(shuō)VMware Workstatio擔(dān)心會(huì)有版權(quán)的問(wèn)題,那么用上這個(gè)虛擬機(jī)則完全不用擔(dān)心這個(gè)問(wèn)題了。

使用上和VMware Workstatio類似,也都是需要安裝一個(gè)完整的系統(tǒng)鏡像。

當(dāng)然兩者之間簡(jiǎn)單的使用來(lái)看,差別不大,一些基本的功能使用起來(lái)也差不多。需要注意的是,如果虛擬機(jī)鏡像損壞,起不來(lái)了,那么這個(gè)系統(tǒng)鏡像也就不能用了。所以使用這些虛擬機(jī)時(shí),需要注意重要的資料及時(shí)備份。

使用虛擬機(jī)適合日常的開(kāi)發(fā)工作,容易上手,學(xué)習(xí)成本不高,但是資源占用大,效率低。

3.window10 中的WSL2 Linux子系統(tǒng)因?yàn)槭莣indows自己實(shí)現(xiàn)的虛擬化技術(shù),效果還是可以的。雖然被很多人說(shuō)有一些bug,但是基本的應(yīng)用程序的使用還是可以應(yīng)對(duì)的,如果不涉及到復(fù)雜的使用,學(xué)習(xí)使用Linux的命令也是不錯(cuò)的選擇。但是缺點(diǎn)就是bug太多,而且系統(tǒng)的占用也比較大,而且東西不可控。

在安裝完成WSL2后可以安裝Linux的內(nèi)核。

可以安裝的Linux版本非常的多。其中安裝Ubuntu版本可以自由的選擇。

比較遺憾的是只能用命令行進(jìn)行操作,還有在開(kāi)發(fā)Linux的過(guò)程中,一些軟件支持的不是很好,還有就是沒(méi)有圖形化界面。

而且如果要使用Linux上的USB等外設(shè)驅(qū)動(dòng),也不能很好的支持。

4.docker容器技術(shù)docker的思想就是利用操作系統(tǒng)資源,上面構(gòu)建一些應(yīng)用程序。因?yàn)椴僮飨到y(tǒng)的資源是共享的,所以只需要構(gòu)建上層的應(yīng)用即可。

docker的系統(tǒng)資源是在Linux基礎(chǔ)上的,所以如果在windows上使用,需要安裝wsl2后才能啟動(dòng)docker。

docker的好處在于跨平臺(tái),而且只需要構(gòu)建一個(gè)鏡像,可以在不同的平臺(tái)上進(jìn)行部署,鏡像也可以推送到遠(yuǎn)程的倉(cāng)庫(kù),以便于相同環(huán)境的搭建。

在嵌入式上使用時(shí),可以搭建一個(gè)編譯嵌入式Linux的環(huán)境,也可以構(gòu)建編譯uboot等環(huán)境,在分享給其他人使用時(shí),不用再重復(fù)的搭建環(huán)境的操作。解決很多環(huán)境搭建的問(wèn)題。

當(dāng)然也可以編譯很多好用的工具,比如編譯qemu的源代碼等等,編譯操作系統(tǒng)鏡像,編譯開(kāi)源的倉(cāng)庫(kù)里的工具的等等。

42018df0-92e6-11eb-8b86-12bb97331649.png

docker的遠(yuǎn)程倉(cāng)庫(kù)里有各種版本的linux的鏡像,十分方便構(gòu)建編譯環(huán)境。利用docker搭建一個(gè)虛擬化的Linux內(nèi)核學(xué)習(xí)lab是不錯(cuò)的選擇。

docker搭建環(huán)境、部署很方便,缺點(diǎn)就是上手難度有一些,需要掌握docker的使用思想。

5.multipass如果覺(jué)得docker比較復(fù)雜,用起來(lái)也不如虛擬機(jī)一樣方便。同時(shí)又覺(jué)得安裝VM VirtualBox等占用太多資源,那么multipass就是一個(gè)不錯(cuò)的選擇。

https://multipass.run/

選擇Multipass的優(yōu)勢(shì)在于操作簡(jiǎn)單,而且可以完全搭建一個(gè)全新的ubuntu環(huán)境。

支持Linux、Windows和macos的平臺(tái)。

操作上與完整Ubuntu的控制臺(tái)操作無(wú)差別,而且可以自己定義系統(tǒng)的硬盤、內(nèi)存大小。

使用時(shí),如果不想破壞原生Ubuntu環(huán)境,又想在Ubuntu環(huán)境下開(kāi)發(fā),multipass可以提供一個(gè)干凈的隔離空間。也想安裝不同版本的Ubuntu。

42d2e3e6-92e6-11eb-8b86-12bb97331649.png

基本的Ubuntu版本都可以供選擇。

這個(gè)虛擬機(jī)使用稍微比docker簡(jiǎn)單一些,但是差別就是multipass的鏡像是無(wú)法分享的,只能自己使用。

每次開(kāi)一個(gè)鏡像就是一個(gè)新的干凈的工作空間。

6.qemu對(duì)于qemu的使用,一般都會(huì)作為嵌入式虛擬環(huán)境來(lái)使用。用軟件模擬不同硬件的平臺(tái),比如arm、mips、riscv等等開(kāi)發(fā),都可以模擬硬件平臺(tái)。同時(shí)借助模擬硬件虛擬化技術(shù),可以很好的開(kāi)發(fā)上層軟件。

這樣在做嵌入式開(kāi)發(fā)時(shí),可以節(jié)約調(diào)試的時(shí)間成本,在開(kāi)發(fā)嵌入式Linux、嵌入式上層軟件的業(yè)務(wù)邏輯的設(shè)計(jì)時(shí),也非常的有優(yōu)勢(shì),在qemu上調(diào)試完成后,再移植到真實(shí)的設(shè)備上。

當(dāng)然,在qemu上也能安裝一些大型的操作系統(tǒng)。對(duì)于嵌入式開(kāi)發(fā),可以通過(guò)軟件模擬硬件的實(shí)現(xiàn),利用這一點(diǎn),很方便寫上層應(yīng)用、網(wǎng)絡(luò)應(yīng)用、圖形化界面的交互等等。

原文標(biāo)題:嵌入式開(kāi)發(fā)中常用的虛擬機(jī)與容器

文章出處:【微信公眾號(hào):嵌入式IoT】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5089

    文章

    19161

    瀏覽量

    306668
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11332

    瀏覽量

    210024

原文標(biāo)題:嵌入式開(kāi)發(fā)中常用的虛擬機(jī)與容器

文章出處:【微信號(hào):Embeded_IoT,微信公眾號(hào):嵌入式IoT】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式開(kāi)發(fā)必備-RK3562演示Linux常用系統(tǒng)查詢命令(上)觸覺(jué)智能出品

    實(shí)用干貨!嵌入式開(kāi)發(fā)學(xué)習(xí)必備-RK3562演示Linux常用系統(tǒng)查詢命令(上)關(guān)注觸覺(jué)智能持續(xù)為大家?guī)?lái)更多嵌入式開(kāi)發(fā)內(nèi)容
    的頭像 發(fā)表于 12-31 10:51 ?117次閱讀
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>必備-RK3562演示Linux<b class='flag-5'>常用</b>系統(tǒng)查詢命令(上)觸覺(jué)智能出品

    嵌入式工程師常用開(kāi)發(fā)工具有哪些?

    。此外,ARM 公司的編譯器也備受青睞,針對(duì) ARM 架構(gòu)的微控制器進(jìn)行了深度優(yōu)化,能夠生成高效的代碼。 三、調(diào)試工具 調(diào)試是嵌入式開(kāi)發(fā)過(guò)程中不可或缺的環(huán)節(jié)。J-Link 調(diào)試器是常用的硬件調(diào)試
    發(fā)表于 12-20 15:29

    如何使用 RISC-V 進(jìn)行嵌入式開(kāi)發(fā)

    RISC-V是一種開(kāi)源的指令集架構(gòu)(ISA),它允許任何人設(shè)計(jì)、制造和銷售基于RISC-V的處理器,這為嵌入式開(kāi)發(fā)提供了極大的靈活性和創(chuàng)新空間。以下是使用RISC-V進(jìn)行嵌入式開(kāi)發(fā)的基本步驟: 一
    的頭像 發(fā)表于 12-11 17:32 ?652次閱讀

    基于Xilinx ZYNQ7000 FPGA嵌入式開(kāi)發(fā)實(shí)戰(zhàn)指南

    電子發(fā)燒友網(wǎng)站提供《基于Xilinx ZYNQ7000 FPGA嵌入式開(kāi)發(fā)實(shí)戰(zhàn)指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-10 15:31 ?2次下載

    零基礎(chǔ)嵌入式開(kāi)發(fā)學(xué)習(xí)路線

    嵌入式開(kāi)發(fā)”沒(méi)有接觸過(guò)的同學(xué)可能會(huì)不明覺(jué)厲,但是只要你了解了,感興趣并且有一個(gè)正確的學(xué)習(xí)路線的話,零基礎(chǔ)也能入門。給大家介紹一個(gè)簡(jiǎn)單易懂的學(xué)習(xí)路線,讓你能夠從零開(kāi)始學(xué)習(xí)嵌入式開(kāi)發(fā)。 第一步:掌握
    發(fā)表于 10-25 15:55

    嵌入式開(kāi)發(fā)領(lǐng)域,有哪些好用的國(guó)產(chǎn)工具?

    嵌入式開(kāi)發(fā)領(lǐng)域,好用的國(guó)產(chǎn)工具不斷涌現(xiàn),為開(kāi)發(fā)者提供了更多選擇。以下是一些備受推崇的國(guó)產(chǎn)工具: INTEWORK-DDC(Diagnostic Database Convertor)
    的頭像 發(fā)表于 10-23 09:21 ?248次閱讀

    嵌入式開(kāi)發(fā)常見(jiàn)問(wèn)題排查

    嵌入式開(kāi)發(fā)問(wèn)題排查很多人認(rèn)為嵌入式開(kāi)發(fā)很難,主要是因?yàn)樵谶@個(gè)過(guò)程中常常會(huì)遇到各式各樣的問(wèn)題。這些問(wèn)題的復(fù)雜性和多樣性使得許多人感到困惑和無(wú)所適從。然而,如果將這些問(wèn)題逐一拆解,實(shí)際上大部分都可以
    的頭像 發(fā)表于 09-22 08:04 ?387次閱讀
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>常見(jiàn)問(wèn)題排查

    嵌入式常用總線有哪些

    嵌入式系統(tǒng)中常用的總線種類繁多,它們各自具有不同的特點(diǎn)和應(yīng)用場(chǎng)景。以下將詳細(xì)介紹幾種嵌入式開(kāi)發(fā)常用
    的頭像 發(fā)表于 09-10 11:34 ?707次閱讀

    嵌入式開(kāi)發(fā)常用軟件有哪些?

    嵌入式開(kāi)發(fā)常用軟件有哪些? 對(duì)于初學(xué)嵌入式的朋友們,會(huì)想要了解嵌入式軟件開(kāi)發(fā)常用的軟件有些,有什
    發(fā)表于 09-09 15:22

    一種常用嵌入式開(kāi)發(fā)代碼庫(kù)

    使用開(kāi)源協(xié)議:GPL-2.0varch簡(jiǎn)介varch(we-architecture,意為我們的框架庫(kù))是嵌入式C語(yǔ)言常用代碼模塊庫(kù),包含了嵌入式常用的算法庫(kù),數(shù)據(jù)結(jié)構(gòu)(容器)庫(kù),解
    的頭像 發(fā)表于 09-04 08:06 ?531次閱讀
    一種<b class='flag-5'>常用</b><b class='flag-5'>嵌入式開(kāi)發(fā)</b>代碼庫(kù)

    嵌入式常用數(shù)據(jù)結(jié)構(gòu)有哪些

    嵌入式編程,數(shù)據(jù)結(jié)構(gòu)的選擇和使用對(duì)于程序的性能、內(nèi)存管理以及開(kāi)發(fā)效率都具有重要影響。嵌入式系統(tǒng)由于資源受限(如處理器速度、內(nèi)存大小等),因此對(duì)數(shù)據(jù)結(jié)構(gòu)的選擇和使用尤為關(guān)鍵。以下是
    的頭像 發(fā)表于 09-02 15:25 ?560次閱讀

    聚焦嵌入式開(kāi)發(fā)的合規(guī)性工具、項(xiàng)目管理工具、版本迭代工具應(yīng)用

    ,就嵌入式開(kāi)發(fā)與管理領(lǐng)域的最新趨勢(shì)、工具選擇以及DevSecOps實(shí)踐應(yīng)用等方面展開(kāi)了深入探討。 本期對(duì)話龍智資深DevSecOps顧問(wèn)徐晨暉, 分享嵌入式開(kāi)發(fā)的合規(guī)性
    的頭像 發(fā)表于 07-29 15:15 ?608次閱讀

    嵌入式開(kāi)發(fā)前景怎么樣?

    嵌入式開(kāi)發(fā)前景非常廣闊,這主要得益于物聯(lián)網(wǎng)、人工智能、大數(shù)據(jù)等技術(shù)的快速發(fā)展,以及嵌入式系統(tǒng)在各個(gè)領(lǐng)域的廣泛應(yīng)用。以下是對(duì)嵌入式開(kāi)發(fā)前景的詳細(xì)分析
    的頭像 發(fā)表于 07-10 09:00 ?2816次閱讀
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>前景怎么樣?

    嵌入式開(kāi)發(fā)就業(yè)前景怎么樣?

    嵌入式開(kāi)發(fā)就業(yè)前景怎么樣?隨著科技的飛速發(fā)展,嵌入式開(kāi)發(fā)在各個(gè)領(lǐng)域的應(yīng)用越來(lái)越廣泛,因此嵌入式開(kāi)發(fā)的就業(yè)前景也備受關(guān)注。今天將從智能家居、醫(yī)療設(shè)備、工業(yè)控制、汽車電子、航空航天等方面,探討嵌入
    發(fā)表于 06-07 14:51

    fpga是嵌入式開(kāi)發(fā)

    FPGA(現(xiàn)場(chǎng)可編程門陣列)與嵌入式開(kāi)發(fā)之間確實(shí)存在一定的關(guān)聯(lián),但它們?cè)诒举|(zhì)上是兩個(gè)不同的領(lǐng)域。
    的頭像 發(fā)表于 03-15 14:18 ?1105次閱讀