# pikascript **Repository Path**: firecreaming/pikascript ## Basic Information - **Project Name**: pikascript - **Description**: PikaScript是一个完全重写的超轻量级python引擎,零依赖,零配置,可以在少于4KB的RAM下运行(如stm32g030c8和stm32f103c8),极易部署和扩展 - **Primary Language**: C - **License**: MIT - **Default Branch**: master - **Homepage**: https://github.com/pikasTech/pikascript - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 235 - **Created**: 2021-12-02 - **Last Updated**: 2021-12-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

# 获取PikaScript:
## 使用Pika包管理器[PikaPackage.exe](../../raw/master/tools/pikaPackageManager/pikaPackage.exe)
1. 直接运行[PikaPackage.exe](../../raw/master/tools/pikaPackageManager/pikaPackage.exe), 自动下载并更新pikaScript主仓库(文件在当前磁盘的/tmp/pikaScript文件夹)
2. 将[requestment.txt](/bsp/stm32g030c8/pikascript/requestment.txt)放在[PikaPackage.exe](../../raw/master/tools/pikaPackageManager/pikaPackage.exe)同一文件夹下, 运行[pikaPackage.exe](../../raw/master/tools/pikaPackageManager/pikaPackage.exe), 自动在当前目录下安装[内核](../../tree/master/src)、[预编译器](../../tree/master/tools/pikaCompiler)与[模块](../../tree/master/package)。
3. 已发布的模块列表:[packages.toml](/packages.toml)
# 快速上手
可使用[仿真工程](document/1.三分钟快速上手.md)快速上手,无需硬件,也可以使用官方支持的开发板[Pika派—Zero](https://item.taobao.com/item.htm?spm=a1z10.3-c.w4023-23991764790.10.16f97c58fsLjVk&id=654947372034),上手即玩。

开发板基于STM32G030C8T6小资源MCU,仅64kB Flash,8kB RAM即可运行完整解释器,和完整的外设驱动(GPIO、TIME、IIC、RGB、KEY、LCD、RGB)。板载CH340 USB转串口芯片,Type-C接口,支持串口下载python脚本,板载4颗RGB灯,可选配[LCD屏幕](https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-23991764791.12.16f97c58fsLjVk&id=660745643102)。
[Pika派python编程游玩指南](document/7.Pika%E6%B4%BE%E5%BC%80%E5%8F%91%E6%9D%BF%E6%B8%B8%E7%8E%A9%E6%8C%87%E5%8D%97%EF%BC%8C%E5%88%B0%E6%89%8B%E7%9A%84%E5%BC%80%E5%8F%91%E6%9D%BF%E7%8E%A9%E8%B5%B7%E6%9D%A5%EF%BC%81.md)
# 视频教程

## 入门篇 - 面向单片机Python编程用户
[PikaScript入门-单片机python编程和环境配置](https://www.bilibili.com/video/BV1mg411L72e)
[Pika派开发板手把手单片机python编程01——模块安装和GPIO类](https://www.bilibili.com/video/BV1kg411K7W2)
[Pika派开发板手把手单片机python编程02——固件升级](https://www.bilibili.com/video/BV1c44y1v7Jd)
[Pika派开发板手把手单片机python编程03——固件启动方式](https://www.bilibili.com/video/BV1xY411x7Uf)
[Pika派开发板手把手单片机python编程04——固件架构](https://www.bilibili.com/video/BV1wq4y1g7WB)
## 中级篇 - 面向驱动开发者
[PikaScript中级 部署PikaScript RISC-V CH32V103R8](https://www.bilibili.com/video/BV1Cq4y1G7Tj)
[PikaScript中级 部署PikaScript 国产MCU CM32M101A](https://www.bilibili.com/video/BV1jv411u7EJ)
[PikaScript中级 驱动模块开发01 最简单的模块](https://www.bilibili.com/video/BV1aP4y1L7pi)
[PikaScript中级 驱动模块开发02 CH32V103 LED](https://www.bilibili.com/video/BV1Jr4y117Z8)
## 进阶篇 - 面向编译器爱好者和开源项目维护者
[PikaScript进阶-字节码与虚拟机](https://www.bilibili.com/video/BV1J3411y7tX/)
[PikaScript进阶-Github自动测试-Github Actions CI](https://www.bilibili.com/video/BV1o3411C76q/)
[PikaScript进阶-Googletest测试框架](https://www.bilibili.com/video/BV1UF411Y7Z6/)
[PikaScript进阶-数据结构源码精讲](https://www.bilibili.com/video/BV1Ky4y157nW/)
# 开发手册
[1. PikaScript-三分钟快速上手](document/1.三分钟快速上手.md)
[2. PikaScript-架构与原理](https://mp.weixin.qq.com/s?__biz=MzU4NzUzMDc1OA==&mid=2247484127&idx=1&sn=f66cff49c488e48c52570c7bb570328f&chksm=fdebd5b6ca9c5ca0707fd221c32f3ad63e94aeb6f917a92774b89ea042381ea261990f5cca3c&token=2045971639&lang=zh_CN#rd)
[3. PikaScript-十分钟快速部署](document/2.十分钟快速部署.md)
[4. PikaScript-标准开发流程](document/3.PikaScript标准开发流程.md)
[5. PikaScript-Demo展示](document/5.我就要用最便宜的单片机来跑python,还要用Keil开发,怎么地吧.md)
[6. Arm-2D GUI引擎和pikascript联合仿真](document/6.用Python玩ARM%202D,认真的嘛.md)
[7. Pika派开发板Python编程游玩指南](document/7.Pika派开发板游玩指南,到手的开发板玩起来!.md)
[8. 沁恒RISC-V MCU CH32V103 PikaScript驱动开发实战](https://mp.weixin.qq.com/s?__biz=MzU4NzUzMDc1OA==&mid=2247484488&idx=1&sn=e810b86226353ab661656e2a274f21a2&chksm=fdebd321ca9c5a3755527fdf8e9563330b0781b01023fac467943f5fc347734ece51fd65dcfd&token=1711715181&lang=zh_CN#rd)
## 文件目录
[src](../../tree/master/src) - 内核源码
[bsp](../../tree/master/bsp) - 裸机芯片/板卡支持
[port](../../tree/master/port) - 操作系统支持
[document](../../tree/master/document) - 开发文档
[examples](../../tree/master/examples) - 示例脚本
[package](../../tree/master/package) - 模块目录
[pikaCompiler](../../tree/master/tools/pikaCompiler) - 使用rust编写的预编译器
[pikaPackageManager](../../tree/master/tools/pikaPackageManager) - 使用go编写的模块管理器
# 2.驱动适配进度
|MCU/Board|bsp|gpio|uart|pwm|adc|i2c|spi|rgb|oled|
|---|---|---|---|---|---|---|---|---|---|
|[PikaPi Zero](https://item.taobao.com/item.htm?spm=a230r.1.14.1.4f2e27a8R0qWJn&id=654947372034&ns=1&abbucket=15#detail)|√|√|√|√|√|√| |√|√|
|stm32g030c8|√|√|√|√|√|√| | | |
|stm32g070cB|√|√|√|√|√| | | | |
|stm32f103c8|√|√|√|√|√| | | | |
|ch32v103r8t6|√|√| | | | | | | |
|cm32m101a|√| | | | | | | | |
# 3.特性
### (1)运行环境
支持裸机运行,可运行于 **RAM ≥ 4kB** ,**FLASH ≥ 32kB** 的mcu中,如stm32g030, stm32f103c8t6,esp8266。
### (2)开发环境
支持串口下载Python脚本。

