2021-09-06 11:54:28 +08:00
|
|
|
|
![775355418493305033](https://user-images.githubusercontent.com/88232613/132158500-f0818be9-29b2-48a1-b1e8-3216c3b686b0.jpg)
|
|
|
|
|
|
2021-09-06 12:01:01 +08:00
|
|
|
|
# [点击获取PikaScript v0.7.0](https://github.com/mimilib/pikascript/releases/download/v0.7.0/pikascript.v0.7.0.zip)
|
|
|
|
|
|
2021-09-06 11:54:42 +08:00
|
|
|
|
# 1.简介
|
|
|
|
|
|
2021-09-07 08:56:53 +08:00
|
|
|
|
PikaScript可以为***资源受限***的mcu提供极易***部署***和***拓展***的Python脚本支持。
|
2021-08-02 14:03:52 +08:00
|
|
|
|
|
2021-09-07 08:55:06 +08:00
|
|
|
|
### (1)运行环境
|
2021-09-07 08:54:06 +08:00
|
|
|
|
|
2021-09-07 08:57:43 +08:00
|
|
|
|
支持裸机运行,可运行于 ***RAM ≥ 4kB*** ,***FLASH ≥ 32kB*** 的mcu中,如stm32g030, stm32f103c8t6,esp8266。
|
2021-08-26 16:28:09 +08:00
|
|
|
|
|
2021-09-07 08:54:06 +08:00
|
|
|
|
栈空间少量占用,内存信息可观测。
|
|
|
|
|
|
2021-09-07 08:55:06 +08:00
|
|
|
|
### (2)开发环境
|
2021-09-07 08:54:06 +08:00
|
|
|
|
|
2021-09-06 22:48:51 +08:00
|
|
|
|
支持Keil、IAR、rt-thread studio、segger embedded studio等IDE开发。
|
|
|
|
|
|
|
|
|
|
支持CMake、makeFile、Scons等构建工具
|
2021-09-06 20:22:17 +08:00
|
|
|
|
|
2021-09-06 20:29:42 +08:00
|
|
|
|
零依赖,零配置,开箱即用,极易集成进已有的C工程。
|
2021-09-06 20:26:35 +08:00
|
|
|
|
|
2021-09-06 20:25:49 +08:00
|
|
|
|
极易拓展自定义的C原生函数。
|
|
|
|
|
|
2021-09-07 08:54:06 +08:00
|
|
|
|
支持跨平台,可在linux环境开发内核。
|
|
|
|
|
|
2021-09-07 08:55:06 +08:00
|
|
|
|
### (3)语法特性
|
2021-09-07 08:54:06 +08:00
|
|
|
|
|
2021-08-27 10:15:35 +08:00
|
|
|
|
使用python3标准语法的子集。
|
|
|
|
|
|
2021-09-03 14:41:54 +08:00
|
|
|
|
在编译时支持python类和方法定义(基于[Pika预编译器](../../tree/master/pikascript-compiler-rust))。
|
2021-08-27 10:11:19 +08:00
|
|
|
|
|
2021-09-06 20:31:27 +08:00
|
|
|
|
在运行时支持python方法调用、变量定义、对象构造、对象释放、控制流(if\while) (基于[Pika运行时内核](../../tree/master/src/package/pikascript/pikascript-core))。
|
2021-08-09 09:45:59 +08:00
|
|
|
|
|
2021-09-07 08:55:06 +08:00
|
|
|
|
### (4)源码规范
|
2021-08-02 14:03:52 +08:00
|
|
|
|
|
2021-09-06 20:32:46 +08:00
|
|
|
|
注重源码可读性,命名规范,标准统一,完全不使用宏,几乎不使用全局变量。
|
2021-08-05 13:54:12 +08:00
|
|
|
|
|
2021-08-26 16:28:09 +08:00
|
|
|
|
完整的googletest单元测试。
|
2021-08-05 13:54:12 +08:00
|
|
|
|
|
2021-09-07 08:55:06 +08:00
|
|
|
|
### (5)stm32例程
|
2021-09-07 08:55:28 +08:00
|
|
|
|
|
2021-09-03 14:43:40 +08:00
|
|
|
|
[pikascript-stm32-demo](../../tree/master/demo)
|
|
|
|
|
|
2021-09-07 08:55:06 +08:00
|
|
|
|
### (6)开发手册
|
2021-09-07 08:55:28 +08:00
|
|
|
|
|
2021-08-26 21:27:02 +08:00
|
|
|
|
[1. PikaScript-三分钟快速上手](doc/1.三分钟快速上手.md)
|
|
|
|
|
|
2021-08-30 10:36:57 +08:00
|
|
|
|
[2. PikaScript-架构与原理](https://mp.weixin.qq.com/s?__biz=MzU4NzUzMDc1OA==&mid=2247484127&idx=1&sn=f66cff49c488e48c52570c7bb570328f&chksm=fdebd5b6ca9c5ca0707fd221c32f3ad63e94aeb6f917a92774b89ea042381ea261990f5cca3c&token=2045971639&lang=zh_CN#rd)
|
2021-08-27 16:29:51 +08:00
|
|
|
|
|
2021-08-30 10:36:57 +08:00
|
|
|
|
[3. PikaScript-十分钟快速部署](doc/2.十分钟快速部署.md)
|
2021-08-30 10:36:07 +08:00
|
|
|
|
|
|
|
|
|
[4. PikaScript-标准开发流程](doc/3.PikaScript标准开发流程.md)
|
2021-08-26 16:28:27 +08:00
|
|
|
|
|
2021-09-07 08:55:06 +08:00
|
|
|
|
### (7)架构示意图
|
2021-09-03 14:44:00 +08:00
|
|
|
|
![K9C)%CZO)X`8VFBKCE8(9@W](https://user-images.githubusercontent.com/88232613/127806449-b476b2fd-9f40-4c53-94a0-e1e965c046c3.png)
|
|
|
|
|
|
2021-08-19 08:28:03 +08:00
|
|
|
|
# 2.stm32教程视频
|
2021-08-05 14:13:23 +08:00
|
|
|
|
|
2021-08-26 16:19:19 +08:00
|
|
|
|
[手把手PikaScript教程合集](https://www.bilibili.com/video/BV1mg411L72e)
|
2021-08-11 16:00:08 +08:00
|
|
|
|
|
2021-08-30 10:36:07 +08:00
|
|
|
|
# 3.交流与技术支持:
|
2021-08-05 14:20:07 +08:00
|
|
|
|
|
2021-08-05 15:06:52 +08:00
|
|
|
|
## 微信交流群
|
2021-09-03 15:24:55 +08:00
|
|
|
|
![image](https://user-images.githubusercontent.com/88232613/131966892-59d89b0c-8068-488a-9015-f1002fa18505.png)
|
2021-08-05 14:23:22 +08:00
|
|
|
|
|
2021-08-05 15:06:52 +08:00
|
|
|
|
## 官方公众号
|
2021-08-05 14:23:22 +08:00
|
|
|
|
![image](https://user-images.githubusercontent.com/88232613/128301451-f0cdecea-6457-4925-b084-42e7796a856e.png)
|
|
|
|
|
|
2021-08-30 10:36:07 +08:00
|
|
|
|
## Tencent QQ: 645275593
|
|
|
|
|
|
|
|
|
|
## E-mail: 645275593@qq.com
|
|
|
|
|
|
2021-08-05 14:25:01 +08:00
|
|
|
|
# 4.内核测试与开发
|
2021-08-05 14:23:22 +08:00
|
|
|
|
|
2021-08-20 18:37:17 +08:00
|
|
|
|
## linux下测试pikascript内核(推荐ubuntu20.04):
|
2021-08-03 22:47:42 +08:00
|
|
|
|
|
|
|
|
|
step1: 拉取项目
|
|
|
|
|
``` shell
|
2021-08-20 18:36:10 +08:00
|
|
|
|
git clone https://github.com/mimilib/pikascript
|
2021-08-26 16:24:28 +08:00
|
|
|
|
cd pikascript
|
2021-08-03 22:47:42 +08:00
|
|
|
|
```
|
|
|
|
|
|
2021-08-26 16:23:12 +08:00
|
|
|
|
step2: 编译项目
|
2021-08-03 22:47:42 +08:00
|
|
|
|
```
|
|
|
|
|
sh init.sh # 第一次编译前运行,之后就不用运行了
|
|
|
|
|
sh make.sh # 编译项目
|
|
|
|
|
```
|
|
|
|
|
|
2021-08-26 16:23:12 +08:00
|
|
|
|
step3: 运行单元测试
|
2021-08-03 22:47:42 +08:00
|
|
|
|
``` shell
|
2021-08-26 16:23:12 +08:00
|
|
|
|
sh test
|
2021-08-03 22:47:42 +08:00
|
|
|
|
```
|
2021-08-04 18:48:26 +08:00
|
|
|
|
|
2021-08-26 16:23:12 +08:00
|
|
|
|
step4: 运行基准测试
|
|
|
|
|
``` shell
|
|
|
|
|
sh test-banchmark
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
step5: 运行demo
|
|
|
|
|
``` shell
|
|
|
|
|
./build/src/boot/demo06-pikamain/pikascript_demo06-pikamain
|
2021-08-26 16:24:03 +08:00
|
|
|
|
```
|
2021-08-26 16:23:12 +08:00
|
|
|
|
|