Neptune开发板 python开发学习实践 原创 精华

发布于 2021-9-10 13:44
浏览
5收藏

前言:
今天看到了唐佐林老师使用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
Neptune开发板 python开发学习实践-开源基础软件社区

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、编译,烧录,测试->(编译无报错)
成功运行
Neptune开发板 python开发学习实践-开源基础软件社区

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
python-for-hos.rar 609.51K 13次下载
已于2021-9-10 13:44:37修改
5
收藏 5
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