9426|9

111

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

Zerynth快速启动教程 [复制链接]

 
作为一款采用双许可证的嵌入式Python,ZerynthKickstarter上进行过众筹,虽然影响力不如micropython,却也有学习的必要。开发者可以自行选用合适的平台。Zerynth的服务器在境外,支持起来有一天周期,这里先将快速启动教程介绍一下。 依赖性 Zerynth依赖于64bit OS,包括Windows 7/8/10/Linux,也支持虚拟机中的64bit OS。所以太旧的机型无法运行。我本人使用的是Windows 10 + VirtualBox + Ubuntu 15.04。 其次,请下载Zerynth的安装软件Zerynth_installer,网址: http://www.zerynth.com/zerynth-studio/ 第三,如果手头有STM32F401 NUCLEO,可以直接用Zerynth。Zerynth开发板还支持一款STM32F103的开发板,所以理论上可以支持STM32F103RB。但是还未测试。 软件下载 该安装软件安装时,会同时更新自己的所有软件包。如果下载有困难的同学,可以在我的百度盘中寻找: 网址:http://pan.baidu.com/s/1nvdHhmL 密码:hart 路径:《从芯片到云端》| source_code | extra_download | zerynth_installer.exe 或 ubuntu15_viper_zerynth.tar.xz Ubuntu15文件是VirtualBox的虚机文件,密码reverse,当然用户也可以自行下载Linux版本安装。 运行Zerynth Studio 使用Zerynth Studio首先需要创建一个账号,点击右上角的用户图标,填写您的电邮与用户名,注册一个新账号。在下一次使用Studio时,它会后台自动登录Zerynth的云服务器。该账号主要用于同步本地与服务器端的工程,社区的登入,自动接收软件更新,或者推送工程到社区中与开发者共享。所以,Zerynth Studio借鉴了不少社交编程的概念,它的社群软件库增长速度很快。 本文所有GIF都可以下载、方法观看。 运行Zerynth样例 使用过Git/Github的用户对于Clone这个词不会陌生。Zerynth内置Git的支持。 Zerynth IDE包括了多个样例,此外还可以通过Zerynth Package Manager(ZPM)安装软件库。Zerynth样例是只读的,无法编辑。所以必须采用Clone方法产生工作区文件进行修改。具体方法是:
  • 点击Zerynth IDE的左侧工具条的Example浏览器中“小灯泡”图标;
  • 在搜索栏中选择合适的例子,如“Oscilloscope”;
  • 选中样例;
  • 点击Clone按钮。
  • Zerynth不支持重名,此时你可以修改标题、描述和标签。
  • 再次点击Clone按钮。
连接开发板硬件 任何MCU要支持Zerynth,必须经过“Virtualization”过程,即虚拟化过程。本质上,是Zerynth Python虚拟机烧录到MCU中的过程。启动后,Zerynth IDE启动一个Python本地服务器,控制连接的外围设备,并在开发板管理工具条中显示可用的开发板。Zerynth目前支持有限的几种开发板。不过覆盖率不影响我们的评估。目前支持的有:
品牌 器件 产品族 开发板
STM STM32F103 M3 Particle Core
STM STM32F205 M3 Particle Photon
STM STM32F401 M4 ST Nucleo
STM STM32F205 M3 BCM943362
STM STM32F427 M4 MicroE
Atmel SAM3X8 M3 Aduino DUE
Atmel SAM3X8 M3 UDOO
Atmel SAM3X8 M3 MicroE
所有,我们不要关心开发板,我们关心的是开发板上MCU。STM32家族中103/205/401/427已经得到了支持。插入开发板后,首先需要安装开发板驱动,USB驱动。 安装驱动后,不同的开发板的固件下载方法不同,包括JTAG/SWD/DFU/ISP等,需要根据不同的MCU来规划。以STM32F401 NUCLEO开发板为例,NUCLEO板载ST-LINK,可以使用SWD方式下载。 连接开发板后,不同的开发板可以本地进行重新命名,编辑开发板的信息。也可以查看对应开发板的Pinout布局。 Verify和Uplink过程 Connect,Virtualize,Clone之后,还必须经过Verify和Uplink过程。左上角的工具条中按钮,包括Verify、Clean、Uplink按钮。其中Verify是将Python源码编译成字节码(Bytecode)的过程。而Uplink过程比较复杂,除了下载Bytecode,还需要将C语言中的标准库和底层硬件库使用到的符号表进行交换。Python脚本编译成字节码,并由Virtualization过程中下载的VM对字节码进行解释运行。整个过程与标准CPython一致。除此之外,Zerynth还支持与C语言的混合编程。这一点迎合了嵌入式系统的需求。 以STM32F401 NUCLEO为例,Verify过程是通过板子SWD下载VM固件,而Uplink则往往会出问题,导致失败。需要使用ST-LINK的最新固件刷新板载SWD Probe。请去官网下载STSW-LINK007。 创建新工程
  • 点击“Browse Project”;
  • 点击“New Project”;
  • 确定标题Title和描述Description;
  • 添加标签Tag;
  • 点击“Create”按钮。
