2021-09-11 17:08:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
我就想用单片机跑个Python,得用linux虚拟机+交叉编译工具链+命令行编译micropython固件,还得用DfuSe工具烧录固件,烧录完还不能用C的调试器来调试。
|
|
|
|
|
|
|
|
|
|
我想拓展个自己的C模块,还要学着用一些完全看不懂的宏函数,还得手动注册,还得编写makeFile,编译完照样不能调试C。
|
|
|
|
|
|
|
|
|
|
我穷,买不起STM32F4,想买个STM32F103C8T6的micropython开发板,淘宝一搜,好像没有。
|
|
|
|
|
|
2021-09-11 17:28:51 +08:00
|
|
|
|
现在C8T6贵了,我还想用F0,用G0,能行吗?
|
|
|
|
|
|
|
|
|
|
好像,给G0移植micropython,不是很容易。
|
2021-09-11 17:08:13 +08:00
|
|
|
|
|
|
|
|
|
那?有没有另一种玩法?
|
|
|
|
|
|
2021-09-11 17:29:50 +08:00
|
|
|
|
换句话说,我想用Keil开发,用Keil调试,我还想用最便宜的单片机。
|
|
|
|
|
|
|
|
|
|
这,能玩Python吗?
|
2021-09-11 17:08:13 +08:00
|
|
|
|
|
2021-09-11 16:35:48 +08:00
|
|
|
|
![output_Kgj52R](https://user-images.githubusercontent.com/88232613/132941900-985ebc9e-fb65-48f6-8677-d3ebc65422ee.gif)
|
2021-09-11 17:08:13 +08:00
|
|
|
|
|
2021-09-11 17:27:44 +08:00
|
|
|
|
要不,试试PikaScript?
|
|
|
|
|
|
2021-09-11 17:41:14 +08:00
|
|
|
|
啥是PikaScript?
|
|
|
|
|
|
|
|
|
|
PikaScript可以为资源受限的mcu提供极易部署和拓展的Python脚本支持。
|
|
|
|
|
|
|
|
|
|
PikaScript支持裸机运行,最低可运行于 RAM ≥ 4kB ,FLASH ≥ 32kB 的mcu中,推荐配置为 RAM ≥ 10kB, FLASH ≥ 64kB,像是stm32f103c8t6、stm32g070RBT6这些完全没有压力,甚至已经满足了推荐配置。
|
|
|
|
|
|
|
|
|
|
而且支持Keil、IAR、rt-thread studio、segger embedded studio等IDE开发,零依赖,零配置,开箱即用,极易集成进已有的C工程。
|
|
|
|
|
|
|
|
|
|
说了这么多,刘华强就有疑问了,你说这脚本,保熟吗?
|
|
|
|
|
|
2021-09-11 17:49:11 +08:00
|
|
|
|
![QQ截图20210911174834](https://user-images.githubusercontent.com/88232613/132943877-81031a9a-d152-4143-9cad-96db61e9b000.png)
|
2021-09-11 17:41:14 +08:00
|
|
|
|
|
2021-09-11 17:44:23 +08:00
|
|
|
|
我这开~~水果~~脚本摊儿的,能买你生脚本蛋子?
|
|
|
|
|
|
2021-09-11 18:03:03 +08:00
|
|
|
|
这就挑点儿Demo给哥儿几个瞧瞧。
|
2021-09-11 17:44:23 +08:00
|
|
|
|
|
2021-09-11 17:52:49 +08:00
|
|
|
|
这可都是STM32G070RBT6的Demo。
|
|
|
|
|
|
|
|
|
|
## Demo 01 万物起源点个灯
|
|
|
|
|
|
|
|
|
|
![mmexport1631351506111](https://user-images.githubusercontent.com/88232613/132943903-b3558929-a107-4a99-bdc4-1b3fd3f7172b.png)
|
|
|
|
|
|
2021-09-11 18:03:03 +08:00
|
|
|
|
看看这脚本,可都是如假包换的Python3标准语法。
|
2021-09-11 17:52:49 +08:00
|
|
|
|
|
|
|
|
|
这灯不就闪起来了吗。
|
|
|
|
|
|
2021-09-11 17:34:07 +08:00
|
|
|
|
![Hnet-image (2)](https://user-images.githubusercontent.com/88232613/132943428-f2b365ca-140e-42f4-936c-db6a7d9f8dee.gif)
|
2021-09-11 17:27:44 +08:00
|
|
|
|
|
2021-09-11 18:03:03 +08:00
|
|
|
|
## Demo 02 串口测试
|
|
|
|
|
|
|
|
|
|
![mmexport1631351902469](https://user-images.githubusercontent.com/88232613/132944132-90898355-de94-4d81-990b-7b85d4a4d08a.png)
|
|
|
|
|
|
2021-09-11 18:03:39 +08:00
|
|
|
|
开个串口,读俩字符试试
|
2021-09-11 17:52:49 +08:00
|
|
|
|
|
2021-09-11 17:33:39 +08:00
|
|
|
|
![Hnet-image (3)](https://user-images.githubusercontent.com/88232613/132943365-0f7059b3-4f9d-4989-a5ec-2cce72b0cc96.gif)
|
2021-09-11 17:27:44 +08:00
|
|
|
|
|
2021-09-11 18:03:03 +08:00
|
|
|
|
非常顺滑
|
|
|
|
|
|
|
|
|
|
## Demo 03 读个ADC试试
|
|
|
|
|
|
|
|
|
|
![mmexport1631351527609](https://user-images.githubusercontent.com/88232613/132944180-a805c8f8-40d5-45ff-ae2a-a0fe8f9db1ab.png)
|
|
|
|
|
|
|
|
|
|
同样几行脚本搞定。
|
|
|
|
|
|
|
|
|
|
![mmexport1631351523907](https://user-images.githubusercontent.com/88232613/132944185-0a01b1ba-8cf7-4f9f-9d73-fe9cbcd52f0b.png)
|
|
|
|
|
|
|
|
|
|
这是输出的结果。
|
2021-09-11 18:07:16 +08:00
|
|
|
|
|
2021-09-11 18:10:41 +08:00
|
|
|
|
这几个Demo占用的RAM最大值只有3.56K,把1K的堆栈也算上就是4.56K,Flash最大占用是30.4K,以STM32F103C8T6的20K RAM和64K Flash为标准,RAM才用掉不到25%,Flash才用掉不到50%,简直是资源多到不知道咋霍霍。
|
|
|
|
|
|
2021-09-11 18:26:27 +08:00
|
|
|
|
同样跑Python,我们可以简单对比一下micropython的常用芯片STM32F405RG和这次跑PikaScript的芯片STM32G070CB
|
|
|
|
|
|
|
|
|
|
## RAM资源对比
|
|
|
|
|
![image](https://user-images.githubusercontent.com/88232613/132944731-a55ece1d-061f-4b91-ba87-bd6547be96a7.png)
|
|
|
|
|
|
|
|
|
|
## Flash资源对比
|
|
|
|
|
![image](https://user-images.githubusercontent.com/88232613/132944745-e9cf598d-e75f-40bb-873e-911819d535b7.png)
|
|
|
|
|
|
|
|
|
|
## 参考价对比(以2021年9月11日立创商城10片售价为参考)
|
|
|
|
|
![image](https://user-images.githubusercontent.com/88232613/132944757-2b5cfda8-f93f-4456-8d7f-4e4767954056.png)
|
2021-09-11 18:10:41 +08:00
|
|
|
|
|
2021-09-11 18:49:09 +08:00
|
|
|
|
## 拓展能力如何呢?
|
|
|
|
|
|
|
|
|
|
除了设备驱动之外,为mcu开发自定义的python脚本绑定在pikascript的开发框架下非常轻松,下面两个Demo就是自定义的C模块拓展,这个Demo基于ARM-2D图像驱动库开发了一些python脚本接口。
|
|
|
|
|
|
|
|
|
|
## 几个小方块~
|
|
|
|
|
![Hnet-image (7)](https://user-images.githubusercontent.com/88232613/132945282-bfd310df-8063-456d-b90c-6b798a2c8ed5.gif)
|
|
|
|
|
|
|
|
|
|
## 几个旋转太阳~
|
|
|
|
|
![Hnet-image (6)](https://user-images.githubusercontent.com/88232613/132945107-e473a2cc-9fbc-47f9-aaed-a28d3ad1048c.gif)
|
|
|
|
|
|
2021-09-11 18:55:17 +08:00
|
|
|
|
## 那,PikaScript是开源的吗?
|
|
|
|
|
当然,这个就是PikaScript的github主页:
|
|
|
|
|
https://github.com/pikasTech/pikascript
|
2021-09-11 18:10:41 +08:00
|
|
|
|
|
2021-09-11 18:55:17 +08:00
|
|
|
|
## 开发难不难?
|
|
|
|
|
PikaScript为开发者准备了丰富的Demo和由浅入深的开发指南,指南还会持续完善和维护。
|
|
|
|
|
![image](https://user-images.githubusercontent.com/88232613/132945342-6ace05aa-50c4-4533-9129-ef131cd9fc1d.png)
|
|
|
|
|
|
|
|
|
|
## 可以商用吗?
|
|
|
|
|
当然!PikaScript采用MIT协议,允许修改和商用,但是要注意保留原作者的署名。
|
|
|
|
|
|
2021-09-11 18:57:59 +08:00
|
|
|
|
## 结语
|
|
|
|
|
本篇主要内容到此结束,想要继续了解PikaScript,可以看看往期文章~
|
|
|
|
|
|
2021-09-11 18:55:17 +08:00
|
|
|
|
都看到这了,还不去github主页逛逛嘛?
|
|
|
|
|
![image](https://user-images.githubusercontent.com/88232613/132945415-4fb38ee9-1028-44a5-9348-955a54175c85.png)
|
|
|
|
|
|
|
|
|
|
加入微信交流群获得更多技术支持,以及和群里的大佬吹水~
|
|
|
|
|
![image](https://user-images.githubusercontent.com/88232613/132945424-95ac119b-3f78-4def-8cad-8917866c5e13.png)
|