使用Windows的Linux子系统搭建嵌入式开发环境
亲,都9102年了,还在用VMware跑嵌入式交叉编译链吗?
北京时间2019年6月13日,Windows 10发布预览版本18917。版本的主要功能是Linux子系统(windows sub-system linux version 2, 后文简称wsl2)进行了升级,从网上的描述中可以看出,新版的wsl声称引入了完整的Linux内核,意味着我们可以用它来跑docker和i686架构程序(前者在微软官方页面中进行了展示,后者是wsl1所不支持的,因而在此之前嵌入式开发还是只能跑虚拟机或双系统,因为嵌入式编译链32位的居多,比如我使用的hisi的编译链)。
好,话不多说,我们开始来搭建环境,首先你需要加入预览计划(截至2019年10月,消费者版本还是184xx版本,无法升级为18917),加入方式如下:
首先是加入预览体验计划:



重启完成后需要把更新频率调为快,然后去更新界面刷新,就会自动安装预览版本OS了:


当界面显示“Insider Preview” “vb_release”等字样时,你就快吃上预览版了。
这个漫长的过程结束之后,我们启用Linux子系统功能,这个步骤大家参考网上的教程即可,例如如何在 Windows 10 中安装 WSL2 的 Linux 子系统。
我引用的这篇文章大家参考第一步和第二步即可,值得一提的是其中有两个地方要说明一下,一是Ubuntu安装好要先运行,方式如下:

还有就是有一行语句他写错了
wsl --set-version Ubuntu> 2
应该是没有这个“>”,即应为
wsl --set-version Ubuntu 2
待安装好Ubuntu后,我们就可以试着安装交叉编译的工具链并且试着编译了(我使用vscode打开的终端进行后续操作,vscode的默认终端我也设置为wsl了,这样会方便一些):

然后安装32位的库和宿主的工具,使用以下命令:
#宿主开发环境
sudo apt install -y build-essential
#32位库
sudo apt install -y lib32ncurses5 lib32z1
sudo apt install -y lib32stdc++6
当然,你也可以先行替换软件包的源为阿里云,使用下面的语句即可:
sudo sed -i "s/archive\.ubuntu\./mirrors\.aliyun\./g" /etc/apt/sources.list
sudo apt update
接下来是最重要的一步,为Ubuntu开启32位支持,使用下面的语句。然后在Windows上重启一项服务(相当于重启了Ubuntu,图片中重启方式二选一)
(ps:似乎其实不需要重启,退出所有wsl的bash就行了)
sudo dpkg --add-architecture i386

然后就是编译成功的好消息:

编译出来的程序,放到机器上就可以运行,下面是我测试截图

使用wsl还有一个好处!就是我们可以使用同步代码在linux里面调试,比如我下面的操作

进一步,我们可以在Ubuntu中调试(由于vscode+wsl支持远程调试,因此说不定你可以使用ide在wsl里调试好代码,然后移植到嵌入式平台)。

使用Windows的Linux子系统搭建嵌入式开发环境的更多相关文章
- 【Hadoop】:Windows下使用IDEA搭建Hadoop开发环境
笔者鼓弄了两个星期,终于把所有有关hadoop的环境配置好了,一是虚拟机上的完全分布式集群,但是为了平时写代码的方便,则在windows上也配置了hadoop的伪分布式集群,同时在IDEA上就可以编写 ...
- Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程
Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程 一.准备工具: QT-SDK for Windows:http://get.qt.nokia.com/qtsdk/qt-sd ...
- Windows(WSL2) Linux子系统搭建Docker环境
摘要:本文主要介绍了如何再Windows(WSL2)中启用Linux系统中,并搭建Docker环境. WSL是适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux ...
- 使用eclipse搭建嵌入式开发环境
下载jdk http://download.oracle.com/otn-pub/java/jdk/7u4-b20/jdk-7u4-linux-i586.tar.gz 下载eclipse-cpp-ga ...
- Linux下搭建hadoop开发环境-超详细
先决条件:开发机器需要联网 已安装java 已安装Desktop组 1.上传安装软件到linux上: 2.安装maven,用于管理项目依赖包:以hadoop用户安装apache-maven-3.0.5 ...
- Windows使用Vagrant&VirtualBox搭建虚拟开发环境
Vagrant 是一款用来构建虚拟开发环境的工具 , 我们可以通过 Vagrant 封装一个 Linux 的开发环境 , 分发给团队成员 ; 成员可以在自己喜欢的桌面系统 Mac/Windows/Li ...
- Windows下使用VS2017搭建FLTK开发环境
环境介绍 系统:win10 64位 IDE:VS 2017 Community FLTK版本:1.3.4-2 下载FLTK 截止到本文编写,FLTK的最新稳定版本是1.3.4-2.我们从官网(www. ...
- [Linux] PHP程序员玩转Linux系列-搭建代码开发环境
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 有些同学可能觉得我写的都是啥yum安装的,随便配置一下而已,没啥技术含量,我的目的 ...
- Windows系统结合MinGW搭建软件开发环境
MinGW介绍 MinGW,即Minimalist GNU For Windows,它包含了GNU工具集的运行环境.GCC编译器工具集以及其它的GNU程序开发工具(如make.gawk.grep等等) ...
随机推荐
- 『CSP2019初赛后的总结』
初赛已经过去了,分数大概也已经知道了,接下来的一个月停课应该就是全部准备复赛. 联赛前几次讲课的内容是组合计数,计数\(dp\),字符串,概率期望,数论,数据结构,多数知识点难度都是大于联赛难度的,不 ...
- Spring-AOP源码分析随手记(一)
1.@EnableAspectJAutoProxy(proxyTargetClass = true) 就是弄了个"org.springframework.aop.config.interna ...
- Lucene BooleanQuery相关算法
BooleanQuery对两种不同查询场景执行不同的算法: 场景1: 所有的子句都必须满足,而且所有的子句里没有嵌套BooleanQuery. 例: a AND b AND c 上面语句表示要同时包含 ...
- Vue计算属性computed的全面解析
前言 一直以来对computed这个计算属性都只停在一个大概的认知中,最近特意仔细研读相关资料,亲测后逐渐了解了其特性. 正文 computed 特点: 1.初始化/依赖属性(即data属性)改变时执 ...
- Django 练习班级管理系统七 -- 编辑老师列表(二)
修改 views.py @auth def edit_teacher(request, nid): if request.method == "GET": obj = models ...
- gradle入门
gradle入门 简介: Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于 ...
- 如何解决phpMyAdmin缺少mcrypt 扩展
出现问题:在安装配置phpMyAdmin管理mysql数据库的时候,打开phpMyAdmin登录页面,出现下面的错误提示: 缺少 mcrypt 扩展.请检查 PHP 配置 以CentOS 6.0系统为 ...
- 【餐厅】 What kind of food would you like to eat tonight?
核心句型 What kind of food would you like to eat tonight? 你今晚想吃哪种菜? What would you like to eat ? 你想吃什么? ...
- mac os下切换pip3国内源并安装requests库
在使用Python的时候,经常会用到pip来安装模块,但是默认的下载源实在是特别慢,经常install的时候还会因为速度的原因直接报错,因此我们可以选择将下载源更改为国内的,这样就可以提高我们的下载速 ...
- LG1640 「SCOI2010」连续攻击游戏 二分图最大匹配
问题描述 LG1640 题解 一开始以为是把\((a,b)\)作为左右部点,发现\(n \le 1000000\),建图是\(O(n^2)\)的,会爆掉 属性值向\(i\)建边. \(\mathrm{ ...