轻松掌握 PikaPython:编译与应用教程(Makefile & CMake)
作者:程住气
校对:李昂
想要轻松入门 PikaPython 编程吗?本文将引导您在支持 Makefile 和 CMake 的开发平台上迈出第一步。无论您是初学者还是希望将 PikaPython 应用于实际项目,本指南都能助您一臂之力。
教程中的 makefile 和 CMake 工程可以在 Win 上运行,这样可以快速进行测试和进行仿真运行,后面可以移植到你的实际硬件平台上(例如 STM32、ESP32等)。
在开始教程之前,让我们先简要了解一下 PikaPython。
PikaPython 是一个轻量级的嵌入式 Python 解释器,专为资源受限的嵌入式系统设计。它提供了 Python 语言的核心功能,同时优化了内存和处理能力的使用,使得即使在硬件资源有限的环境下也能高效运行。
PikaPython 的目标是为嵌入式开发者提供一个易于使用、灵活且功能丰富的编程工具,无论是初学者还是有经验的开发者,都可以利用PikaPython在各种嵌入式设备上实现高效的 Python 编程。
1.PikaPython 官网
参考资料来源:https://pikapython.com
2.先下载包管理器:用于拉取pikapython的源码
3.拉取内核源码
新建记事本requestment.txt,输入下面内容。
(没有这步,包管理器会自动新建 requestment.txt)
pikascript-core
PikaStdLib
其他可用版本查看:https://gitee.com/Lyon1998/pikascript/blob/master/packages.toml
然后执行包管理器,进行拉取代码。
运行预编译rust-msc-latest-win10.exe,它会将 python 文件预编译到pikascript-api 中的 C 文件中去
新建main.c文件,代码如下:
#include<stdio.h>
#include"pikascript.h"
int main(int argc,char **argv)
{
printf("hello world\r\n");
//固件启动,需要编译
PikaObj* pikaMain = pikaScriptInit();
}
5.内核编译
官方视频 (https://www.bilibili.com/video/BV1zh4y1T7Vi) 是用 visual studio 来做的,这个软件太大了,家里网速慢,同时电脑有现成的 vscode,所以将分别采用 WIN 环境下 makefile 和 CMAKE 来编译。(其实是后续的 ESP32 视频,编译用的是 CMAKE,看不懂所以回头学了 CMAKE + makefile)
下载和安装MinGW32
下载地址:https://www.onlinedown.net/soft/10056269.htm
解压后,添加环境变量后:
1.新建makefile文件,代码如下
2.执行make
TAR = pikapython
# 添加头文件搜索路径
INC = -I ./ -I ./pikascript-core -I ./pikascript-api -I ./pikascript-lib/PikaStdLib
# 寻找源文件.c
SOURCES = $(wildcard *.c ./pikascript-api/*.c ./pikascript-core/*.c ./pikascript-lib/PikaStdLib/*.c)
OBJ = $(patsubst %.c,%.o,$(SOURCES))
# test:
# @echo $(SOURCES)
$(TAR):$(OBJ)
gcc $^ -o $@ $(INC)
%.o:%.c
gcc -c $^ -o $@ $(INC)
clean:
rm -rf *.o ./**/*.o ./**/**/*.o $(TAR)
CMAKE环境搭建:下载地址:https://cmake.org/download/
cmake --help 验证是否安装成功
CMAKE开始:
1.新建CMakeLists.txt文件,代码如下:
# 指定使用的 cmake 的最低版本,可选,非必须,如果不加可能会有警告
cmake_minimum_required(VERSION 3.10)
# 生成工程名字
project(pikapython)
# GLOB查找.c文件
file(GLOB API_SRC ${CMAKE_CURRENT_SOURCE_DIR}/pikascript-api/*.c)
file(GLOB CORE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/pikascript-core/*.c)
file(GLOB LIB_SRC ${CMAKE_CURRENT_SOURCE_DIR}/pikascript-lib/PikaStdLib/*.c)
# 将所有的源文件组合在一起
set(SOURCE_FILES ${API_SRC} ${CORE_SRC} ${LIB_SRC} main.c)
# message("所有的.c文件:",${SOURCE_FILES})
# 添加头文件搜索路径
include_directories(${CMAKE_SOURCE_DIR}/pikascript-core)
include_directories(${CMAKE_SOURCE_DIR}/pikascript-api)
include_directories(${CMAKE_SOURCE_DIR}/pikascript-lib/PikaStdLib)
# 定义工程会生成一个可执行程序
add_executable(pikapython ${SOURCE_FILES})
2.新建build文件夹,然后进入build文件
3. cmake ..
4. make
(2.3的步骤是为了简洁工程,cmake会生成一堆中间文件,这样中间文件全部在build文件夹里了)
1. 修改main.py文件,加一句print('hello world!')
2. 运行预编译rust-msc-latest-win10.exe
3. 编译内核makefile/cmake
4. 执行
想要深入了解 PikaPython?请访问官网 (https://pikapython.com) 的文档中心:
后续你可以将 PikaPython 移植到你的产品的硬件平台上(例如 STM32、ESP32等),如果在使用中有任何疑问,欢迎加入交流群:577623681(QQ群)
离线
转发一篇群友的文章
离线