百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

干货|教你在Win10的ubuntu子系统下编译micropython

off999 2024-09-27 13:44 39 浏览 0 评论

在Win10的应用商店中,提供了Linux的子系统,这是实际上是一个虚拟机软件,与virtualbox和vmplayer功能类似。下面就介绍在Linux子系统中安装工具链和编译micropython的方法。

先确认一下Windows10系统的版本,如果是LTSB版(Long Time Service Branch 企业长期服务版),就需要更换到企业版。

如果还没有安装过Linux子系统功能,首先需要在控制面板的“程序和功能”中允许适用于Linux的Windows子系统功能,并重新启动计算机。

然后就可以在应用商店中,通过搜索Linux或者ubuntu,找到ubuntu应用。注意现在应用商店里ubuntu有两个版本,分别是16.04和18.04。

这两个版本都是长期服务器版,但是我们需要选择第一个,也就是16.04版本,因为目前gcc-arm编译器还没有支持18.04,使用18.04版本就需要自己手工安装编译器,比较麻烦。

安装好ubuntu 16.04后,运行就会出现下面的控制台样式窗口,它默认是只有控制台(shell)界面,没有图形化界面。我们可以通过 lsb_release -a 命令查看系统版本。

这个新安装的ubuntu可以看成是一个全新的系统,大部分软件都需要自己安装。我们先安装arm-gcc编译器,同时可以更新一下软件仓库的内容。


  1. sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
  2. sudo apt update
  3. sudo apt install gcc-arm-embedded

然后安装git软件:

  1. sudo apt install git

还需要安装gcc编译器和make软件:

  1. sudo apt install gcc make


到这一步,需要的软件基本安装完成,下面是用 git 同步下载 micropython 源码。虽然可以使用zip方式下载,但是这样不方便和源码同步更新。我们先在用户目录中创建一个projects目录,将micropython下载到projects目录中:

cd

mkdir projects

cd projects

git clone https://github.com/micropython/micropython

因为文件比较多,github在国内访问速度也不快,下载速度与网络有很大关系。如果下载出错,需要重复这个步骤。

成功下载后,进入micropython目录,先下载使用到的其它库文件:

  1. cd micropython
  2. git submodule update --init

micropython引用的外部库也比较多,下载需要一定时间。如果提示超时或者下载失败,需要重复前面过程。

下载源码后,就可以开始编译了,首先是编译mpy-cross,它是一个micropython的辅助工具,在编译过程中会用到。

在micropython源码的根目录中,输入下面命令:

  1. make -C mpy-cross

这个程序不大,编译速度也比较快。编译后就可以编译STM32的程序了,下面命令是编译官方的pybv10开发板固件:

  1. make -C ports/stm32


如果是编译其它开发板,就需要在命令行中指定板子的名称,注意BOARD必须大写,等号两边不能有空格:

  1. make -C ports/stm32 BOARD=STM32F7DISC

如果其它开发板,更换板子的名称就可以。如果是自己定义的板子,还需要将开发板的定义文件添加到ports/stm32/board目录下。

以后如果micropython代码更新了,我们就可以通过git同步更新,然后再次编译。

  1. git pull


编译前最好先清除以前的编译内容,这样可以避免因为更新造成的编译错误

  1. make -C ports/stm32 clean
  2. make -C ports/stm32

上面编译出的固件是默认方式,不带有双精度浮点,也不支持线程功能。如果希望添加线程功能,需要打开板子的配置文件mpconfigboard.h,然后在文件中添加下面两行:

  1. #define MICROPY_PY_THREAD (1)
  2. #define MICROPY_PY_THREAD_GIL (1)


然后先清除以前的临时文件,再重新编译。

如果需要双精度浮点功能,在编译时命令行中,添加 MICROPY_FLOAT_IMPL=double。

编译速度与计算机的配置有较大关系,配置越高,CPU性能越好,速度越快。此外如果计算机使用了普通硬盘,第一次编译也会较慢,需要较多的时间加载程序,使用SSD硬盘时,第一次编译速度明显快很多。在一个Windows10平板上(cpu的N3450,),编译1.9.4版本的固件,使用了约260秒,而相同情况下使用虚拟机编译约160秒,看起来Linux子系统的性能还有很大改进的空间。

编译后,产生的固件在 ports/stm32/build-xxxxx 目录下(xxxxx是板子的名称),编译会同时产生elf、dfu、hex三种格式的文件。dfu适合通过USB方式升级,elf和hex可以使用jlink、stlink通过SWD下载(会丢失用户磁盘内容)。

编译好固件怎样复制到windows主机呢?在Linux子系统中,默认已经将windows的各分区挂载好了,我们可以在 /mnt 目录下看到。将固件复制到进去就可以了。如果不习惯用命令行方式操作,可以安装一个midinight commander软件,它类似早期的norton commander,可以方便的管理文件。

sudo apt install mc

使用Linux子系统,好处在于安装和使用简单,安装后可以直接运行,没有复杂的配置,文件体积比使用虚拟机要小,占用系统资源也较少。Linux系统作为windows的一个程序,比传统用虚拟机方式更加容易使用。缺点是不能选择用户数据存放的目录,所有文件都会保存到系统盘,需要在系统盘留出足够的空间,此外性能比传统虚拟机低。

以上图文内容均转载自订阅号:电子工程世界(微信搜索 eeworldbbs 关注)

欢迎微博@EEWORLD

