Neptune开发板 python开发学习实践 原创 精华
前言:
今天看到了唐佐林老师使用Python开发鸿蒙设备程序(1-GPIO外设控制)这篇文章,思考了一下,既然python能够运行在HI3861 也应该能够运行的neptune 开发板上,话不多说直接开干。(基于openharmony V1.1.0 LTS版本)
1、下载源码:
git clone git@gitee.com:delphi-tang/python-for-hos.git
2、修改Makefile中交叉编译工具的路径:csky工具链
CROSS_COMPILE ?= /home/zhyw/harmonyos/toolchain/csky-elfabiv2/bin/csky-abiv2-elf-
3、执行make
3.1、编译过程中报错:提示缺失alloc.h文件,解决方法:
将HI3861中alloc.h文件复制到/home/zhyw/harmonyos/python-for-hos-master
目录下,再次执行make
3.2、编译过程中再次报错:提示缺失bits/alltypes.h文件,解决方法:
将HI3861中bits/alltypes.h文件复制到/home/zhyw/harmonyos/python-for-hos-master
目录下,并同时修改alloc.h 文件中#include<bits/alltypes.h>
为#include<alltypes.h>
再次执行make
3.3、 编译过程中再次报错:提示py/stream.c文件缺少SEEK_SET、SEEK_CUR定义,添加
#define SEEK_SET 0
#define SEEK_CUR 1
#define SEEK_END 2
3.4、执行make,成功生成libdtpython.a 文件
ARCHIVE build/libdtpython.a Success! Target ==> build/libdtpython.a
5、将编译得到的库文件 //build/libdtpython.a
拷贝到//neptune-harmony-os1.1-iot/device/winnermicro/neptune/sdk_liteos/lib/w800
6、修改W800 Makefile文件:添加libdtpython.a->makefile
7、将python-for-hos-master目录下的demo目录下文件拷贝到applications/sample/wifi-iot/app目录下
7.1、修改demo目录BUILD.gn文件:
static_library("python") {
sources = [
"dt_python_demo.c",
"test.c"
]
include_dirs = [
"//utils/native/lite/include",
"//kernel/liteos_m/kal/cmsis",
"//base/iot_hardware/peripheral/interfaces/kits",
]
}
7.2、删除dt_python_demo.c中
#include "wifiiot_gpio.h"
#include "wifiiot_gpio_ex.h"
#include "wifiiot_pwm.h"
7.3、修改applications/sample/wifi-iot/app/BUILD.gn文件:
lite_component("app") {
features = [
"demo:python",
]
}
7.4、将libpython.a添加到W800 Makefile中。
8、编译,烧录,测试->(编译无报错)
成功运行
厉害了,竟然跑通了。
非常棒!
欢迎关注我的这个Python项目,后续在核心库,上层框架和工具链上都会持续更新。
地址:https://gitee.com/delphi-tang/python-for-hos
先点亮Star 。有时间看一下
秀啊😉 😉
以Star ,静待唐佐林老师gitte更新(๑╹ヮ╹๑)ノ
厉害,活学活用