[分享] 别拦着我哈,我要搞mpy开发啦!

xlsbz   2019-4-27 18:32 楼主
目标 争取2019年能上手

(1)看了一下,交互方面资料太少,
这个不错https://bbs.eeworld.com.cn/thread-488408-1-1.html
另外,目前编译minimal无法通过啊


回复评论 (26)

@dcexpert  问问版主
点赞  2019-4-27 19:11
谢谢分享!
服务器大全
点赞  2019-4-28 08:29
安装好gcc-arm-embedded,运行make CROSS=1就可以编译
点赞  2019-4-28 09:16
引用: dcexpert 发表于 2019-4-28 09:16
安装好gcc-arm-embedded,运行make CROSS=1就可以编译
我用的是1.10版本

CC ../../py/smallint.c
CC ../../py/frozenmod.c
CC main.c
CC uart_core.c
CC ../../lib/utils/printf.c
CC ../../lib/utils/stdout_helpers.c
CC ../../lib/utils/pyexec.c
CC ../../lib/libc/string0.c
CC ../../lib/mp-readline/readline.c
MISC freezing bytecode
/usr/bin/env: ‘python3’: No such file or directory
Makefile:60: recipe for target 'build/_frozen_mpy.c' failed
mingw32-make: *** [build/_frozen_mpy.c] Error 127
mingw32-make: *** Deleting file 'build/_frozen_mpy.c'
mingw32-make: *** Waiting for unfinished jobs....
点赞  2019-4-28 11:32
你是在win32下编译吧?估计是编译器版本以及python问题,最好在linux下编译
点赞  2019-4-28 11:34
引用: dcexpert 发表于 2019-4-28 11:34 你是在win32下编译吧?估计是编译器版本以及python问题,最好在linux下编译
我在win10的linux子系统下弄过 也不容易搞啊。 现在我在WIN10下面 直接用windows 弄 不用Linux了 ,STM32的都可以编译OK了。 就是这个minimal不行。 我现在打算重点看看 C与micropython交互这块。 现在是V1.10 和V1.9都无法编译minamal 我打算一点点往后腿版本试试 本帖最后由 xlsbz 于 2019-4-28 11:56 编辑
点赞  2019-4-28 11:52
应该是工具链的问题,要慢慢研究一下。

win10下可以用Linux子系统
点赞  2019-4-28 12:57
CC ../../lib/utils/printf.c
CC ../../lib/utils/stdout_helpers.c
CC ../../lib/utils/pyexec.c
CC ../../lib/libc/string0.c
CC ../../lib/mp-readline/readline.c
MISC freezing bytecode
/usr/bin/env: ‘python3’: No such file or directory
Makefile:60: recipe for target 'build/_frozen_mpy.c' failed
mingw32-make: *** [build/_frozen_mpy.c] Error 127
mingw32-make: *** Deleting file 'build/_frozen_mpy.c'
mingw32-make: *** Waiting for unfinished jobs....

/usr/bin/env: 是啥?
点赞  2019-4-28 13:43
引用: dcexpert 发表于 2019-4-28 12:59
https://bbs.eeworld.com.cn/thread-645222-1-1.html

在unix类的操作系统才有意义。
#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器。
#!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。

对的 。是linux与window 差别。 我在鼓捣鼓捣需要改什么
点赞  2019-4-28 13:56
linux子系统在win10下安装简单,就是性能偏低。最好就是用虚拟机,安装一个ubuntu(或衍生版),然后git+gcc-arm-embedded,又快又方便。
点赞  2019-4-28 15:49
开源系统,大部分都是需要linux的,就算不作为主系统,也需要有一定了解,不然迟早会遇到困难。
点赞  2019-4-28 15:50
基于一款好用的 pyb 是一个不错的选择
点赞  2019-4-28 17:23
打算用虚拟机了。说的很对,早晚会遇到困难。长痛不如短痛。
点赞  2019-4-29 07:02
说一下我目前的情况
linux不熟  makefile不熟 window开发stm32很熟
目前在win10下编译micropython,用mingw64,这是msysgit自带的。
我说的micropython是v1.9以后的版本

编译大部分都是可以的,比如stm32下面的所有板卡,bare文件 也可以。不过需要改一下(在编译mpy-cross的时候就发生错误,所以就知道要改了,现在想来在windows下生成.exe文件。而在linux生成没有后缀。所以需要改makefile,比如编译stm32f4disc这个板卡,需要改py下的两个mk文件和stm32下的makefile.)
在用mingw64时候 用mingw32-make.exe 指令不用linux下的make指令。

目前仅仅编译minimal无法成功,因为这个调用了python3编译器,可能是为了生成那个frozen的c文件。linux的python3安装路径是usr/bin/env,但是我在window下py3不是在这个路径下的,所以还得改makefile,但是前面我说了,我makefile不熟。目前不会改。

事实上目前我若不用mingw64还用cygwin的话,是很可能会解决这个问题的,但是也不见得很顺利。
但是从长期看,还是采用nbantu吧
点赞  2019-4-29 07:19
win10子系统unbantu试过那个帖子,试下就知道,不具备可操作性。光是下载软件就无法完成。另外额外插一句,我在mingw64下编译micropython1.5.4的minimal可以完成。但是我没打算用1.5.4这个版本。因为这个版本的py的c源码下用了关于x86 x64还是用的.s文件 而1.8某版本以后都是c文件了。


本群群主说ubantu简单,事实上并不简单。否则也不会有cygwin和mingw  还有msys2了。
但是也可能是因为以前的电脑安装虚拟机性能不行。
目前ubantu的资料最多。所以用这个。

另外我还担心在win10下安装cygwin,会和我的msysgit冲突
点赞  2019-4-29 07:28
引用: zy459994202 发表于 2019-4-28 17:23
基于一款好用的 pyb 是一个不错的选择

pyb有文件系统 usb之类的吧
还是minimal好一点

有串口和led
readme上也推荐用这个。

最终还是在windows上弄。除非我makefile和linux在线调试用的很熟
点赞  2019-4-29 08:03
谢谢分享,不错,真是太棒了!
点赞  2019-4-29 09:03
下午网上下载了 虚拟机  ubantu,照葫芦画瓢,搞了一会,竟然 ubantu 下编译 STM32 还有minimal都成功了!
ubantu网上资料还是比较多的。
界面也比较漂亮。看起来不错!!!
点赞  2019-4-29 20:37
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复