按下“Create”按钮之后,系统会新建main.py,作为主要的脚本,是用户新工程的起点。此外,还可以添加其他资源文件,包括HTML、JSON、TEXT、Bin文件等。这些资源文件可以保存在内部Flash ROM中,main.py可以访问这些资源文件。 添加资源文件
  • 点击“Current Project”;
  • 点击“Add file to project”;
  • 重命名文件后,点击“Create”;
  • 填充代码。
访问其他模块和资源文件 访问其他模块中的方法:比如helper.py模块中的myfunc()方法,需要在main.py中使用:
  1. import helper

    helper.myfunc(*,**)

复制代码
访问其他资源文件,需要在main.py中使用:
  1. new_resource(“template.html”)
复制代码
软件管理包(ZPM) 与CPython基于pypi进行软件包管理略有不同,Zerynth的模块化设计使用ZPM对与模块和库进行统一管理,可以安装、升级、移除和降级。在左侧工具条中的拼图图标可以激活ZPM,并使用一组图标(Search,Most Starred,Most downloaded,Most Recent,installed,with updates,All)分组访问大量的模块和库。其中VHAL支持STM32F1/F2/F4。 Zerynth内置官方软件库(Official Libraries)和社区(Community Libraries)软件库。接下来,我会测试一下标准库,以及与其他嵌入式Python的区别。

最新回复

厉害,顶一个  详情 回复 发表于 2016-11-9 13:54

赞赏

3

查看全部赞赏

点赞 关注(1)
 

回复
举报

1万

帖子

25

TA的资源

版主

沙发
 
终于等到教程了。

 
 

回复

1万

帖子

25

TA的资源

版主

板凳
 
虽然只写了支持STM32F401,但是在Nucleo-F411上也成功运行。
 
 
 

回复

3416

帖子

0

TA的资源

纯净的硅(高级)

4
 
好牛b的教程,加分
个人签名

So TM what......?

 

 
 

回复

655

帖子

30

TA的资源

版主

5
 
牛!
个人签名QQ:252669569
 
 
 

回复

95

帖子

0

TA的资源

一粒金砂(中级)

6
 
顶顶顶,这个ide不错!
 
 
 

回复

2774

帖子

8

TA的资源

版主

7
 
来受教了!不错!
 
 
 

回复

1158

帖子

2

TA的资源

版主

8
 
想知道它这种开发方式支持调试吗
 
 
 

回复

42

帖子

0

TA的资源

一粒金砂(初级)

9
 
太好了,刚刚好需要这样的
个人签名众一电路专业pcb线路板打样,小批量生产 热线:18502007844 qq:1754184132 官网:http://www.zyidl.com/c
 
 
 

回复

44

帖子

0

TA的资源

一粒金砂(中级)

10
 
厉害,顶一个
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表