0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式开发中的几种常用的工具介绍

嵌入式IoT 来源:嵌入式IoT 作者:嵌入式IoT 2021-04-02 10:05 次阅读

嵌入式开发中常用的虚拟机与容器

1.本文说明

2.VMware Workstatio

2.Oracle VM VirtualBox

3.window10 中的WSL2 Linux子系统

4.docker容器技术

5.multipass

6.qemu

1.本文说明嵌入式开发已经从以往的单片机开发逐渐过渡到越来越依赖Linux的系统。虽然大多数情况下,windows的开发工具可以做很多嵌入式开发工作,也有很多好用的工具,但是Linux里面的好用的工具也很多。这种情况下,解决的办法就是装windows,linux双系统就可以解决,但是这样切换系统的效率太低了,传输文件也非常的麻烦。用虚拟机也可以解决该问题,虚拟机也是比较庞大的,而且性能也不怎么好。遇到这些问题,下面介绍几种常用的工具。

2.VMware Workstatio自然这是一种强大的桌面虚拟计算机软件,可以非常方便的安装各种系统,也可以根据需要进行外设的开发。

一般嵌入式开发上,用来编译Linux、uboot等镜像,然后放到windows系统上利用各种工具烧录,比较的方便。

分为商业版本和个人体验版本,做个人学习开发时,可以使用该软件来学习,但是到公司开发则需要购买许可证才能使用。不然一堆的法务材料会找上门。

个人觉得使用该软件学习Linux的使用,同时个人做一些Linux开发等等,是不错的选择,上手简单,便于操作,而且界面也比较好用。当然,缺点就是虚拟机需要安装一整个系统,占用空间比较大,而且分配的内存、cpu使用都比较低,性能差一些。

2.Oracle VM VirtualBox这个就是一款开源的虚拟机软件了,这款软件就是完全免费的。如果说VMware Workstatio担心会有版权的问题,那么用上这个虚拟机则完全不用担心这个问题了。

使用上和VMware Workstatio类似,也都是需要安装一个完整的系统镜像。

当然两者之间简单的使用来看,差别不大,一些基本的功能使用起来也差不多。需要注意的是,如果虚拟机镜像损坏,起不来了,那么这个系统镜像也就不能用了。所以使用这些虚拟机时,需要注意重要的资料及时备份。

使用虚拟机适合日常的开发工作,容易上手,学习成本不高,但是资源占用大,效率低。

3.window10 中的WSL2 Linux子系统因为是windows自己实现的虚拟化技术,效果还是可以的。虽然被很多人说有一些bug,但是基本的应用程序的使用还是可以应对的,如果不涉及到复杂的使用,学习使用Linux的命令也是不错的选择。但是缺点就是bug太多,而且系统的占用也比较大,而且东西不可控。

在安装完成WSL2后可以安装Linux的内核。

可以安装的Linux版本非常的多。其中安装Ubuntu版本可以自由的选择。

比较遗憾的是只能用命令行进行操作,还有在开发Linux的过程中,一些软件支持的不是很好,还有就是没有图形化界面。

而且如果要使用Linux上的USB等外设驱动,也不能很好的支持。

4.docker容器技术docker的思想就是利用操作系统资源,上面构建一些应用程序。因为操作系统的资源是共享的,所以只需要构建上层的应用即可。

docker的系统资源是在Linux基础上的,所以如果在windows上使用,需要安装wsl2后才能启动docker。

docker的好处在于跨平台,而且只需要构建一个镜像,可以在不同的平台上进行部署,镜像也可以推送到远程的仓库,以便于相同环境的搭建。

在嵌入式上使用时,可以搭建一个编译嵌入式Linux的环境,也可以构建编译uboot等环境,在分享给其他人使用时,不用再重复的搭建环境的操作。解决很多环境搭建的问题。

当然也可以编译很多好用的工具,比如编译qemu的源代码等等,编译操作系统镜像,编译开源的仓库里的工具的等等。

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

docker的远程仓库里有各种版本的linux的镜像,十分方便构建编译环境。利用docker搭建一个虚拟化的Linux内核学习lab是不错的选择。

docker搭建环境、部署很方便,缺点就是上手难度有一些,需要掌握docker的使用思想。

5.multipass如果觉得docker比较复杂,用起来也不如虚拟机一样方便。同时又觉得安装VM VirtualBox等占用太多资源,那么multipass就是一个不错的选择。

https://multipass.run/

选择Multipass的优势在于操作简单,而且可以完全搭建一个全新的ubuntu环境。

支持Linux、Windows和macos的平台。

操作上与完整Ubuntu的控制台操作无差别,而且可以自己定义系统的硬盘、内存大小。

使用时,如果不想破坏原生Ubuntu环境,又想在Ubuntu环境下开发,multipass可以提供一个干净的隔离空间。也想安装不同版本的Ubuntu。

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

基本的Ubuntu版本都可以供选择。

这个虚拟机使用稍微比docker简单一些,但是差别就是multipass的镜像是无法分享的,只能自己使用。

每次开一个镜像就是一个新的干净的工作空间。

6.qemu对于qemu的使用,一般都会作为嵌入式虚拟环境来使用。用软件模拟不同硬件的平台,比如arm、mips、riscv等等开发,都可以模拟硬件平台。同时借助模拟硬件虚拟化技术,可以很好的开发上层软件。

这样在做嵌入式开发时,可以节约调试的时间成本,在开发嵌入式Linux、嵌入式上层软件的业务逻辑的设计时,也非常的有优势,在qemu上调试完成后,再移植到真实的设备上。

