加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 相关文件
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

LPC55S69移植PikaPython,体验python脚本编程

05/15 08:09
2879
阅读需 6 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

首先介绍下PikaPython

PikaPython 是一个完全重写的超轻量级 python 引擎,零依赖,零配置,可以在 Flash ≤ 64KB,RAM≤ 4KB 的平台下运行(如 stm32g030c8 和 stm32f103c8),极易部署和扩展,具有大量的中文文档和视频资料。

PikaPython 具有框架式 C 模块开发工具,只要用 Python 写好调用 API ,就能够自动连接到 C 模块,非常方便快捷。不用手动处理任何全局表、宏定义、等等。

PikaPython 也支持 MDK、iar、RT-studio 等常见 ide 开发,能够轻松地调试 C 模块。

开源项目地址:

https://gitee.com/Lyon1998/pikapython

https://github.com/pikasTech/PikaPython

文档中心:

http://pikascript.com/doc/index.html

下面开始基于KEIL的pack包方式移植,移植过程很简单。其实项目的文档中心有详细的各种移植步骤。

首先要准备一个正常的LPC55S69的UART输入输出的工程。

如下打开keil的pack包,选择STDOUT打勾的地方。

然后添加函数,这样就可以实现printf输出了。

int stdout_putchar (int ch) {
PUTCHAR(ch);
return (ch);
}

下一步,打开http://pikascript.com/doc/index.html 文档中心,找到如图下位置,下载PikaPython的keil Pack包。

然后按照文档内容操作。文档内写的步骤很详细。包括安装Pack包,添加到工程中。加入初始化。然后编译。

在 Before Build 加入

.RTEPikaScriptpikaBeforBuild-keil.bat

然后在 main.c 引入

#include "pikaScript.h"

在初始化系统和 printf 后启动 PikaScript

PikaObj *pikaMain = pikaScriptInit();

这样就可以编译成功了。不过要注意,第一次编译因为要执行编译前那个批处理,需要下载软件仓库,会等待很长时间。后面编译就好快了。

完成以上步骤编译下载后就可以看到串口输出了

下面添加交互处理。在初始化之后加入

下一句代码

pikaScriptShell(pikaMain);

int main(void)
{
char ch;
/* Init board hardware. */
/* set BOD VBAT level to 1.65V */
POWER_SetBodVbatLevel(kPOWER_BodVbatLevel1650mv, kPOWER_BodHystLevel50mv, false);
/* attach main clock divide to FLEXCOMM0 (debug console) */
CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);

BOARD_InitBootPins();
BOARD_InitBootClocks();
BOARD_InitBootPeripherals();
BOARD_InitDebugConsole();
SysTick_Config(SystemCoreClock/1000);

printf("PikaPython Testrn");

PikaObj *pikaMain = pikaScriptInit();
pikaScriptShell(pikaMain);
while (1)
{
ch = GETCHAR();
PUTCHAR(ch);
}
}

然后要实现一个阻塞的读串口,接收串口字节函数。

char __platform_getchar(){
return GETCHAR();
}

完成后编译下载就OK了。

文档中心也有说明,如下图:

下面是测试简单的交互输出

整个移植就完成了。后面看看添加一些外设控制驱动。

工程 lpc55s69_PikaPython.zip (15.56 MB, 点击下方附件下载)

  • lpc55s69_PikaPython.zip

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
S29GL064N90TFI010 1 Spansion Flash, 4MX16, 90ns, PDSO56, LEAD FREE, MO-142EC, TSOP-56
$5.26 查看
LAN8742A-CZ-TR 1 SMSC Ethernet Transceiver, 4 X 4 MM, 0.90 MM HEIGHT, HALOGEN FREE AND ROHS COMPLIANT, SQFN-24
$2.5 查看
TLE9271QXV33XUMA1 1 Infineon Technologies AG Interface Circuit, PQCC48, VQFN-48
暂无数据 查看

相关推荐

电子产业图谱