您尚未登录。

楼主 # 2023-12-14 14:11:55

lyon1998
Moderator
注册时间: 2021-12-01
已发帖子: 110
积分: 55

轻松掌握 PikaPython:编译与应用教程(Makefile & CMake)

轻松掌握 PikaPython:编译与应用教程(Makefile & CMake)

作者:程住气
校对:李昂

简介

想要轻松入门 PikaPython 编程吗?本文将引导您在支持 Makefile 和 CMake 的开发平台上迈出第一步。无论您是初学者还是希望将 PikaPython 应用于实际项目,本指南都能助您一臂之力。

教程中的 makefile 和 CMake 工程可以在 Win 上运行,这样可以快速进行测试和进行仿真运行,后面可以移植到你的实际硬件平台上(例如 STM32、ESP32等)。

PikaPython简介

在开始教程之前,让我们先简要了解一下 PikaPython。

PikaPython 是一个轻量级的嵌入式 Python 解释器,专为资源受限的嵌入式系统设计。它提供了 Python 语言的核心功能,同时优化了内存和处理能力的使用,使得即使在硬件资源有限的环境下也能高效运行。

PikaPython 的目标是为嵌入式开发者提供一个易于使用、灵活且功能丰富的编程工具,无论是初学者还是有经验的开发者,都可以利用PikaPython在各种嵌入式设备上实现高效的 Python 编程。

拉取源码

1.PikaPython 官网
参考资料来源:https://pikapython.com

2.先下载包管理器:用于拉取pikapython的源码

http://pikapython.com/doc//%E5%8C%85%E7%AE%A1%E7%90%86%E5%99%A8%E4%B8%8E%E6%A8%A1%E5%9D%97%E7%AE%A1%E7%90%86.html

1_20231214-1401.png

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 文件中去

2_20231214-1401.png

新建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
解压后,添加环境变量后:

3_20231214-1401.png

4_20231214-1401.png

5.png

makefile:

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)

6.png

CMAKE:

CMAKE环境搭建:下载地址:https://cmake.org/download/

7.png

8.png

9.png

10.png

cmake --help 验证是否安装成功

12.png

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文件夹里了)

13.png

14.png

应用入门

1. 修改main.py文件,加一句print('hello world!')

2. 运行预编译rust-msc-latest-win10.exe

3. 编译内核makefile/cmake

4. 执行

15.png

更多资料

想要深入了解 PikaPython?请访问官网 (https://pikapython.com) 的文档中心:

16.png

后续你可以将 PikaPython 移植到你的产品的硬件平台上(例如 STM32、ESP32等),如果在使用中有任何疑问,欢迎加入交流群:577623681(QQ群)

离线

楼主 #1 2023-12-14 14:12:49

lyon1998
Moderator
注册时间: 2021-12-01
已发帖子: 110
积分: 55

Re: 轻松掌握 PikaPython:编译与应用教程(Makefile & CMake)

转发一篇群友的文章

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn