欢迎大家来到IT世界,在知识的湖畔探索吧!
今天看到了一篇文章“使用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
欢迎大家来到IT世界,在知识的湖畔探索吧!
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文件:
欢迎大家来到IT世界,在知识的湖畔探索吧!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文件:
欢迎大家来到IT世界,在知识的湖畔探索吧!lite_component("app") {
features = [
"demo:python",
]
}
7.4、将libpython.a添加到W800 Makefile中。
8、编译,烧录,测试->(编译无报错)
成功运行
——————
原创:老王丨鸿蒙hms开发者高级认证持证人!学习更多鸿蒙OS相关开发技术可以关注我的公众号:鸿蒙开发者老王
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/34799.html