micropython 的前身 pymite

开源项目介绍、探讨
回复
头像
shaoziyang
帖子: 1873
注册时间: 2019年 10月 21日 13:48

micropython 的前身 pymite

#1

帖子 shaoziyang » 2019年 12月 1日 15:51

在MicroPython发布之前,就有一个在单片机上运行python的开源项目:pymite,是一个python-on-a-chip系统。它看成是micropython的前身,虽然两者并没有直接的关系。


最初的pymite是设计在8位的AVR单片机上运行,后来也逐步增加了多种硬件平台,支持stm32、pic24、at91等多种架构。

pymite在使用上,和micropython有较大区别,它是将py文件和C程序一起编译,将py文件嵌入到整个程序中。

图片


一个pymite项目的程序结构是:
  • main.py        
  • main.c         
  • Makefile      
  • plat.h         
  • plat.c         
  • pmfeatures.py  
  • README         
  • SConscript     
比较可惜的是,pymite目前已经停止开发,很久也没有更新。代码托管在google code上,而google code一直也不太顺利,说不定哪天就关闭了。 此外,在github上有几个网友导入的pymite项目,但是也很长时间没有更新了。 PyMite for ARM mbed  

oyster
帖子: 61
注册时间: 2021年 3月 2日 20:06

Re: micropython 的前身 pymite

#2

帖子 oyster » 2021年 3月 2日 23:14

“pymite……将py文件和C程序一起编译,将py文件嵌入到整个程序中”,这个不错,用户程序不容易泄露

顺便问,除了做成mpy,有没有手段,保护自己upython项目的代码?或者,upython是不是不适合于做闭源的商业项目?

头像
shaoziyang
帖子: 1873
注册时间: 2019年 10月 21日 13:48

Re: micropython 的前身 pymite

#3

帖子 shaoziyang » 2021年 3月 3日 08:37

oyster 写了:
2021年 3月 2日 23:14
“pymite……将py文件和C程序一起编译,将py文件嵌入到整个程序中”,这个不错,用户程序不容易泄露

顺便问,除了做成mpy,有没有手段,保护自己upython项目的代码?或者,upython是不是不适合于做闭源的商业项目?

 
还可以冻结到固件中。micropython已经有不少闭源商业应用了。

oyster
帖子: 61
注册时间: 2021年 3月 2日 20:06

Re: micropython 的前身 pymite

#4

帖子 oyster » 2021年 3月 3日 11:21

哦?哪里可以找到把py冻结到固件中的文档呢?哪里可以看到闭源商业应用的介绍呢?

头像
shaoziyang
帖子: 1873
注册时间: 2019年 10月 21日 13:48

Re: micropython 的前身 pymite

#5

帖子 shaoziyang » 2021年 3月 3日 14:49

闭源应用一般是没有说明的,只是看国外论坛有人说。

头像
shaoziyang
帖子: 1873
注册时间: 2019年 10月 21日 13:48

Re: micropython 的前身 pymite

#6

帖子 shaoziyang » 2021年 3月 3日 14:50

冻结py程序方法,可以参考这篇:

https://learn.adafruit.com/micropython- ... en-modules

oyster
帖子: 61
注册时间: 2021年 3月 2日 20:06

Re: micropython 的前身 pymite

#7

帖子 oyster » 2021年 3月 31日 10:31

不知冻结到固件中,板子在每次启动的时候
1. 是直接运行固件中的main.py呢,
2. 还是说,被冻结的部分成为mpy的一个模块,需要import后运行?

如果做成成品,自然是希望
1. 开机后就运行该设备应有的功能。不让用户再去选某个脚本、然后运行
2. 开机后,不给用户跳出控制程序的能力,不允许回到REPL下

如果做成商品,除了以上
1. 源程序加密
2. 便于升级

头像
shaoziyang
帖子: 1873
注册时间: 2019年 10月 21日 13:48

Re: micropython 的前身 pymite

#8

帖子 shaoziyang » 2021年 3月 31日 10:59

上电后的启动顺序:

boot.py -> main.py

如果在boot.py中指定了用户主程序,就会启动用户程序而不是main.py。

因此只要设定好主程序,上电就会自动运行,而不是到REPL。

回复

  • 随机主题
    回复总数
    阅读次数
    最新文章