使用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等等) ...
随机推荐
- C# iText split PDF C# 拆分PDF
Nuget install iText7 using iText.Kernel.Pdf; using System.Linq; using System.Text; using System.Thre ...
- 绑定 Binding Path=.,Binding.,Binding Source={StaticResource ResourceKey="Hello"} xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:sys="clr-namespace:System;assembly=mscorlib" <Window.Resources> <Style Targ ...
- Linux查看日志常用命令(转载)
转自: https://www.cnblogs.com/kbkiss/p/7567725.html -------------------------------------------------- ...
- RabbitMQ、RPC、SaltStack "贡"具的使用
消息队列 使用队列的场景 在程序系统中,例如外卖系统,订单系统,库存系统,优先级较高 发红包,发邮件,发短信,app消息推送等任务优先级很低,很适合交给消息队列去处理,以便于程序系统更快的处理其他请求 ...
- 第九届极客大挑战——Geek Chatroom(sql盲注)
首先观察这个web应用的功能,可以任意留言,也可以搜索留言,当然我还用cansina扫描过网站,查看过源码,抓包查看过header等.没发现其他提示的情况下断定这就是个sql注入,可能存在的注入点呢, ...
- maven 学习---使用Maven创建Web应用程序项目
在本教程中,我们将演示如何使用 Maven 创建一个 Java Web 项目(Spring MVC). 用到的技术/工具: Maven 3.3.3 Eclipse 4.3 JDK 8 Spring 4 ...
- DDL创建数据库,表以及约束(极客时间学习笔记)
DDL DDL是DBMS的核心组件,是SQL的重要组成部分. DDL的正确性和稳定性是整个SQL发型的重要基础. DDL的基础语法及设计工具 DDL的英文是Data Definition Langua ...
- tornado 之 RequestHandler(请求)
RequestHandler from tornado.web import ReuqestHandler 一.利用HTTP协议想服务器传递参数 提取url的特定部分 http://127.0.0.1 ...
- JavaGC垃圾回收机制和常见垃圾回收算法
Java GC是在什么时候,对什么东西,做了什么事情?” 什么位置:大部分在堆中,还有方法区!!方法区的垃圾收集主要回收两部分内容:废弃常量和无用的类,当满了之后同样触发FullGC, HotSpot ...
- IDEA结合Maven的profile构建不同开发环境(SpringBoot)
一.概述 在开发过程中,我们的项目会存在不同的开发环境,比如开发环境.生产环境.测试环境,而我们的项目在不同的环境中有些配置也是不一样的,比如数据源配置.日志文件配置等,假如我们每次将软件部署到不同的 ...