如果您也写过此类原创干货欢迎将您的原创发至:bbs_service@eeworld.com.cn,一经入选,我们将帮你登上头条!

聚焦行业关注热点, 了解科技最新前沿

敬请关注EEWorld电子头条

手机访问:http://www.eeworld.com.cn/mp/wap

电脑访问:http://www.eeworld.com.cn/mp

与更多行业内网友进行交流请登陆EEWorld论坛。

相关推荐

笔记本电脑用什么下载软件(笔记本电脑用什么下载软件比较好)
  • 笔记本电脑用什么下载软件(笔记本电脑用什么下载软件比较好)
  • 笔记本电脑用什么下载软件(笔记本电脑用什么下载软件比较好)
  • 笔记本电脑用什么下载软件(笔记本电脑用什么下载软件比较好)
  • 笔记本电脑用什么下载软件(笔记本电脑用什么下载软件比较好)
如何设置本地连接

在“控制面板”中,选择“网络和Internet”>“网络和共享中心”。在左侧窗格中,选择“更改适配器设置”。在“网络连接”窗口中,右键单击“本地连接”,然后选择“属性”。在“本地连接...

office2007官方免费版安装包
  • office2007官方免费版安装包
  • office2007官方免费版安装包
  • office2007官方免费版安装包
  • office2007官方免费版安装包
戴尔官网官方网站(戴尔产品官网)

查询步骤如下:1.在戴尔电脑的后盖上找到服务编号,并记录下来。2.之后搜索戴尔官网,在打开的官网界面中点击上方的支持选项,并点击产品支持。3.在打开的产品支持界面中,输入电脑后盖上的服务编号。4.如果...

黑鲨u盘重装系统教程(黑鲨u盘重装系统步骤8)

U盘重装WIn10系统:1、用【u深度u盘启动盘制作工具】制作u盘启动盘,插入电脑usb接口,设置好开机启动项进入u深度主菜单界面,选择“【02】u深度win8pe标准版(新机器)”并回车,2、在u深...

电子邮件免费注册入口(电子邮件在线注册)

1.在网页上搜索maiI163邮箱登录,如果有邮箱账号密码的话就直接输入并点击“登录”,没有的话就点击“立即注册”。2.点击“立即注册”后进入页面,输入信息点击“注册”。3.注册成功后就直接搜索登录。...

win7如何快速启动(windows7如何快速启动)
win7如何快速启动(windows7如何快速启动)

打开操作系统运行:输入"cmd"并点击回车:系统命令提示符自动打开:使用方法直接运行start打开一个新的命令提示符窗口:运行start+文件的绝对存储路径打开对应的文件:运行start+文件夹路径打开对应...

2025-12-29 13:03 off999

怎么升级到win11(怎么升级到win11专业版)

Windows11可以在「开始菜单-设置-Windows更新」中进行手动更新。如果您想主动更新,需先确保您的电脑符合Windows11的最低系统要求。接着,打开「Windows更...

微信好友误删了怎么加回来(微信好友误删了怎么加回来免费)

看到他的评论的话,你可以去你发过的内容里去看看。<br/><br/>好友验证的消息、语音)或者朋友圈内容:<br/>如果你这个朋友喜欢和你在朋友圈聊天的话,你他的手机号也有的话方法添加里输入就可...

access安装包(access安装包怎么安装)
access安装包(access安装包怎么安装)

要下载并安装MicrosoftAccess,可以按照以下步骤进行操作:1.打开您的电脑的浏览器(如谷歌浏览器、火狐浏览器等)。2.在浏览器的搜索栏中输入"下载MicrosoftAccess"。3.从搜索结果中选择适...

2025-12-29 11:51 off999

云骑士装机大师官方网站(云骑士装机大师软件下载)

就是感觉正规吧,还有就是小白那种的比较多,专业店一忽悠就掏钱做系统了。懂装机的哪有花钱去装系统的不靠谱,因为会造成个人信息的泄露。云骑士装机大师是网络装机系统,在网络上能够实现一键装机,非常的简洁方便...

万能钥匙下载免费(安心上网万能钥匙下载免费)

行1.使用手机功能表中自带的浏览器上网,直接搜索需要的软件进行下载安装(下载安卓版本格式为apk)。2.使用电脑下载APK格式的安装包,连接数据线传输至手机,操作手机在应用程序-我的文件中找到安装包,...

500兆宽带用什么路由器(家用路由器什么牌子好 信号强)

1、飞鱼星千兆无线路由器家用2600M双频企业级高速穿墙500M光纤游戏加速VW1900/千兆双频/1900M/大型企业路由器无线500m推荐理由:可以提供企业级别的性能,空旷环境覆盖更广大,...

xp系统怎么卸载软件(xp怎么卸载程序)

1、选中此电脑,点击鼠标右键。2、选择属性点击一下。3、在打开的界面选择控制面板。4、点击程序选项下方的卸载。5、选择要卸载的程序软件,点击鼠标右键。6、点击弹出的选项卸载/更改。7、也可以使用电脑管...

笔记本电脑系统修复软件(笔记本电脑程序修复)

1、超级兔子2013系统修复软件超级兔子是一款完整的系统维护工具。拥有电脑系统评测、垃圾清理和注册表清理、可疑文件和插件检测、网页防护等功能,同时自带一些实用的系统工具,可清理你大多数的文件、注册表里...

取消回复欢迎 发表评论: