Hi3861开发环境搭建 ||避坑指南|| [适用于几乎所有以Hi3861为主控的开发板]

Hi3861开发环境搭建 ||避坑指南||

[适用于几乎所有以Hi3861为主控的开发板]


前言:

这几天为了搭建Hi3861的开发环境,看了不少官方文档和视频,但是依然折腾了很久才配置好编译、上传都能正常的环境,这其中踩了不少坑,希望通过这篇文章能让大家少踩点。

当然其实主要问题还是源码更新、视频教程更新还有文档更新速度没匹配上

参考海思社区 (hisilicon.com)


1.下载安装 HUAWEI DevEco Device Tool

为了减少可能出现问题的源头,建议各位和我一样直接在Windows下进行部署,用VSCode进行代码编写、编译和上传,不需要其他额外工具或者服务器之类的,也不用折腾Linux

首先下载最新版的 DevEco Device Tool

官方网址:华为集成开发环境IDE DevEco Device Tool下载 | HarmonyOS设备开发

安装过程中它会自动检测你的环境,python版本请严格按照工具的要求,VSCode直接升级到最新版即可

2.下载SDK

打开VSCode,打开DevEco Device Tool主页,点击“新建工程”

image.png

在新建弹窗中,工程名、路径什么的可以先不填,这里主要是为了下载SDK。SOC:选择“HI3861”,SDK栏如果显示“hi3861_hdu_iot@1.0.0(Uninstalled)”,则点击“下载”按钮,SDK会自动下载

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IfFFKFX5-1680627386489)(null)]

5.安装串口驱动

不同的开发板使用的usb转ttl芯片可能不太一样,这个具体得看开发板厂家的文档

但是使用CH340系列的都可以直接装官方这个驱动

https://hispark.obs.cn-east-3.myhuaweicloud.com/DevTools_Hi3861V100_v1.0.zip

下载解压后进入usb_serial_driver

安装一下里面的驱动

4.下载并导入源码

如果你是看的小熊派的视频,并且下载了它的源码的话,在我们现在的环境中是没办法正常编译的,个人猜测是版本不同了,小熊派自己的仓库更新得不是很及时

不过不管是什么开发板,下面这个源码肯定是最新且可用的。

(不直接新建是因为新建的不方便导入案例分析学习,有的仓库的案例太旧根本编译不了)

https://gitee.com/HiSpark/hi3861_hdu_iot_application

下载完成后打开VSCode,打开DevEco Device Tool主页,点击导入工程

image.png

在导入工程弹窗中选择Hi3861 SDK目录,点击导入。(如果采用zip包下载,SDK名称为hi3861_hdu_iot_application-master,如果采用git下载SDK名称为hi3861_hdu_iot_application,此处以采用zip下载为例)

image.png

在后续导入工程弹窗,SOC栏选择Hi3861,开发板栏选择hi3861,框架栏选择hb,之后点击导入,等待导入成功即可。

image.png

5.编译

配置好环境上来就去build可能还是会出问题的,不过这个就不一定是环境问题

大家可以看教程写个helloworld再编译试试看

编译这里只要代码是对的基本不会有太大问题(然而官方源码确实就是有的地方有错的)

在DevEco Device Tool窗口中,点击左侧build即可编译

建议各位在修改了代码或者build.gn后先点一下build上面的clean再编译,不然有时它不会编译你改变后的东西

补充

这里还有很重要的一点就是示例参考,如果各位直接复制粘贴小熊派教程里的源码过来编译是肯定会出错的

大家要看示例的话可以到源码的src/vender/

image20230405002741639.png

这里有小熊派和润和提供的示例(它们相互其实都通用的,而且有些地方官方写错的他们都还一样一起错)

个人比较喜欢润和的,因为更新时间更近,而且编译润和的示例很简单

只需要修改 hi3861_hdu_iot_application\src\applications\sample\wifi-iot\app\BUILD.gn 文件,增加 demo 编译目标:

lite_component("app") {
  features = [
    "startup",
    "//vendor/hihope/hispark_pegasus/demo:demo",
  ]
}

然后修改src/vendor/hihope/hispark_pegasus/demo/BUILD.gn,根据需要取消对应的注释就能编译对应的示例程序

6.烧录

如果串口驱动安装好了的话,此时插上板子就应该能够在设备管理器中看到新增了一个串口设备

打开DevEco Device Tool,点击左侧工程配置,找到upload_port选项,选择开发板对应的烧录串口

(注意烧录时关掉串口助手,否则会占用串口无法烧录)

image.png

点击左下角upload键,等待提示(出现Connecting,please reset device…),手动进行开发板复位(按下开发板reset键)

image.png

然后等待烧录完成即可

串口

目前DevEco Device Tool中的串口监视器还是有点bug的,导致我一度以为自己程序出错了,建议各位还是使用专门的串口助手比如xcom sscom之类的


总结

其实官方文档对于环境配置还是相对详细的,只不过这个环境配置文档并没有很好的和各个开发板的教程配套起来,我做了一点点的补充,大家环境按这个配,代码有选择性的按教程来,完全跟着两家开发板的教程环境会比较难配,代码参考也是尽量看源码里面的

还有遇到的其他问题建议看官方FAQ海思社区 (hisilicon.com)

或者直接社区提问

普中科技系列的Hi3861开发板主板是一个非常适合学习和开发物联网项目的平台。它搭载了华为海思Hi3861芯片,具有强大的计算能力和丰富的外设接口。下面我们来探讨一下如何使用该开发板检测人体红外传感器(PIR)的应用。 ### 一、硬件准备 1. **Hi3861 开发板** - 主控芯片:Hi3861。 - GPIO 接口用于连接各种外围设备。 2. **人体红外传感器 (PIR)** - PIR传感器能够感知移动物体发出的红外辐射变化并将其转化为电信号输出。 3. **杜邦线若干条** 4. **面包板或排针用于连接电路** --- ### 二、电路连接说明 将 PIR 的 VCC 引脚接到 Hi3861 板子的 3V 或者 5V 输出管脚上; GND 连接至地线上; OUT (信号输出引脚)则应接入任意一个可用的 GPIO 口上(例如 PA0)。注意确认所选择 IO 是否支持数字输入模式即可。 --- ### 三、软件部分编写 #### 步骤: 1. 初始化GPIO端口配置为输入方向; 2. 循环读取指定Pin的状态值; 3. 根据返回高低电平判断是否有活动目标经过,并打印相应结果日志。 ```c #include "hwioc.h" // 假设有这样一个头文件包含基础IO控制函数原型声明 void init_gpio(void){ hwio_set_dir(PA0,HIGH_IMPEDANCE); // 设置PA0作为高阻抗输入,默认情况即代表接受外部驱动电压。 } int main(){ int val; init_gpio(); while(1){ val =hwio_read_pin(PA0); if(val == HIGH){ printf("有人进入区域\n"); } else { printf("区域内无人\n"); } sleep_ms(500); //每半秒检查一次状态免过于频繁查询浪费资源。 } return 0; } ``` 以上代码仅为示意用途,请根据实际使用的SDK手册修改适配具体的寄存器操作细节等内容。 --- ### 四、调试运行 编译上述程序烧录进 MCU 后启动系统观察串行终端输出的变化趋势验证逻辑无误与否。如果发现异常现象可通过示波器进一步定位分析问题所在之处。 --- ###
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NikkoLKR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值