首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >micropython和sys.implementation- -在肖SAMD21和肖RP2040上的不同

micropython和sys.implementation- -在肖SAMD21和肖RP2040上的不同
EN

Stack Overflow用户
提问于 2022-03-03 00:20:58
回答 1查看 88关注 0票数 1

我在使用1.18版本的种子肖(SAMD21)上使用micropython,并希望使用“已编译的”库(.mpy)来节省空间。我在第5版中遇到了麻烦,这对我来说很好。我也希望有浮点,所以我用这个选项构建了一个新的micropython --从最新的(20220302) github版本开始--并注意到mpy-cross已经更新到版本6。我想我会检查使用了哪些版本的.mpy,而micropython文档建议了一些代码来检查使用sys.implementation对象的.mpy版本。我注意到了各种sys.implementation实现。

micropython 20220117发布的版本1.18- -在SAMD21上给出了以下结果:

代码语言:javascript
复制
MicroPython v1.18 on 2022-01-17; Seeed Xiao with SAMD21G18A
Type "help()" for more information.
>>> import sys
>>> sys.implementation
('micropython', (1, 18, 0))
>>> type(sys.implementation)
<class 'tuple'>
>>> 

这返回了一个包含两个项的元组--名称和带有版本信息的元组。但是没有关于mpy版本的信息。

然后,我为RP2040 NANO尝试了发布的1.18版本(并在我的肖RP2040上运行):

代码语言:javascript
复制
MPY: soft reboot
MicroPython v1.18 on 2022-01-17; Raspberry Pi Pico with RP2040
Type "help()" for more information.
>>> import sys
>>> sys.implementation
(name='micropython', version=(1, 18, 0), mpy=5637)
>>> type(sys.implementation)
<class 'tuple'>
>>> 

这里返回的结果是元组,包含3个属性-命名属性-和一个mpy版本(5637 & 0xff = 5)。然后,我使用#define MICROPY_PERSISTENT_CODE_LOAD (1)选项重新编译了micropython,以尝试并匹配RP2040输出:

代码语言:javascript
复制
MPY: soft reboot
MicroPython v1.18-169-g665f0e2a6-dirty on 2022-03-02; Seeed Xiao with SAMD21G18A
Type "help()" for more information.
>>> import sys
>>> sys.implementation
('micropython', (1, 18, 0), 6)
>>> type(sys.implementation)
<class 'tuple'>
>>> 

现在,mpy版本(6)返回带有3项的元组,但不返回命名元组,并且没有mpy版本的额外数据。

我的问题是,如何在我的肖SAMD2实现中获得一致的结果?我应该包括还是排除哪个选项?还是我不应该担心?我正在研究是切换到Python,还是继续使用C(++),因为这个小处理器倾向于C(++)。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-27 18:05:12

如果您想使用预编译/字节码.mpy文件,那么您将需要决定使用字节码或编译为您的mcu平台的本机代码。

对于字节码,您需要分发一个与运行时固件1.12-1.18 == 5匹配的字节码版本,下一个版本将增加。

对于本机代码,您需要为要支持的每个平台分发版本。esp32c3不能运行stm32本机代码,反之亦然。

另外,不同的端口/板在一些stdlib API中确实会有差异。您的代码必须足够健壮,以处理这些差异。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71330735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档