当然,在qemu上也能安装一些大型的操作系统。对于嵌入式开发,可以通过软件模拟硬件的实现,利用这一点,很方便写上层应用、网络应用、图形化界面的交互等等。

原文标题:嵌入式开发中常用的虚拟机与容器

文章出处:【微信公众号:嵌入式IoT】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    4976

    文章

    18244

    浏览量

    287919
  • Linux
    +关注

    关注

    87

    文章

    10980

    浏览量

    206673

原文标题:嵌入式开发中常用的虚拟机与容器

文章出处:【微信号:Embeded_IoT,微信公众号:嵌入式IoT】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式开发学习的十三法则分享

    嵌入式开发学习是一个不断积累和总结的过程,来自一个嵌入式开发高级工程师为我们总结的关于嵌入式开发学习的十三法则,大家不妨参考一下: 一、冗余度法则 在嵌入式系统具有足够的冗余度
    发表于 12-21 06:32

    嵌入式开发为什么需要输出调试信息?

    嵌入式开发为什么需要输出调试信息? 因为输出调试信息是嵌入式开发中一项非常重要的实践,它有助于保证软件的可靠性、稳定性和性能,也是故障排查的关键工具之一。 嵌入式开发输出调试信息主要
    发表于 11-28 16:46

    c语言嵌入式开发

    电子发烧友网站提供《c语言嵌入式开发.zip》资料免费下载
    发表于 11-17 14:11 2次下载
    c语言<b class='flag-5'>嵌入式开发</b>

    嵌入式开发系统基础知识

    电子发烧友网站提供《嵌入式开发系统基础知识.pdf》资料免费下载
    发表于 11-17 10:59 0次下载
    <b class='flag-5'>嵌入式开发</b>系统基础知识

    嵌入式开发学习路线

    电子发烧友网站提供《嵌入式开发学习路线.doc》资料免费下载
    发表于 11-17 10:13 12次下载
    <b class='flag-5'>嵌入式开发</b>学习路线

    嵌入式软件开发常用工具有哪些?

    分享一些嵌入式软件开发常用工具。 1、Keil MDK:这是德国Keil公司开发的基于8051、9051、ARM7、ARM9系列微控制器的嵌入式
    发表于 11-10 11:03

    嵌入式开发入门学习

    电子发烧友网站提供《嵌入式开发入门学习.doc》资料免费下载
    发表于 10-26 09:37 1次下载
    <b class='flag-5'>嵌入式开发</b>入门学习

    分享一款不错的嵌入式静态代码扫描工具

    之前给大家分享过嵌入式开发常用的代码静态分析工具,比如:PC-lint、LDRA、VectorCAST等。
    的头像 发表于 10-16 15:39 1008次阅读
    分享一款不错的<b class='flag-5'>嵌入式</b>静态代码扫描<b class='flag-5'>工具</b>

    Linux系统的嵌入式开发是什么

    嵌入式开发听起来很高大上,但其实它就在我们身边。   嵌入式开发是指将操作系统、应用程序或数据存储在嵌入式设备中,如手机、平板电脑、智能家居等。   随着物联网时代的到来,嵌入式开
    的头像 发表于 10-12 15:40 1009次阅读

    什么是嵌入式Linux?

    发展需要不断进化。随着芯片性能的增强和社会变革的需要,嵌入式系统越来越承接更多、更复杂的功能,所以嵌入式开发也以高薪稳定的状态稳坐在就业的顶端。(相较于其他行业,嵌入式工程师的工资在同等毕业条件下确实可观!这还
    发表于 10-11 13:47

    STM32嵌入式开发中的RTOS,你用过哪些?

    STM32嵌入式开发中的RTOS,你用过哪些?
    的头像 发表于 09-18 16:21 786次阅读
    STM32<b class='flag-5'>嵌入式开发</b>中的RTOS,你用过哪些?

    STM32Cube嵌入式开发工具让MCU开发更智能

    电子发烧友网站提供《STM32Cube嵌入式开发工具让MCU开发更智能.pdf》资料免费下载
    发表于 07-29 11:29 3次下载
    STM32Cube<b class='flag-5'>嵌入式开发工具</b>让MCU<b class='flag-5'>开发</b>更智能

    嵌入式开发常用的8款软件工具

    今天跟大家分享一些嵌入式开发常用的好评工具,也是我手头上一直在使用的一些工具,所谓"欲善其功先利其器",bug菌比较晚才深刻理解这句话。
    的头像 发表于 07-05 11:03 4103次阅读
    <b class='flag-5'>嵌入式开发</b>中<b class='flag-5'>常用</b>的8款软件<b class='flag-5'>工具</b>

    什么人适合学习嵌入式开发

    到底什么专业的人适合学嵌入式?或从事过自动化相关工作的人员,适合参加嵌入式学习吗?等等系列问题,接下来就问大家一一解答:究竟什么样的人才适合学习嵌入式开发嵌入式简单来讲,就是软硬
    发表于 06-07 15:55

    嵌入式开发成本高的原因有哪些

    这里先问下大家:你觉得嵌入式开发成本高吗? 答案:是的,对于普通人来说,很高。当然,部分富豪除外。 下面给大家罗列一下嵌入式开发成本高的几点原因。
    的头像 发表于 06-02 10:24 600次阅读
    <b class='flag-5'>嵌入式开发</b>成本高的原因有哪些