我就想用单片机跑个Python,得用linux虚拟机+交叉编译工具链+命令行编译micropython固件,还得用DfuSe工具烧录固件,烧录完还不能用C的调试器来调试。
我想拓展个自己的C模块,还要学着用一些完全看不懂的宏函数,还得手动注册,还得编写makeFile,编译完照样不能调试C。
我穷,买不起STM32F4,想买个STM32F103C8T6的micropython开发板,淘宝一搜,好像没有。
现在C8T6贵了,我还想用F0,用G0,能行吗?
好像,给G0移植micropython,不是很容易。
那?有没有另一种玩法?
换句话说,我想用Keil开发,用Keil调试,我还想用最便宜的单片机。
这,能玩Python吗?
![output_Kgj52R](https://img-blog.csdnimg.cn/img_convert/f173524737d0510da7a93f1daaa923d8.gif)
要不,试试PikaScript?
啥是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工程。
说了这么多,刘华强就有疑问了,你说这脚本,保熟吗?
![QQ截图20210911174834](https://img-blog.csdnimg.cn/img_convert/83fa062b1eb31738a87f47d079529845.png)
我这开水果脚本摊儿的,能买你生脚本蛋子?
这就挑点儿Demo给哥儿几个瞧瞧。
这可都是STM32G070RBT6的Demo。
Demo 01 万物起源点个灯
![mmexport1631351506111](https://img-blog.csdnimg.cn/img_convert/93aa64cbd8b6c113644441996b5119c8.png)
看看这脚本,可都是如假包换的Python3标准语法。
这灯不就闪起来了吗。
![Hnet-image (2)](https://img-blog.csdnimg.cn/img_convert/ba87036d9bab5789b9ee10bbcd1a0f85.gif)
Demo 02 串口测试
![mmexport1631351902469](https://img-blog.csdnimg.cn/img_convert/586f5bd99486a66668bbca486765a2df.png)
开个串口,读俩字符试试
![Hnet-image (3)](https://img-blog.csdnimg.cn/img_convert/ded418287d9a5cb5e3fa34972a355824.gif)
非常顺滑
Demo 03 读个ADC试试
![mmexport1631351527609](https://img-blog.csdnimg.cn/img_convert/e5b710ee3c38e2512db305daf9779ef8.png)
同样几行脚本搞定。
![mmexport1631351523907](https://img-blog.csdnimg.cn/img_convert/9003d828226ead59d532b58e605021b4.png)
这是输出的结果。
这几个Demo占用的RAM最大值只有3.56K,把1K的堆栈也算上就是4.56K,Flash最大占用是30.4K,以STM32F103C8T6的20K RAM和64K Flash为标准,RAM才用掉不到25%,Flash才用掉不到50%,简直是资源多到不知道咋霍霍。
同样跑Python,我们可以简单对比一下micropython的常用芯片STM32F405RG和这次跑PikaScript的芯片STM32G070CB
RAM资源对比
![image](https://img-blog.csdnimg.cn/img_convert/c85edd35de83c7b41e05337a44ef45db.png)
Flash资源对比
![image](https://img-blog.csdnimg.cn/img_convert/c9c00eb4f1edc1293b254071c959bc66.png)
参考价对比(以2021年9月11日立创商城10片售价为参考)
![image](https://img-blog.csdnimg.cn/img_convert/c511dbe0f8c633efd3e29a0768ba5381.png)
拓展能力如何呢?
除了设备驱动之外,为mcu开发自定义的python脚本绑定在pikascript的开发框架下非常轻松,下面两个Demo就是自定义的C模块拓展,这个Demo基于ARM-2D图像驱动库开发了一些python脚本接口。
几个小方块~
![Hnet-image (7)](https://img-blog.csdnimg.cn/img_convert/31a64e131eeee8653f103f0549fe1b4e.gif)
几个旋转太阳~
![Hnet-image (6)](https://img-blog.csdnimg.cn/img_convert/5bfd46f2992aaa6442ed7afd1229e41e.gif)
那,PikaScript是开源的吗?
当然,这个就是PikaScript的github主页: https://github.com/pikasTech/pikascript
开发难不难?
PikaScript为开发者准备了丰富的Demo和由浅入深的开发指南,指南还会持续完善和维护。 ![image](https://img-blog.csdnimg.cn/img_convert/c94076046b822365c50100e3ac246493.png)
可以商用吗?
当然!PikaScript采用MIT协议,允许修改和商用,但是要注意保留原作者的署名。
结语
本篇主要内容到此结束,想要继续了解PikaScript,可以看看往期文章~
都看到这了,还不去github主页逛逛嘛? ![image](https://img-blog.csdnimg.cn/img_convert/60d2989c5d20bf6235b9c934d2fe2454.png)
加入微信交流群获得更多技术支持,以及和群里的大佬吹水~ ![image](https://img-blog.csdnimg.cn/img_convert/1c022d62d85836928127addce15be155.png) 如果群满了可以加我qq:645275593拉你进
|