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主页,点击“新建工程”

在新建弹窗中,工程名、路径什么的可以先不填,这里主要是为了下载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主页,点击导入工程

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

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

5.编译

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

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

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

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

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

补充

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

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

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

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

只需要修改 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选项,选择开发板对应的烧录串口

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

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

然后等待烧录完成即可

串口

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


总结

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

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

或者直接社区提问

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

  1. 【瑞萨RA4系列】开发环境搭建和点灯指南

    [瑞萨RA4系列开发板体验]开发环境搭建和新手点灯指南 文章目录 [瑞萨RA4系列开发板体验]开发环境搭建和新手点灯指南 一.简单开箱 二.芯片简介 三.开发环境搭建 2.1 安装FSP(RASC) ...

  2. Redis 开发陷阱及避坑指南!

    原文首发于博客园,作者:后青春期的Keats 地址:https://www.cnblogs.com/keatsCoder/ Linux 配置优化 我们在使用 Redis 过程中,可能更多的关注 Red ...

  3. java 连接redis_Redis 开发陷阱及避坑指南!

    Java技术栈 www.javastack.cn 关注优质文章 原文首发于博客园,作者:后青春期的Keats地址:https://www.cnblogs.com/keatsCoder/ Linux 配 ...

  4. 百度程序员开发避坑指南(3)

    前两期我们分享了日常工作中前端.移动端开发的相关问题,感兴趣的同学可以在文末推荐阅读跳转查看.本期我们分享三个议题:golang对象池减少gc压力.FFmpeg中的并发控制.paddle的静态图和动态 ...

  5. python安卓版开发环境搭建_React Native Android 开发环境搭建(Windows 版)

    补上之前说的 Windows 系统的 React Native 开发环境搭建,坑还是比 Mac 环境下的多些.此文的受众还是已经搭建过 Android 开发环境的同学. 需要安装的软件 Chocola ...

  6. day01--java基础编程:计算机基础知识 ,java语言概述,java开发环境搭建,eclipse概述,创建简单java项目,JDK JRE JVM的关系,java开发中的命名规范,编程风格

    1 Day01–Java开发环境+HelloWorld 1.1 计算机基础知识 资料下载网址:刘沛霞 18600949004 code.tarena.com.cn tarenacode code_20 ...

  7. Android开发环境搭建及常见问题解决方法

    Android开发环境搭建及常见问题解决方法 参考文章: (1)Android开发环境搭建及常见问题解决方法 (2)https://www.cnblogs.com/rwxwsblog/p/476978 ...

  8. 以太坊DApp开发环境搭建

    2019独角兽企业重金招聘Python工程师标准>>> 以太坊DApp开发环境搭建分为Ubuntu.Windows.mac下的搭建.目的为开发者提供一个以太坊开发.测试的搭建开发环境 ...

  9. 智能合约开发环境搭建及 Hello World 合约

    智能合约开发环境搭建及 Hello World 合约 如果你对于以太坊智能合约开发还没有概念(本文会假设你已经知道这些概念),建议先阅读入门篇. 就先学习任何编程语言一样,入门的第一个程序都是 Hel ...

最新文章

  1. python中notebook_Jupyter Notebook--学习python必不可少的工具
  2. Tornado、Bottle以及Flask
  3. 在你的 Rails App 中开启 ETag 加速页面载入同时节省资源
  4. 北京航空航天大学计算机科学与工程系,北航郑征主页 北京航空航天大学教师个人主页系统...
  5. javascript-抽象工厂模式
  6. mysql的压缩包,mysql 压缩包安装
  7. Hadoop Hive与Hbase关系 整合
  8. 移动互联网初创型团队需要什么样的云计算服务?
  9. echo输出大花括号 php_PHP的echo输出内容过多会很慢
  10. 主子式大于等于零的矩阵是半正定矩阵的证明方法之二
  11. 稳压二极管 参数说明
  12. 打印机打印字体轻,像针式的故障处理(图)
  13. 【程序】Xilinx FPGA将DDR3内存转换为W25Q256的SPI接口,供STM32单片机调用,产生容量为256MB的USB U盘设备
  14. JAVA + Socket + Swing实现QQ聊天软件
  15. 把读书当做信仰的民族:犹太民族
  16. QCC512x QCC302x 延时函数 (阻塞与非阻塞)
  17. 2022西安交通大学912初试经验贴 专业课133
  18. 如何选择正确的图片格式? 图片格式详细科普
  19. 计算机学院肖鹏,肖鹏-重庆大学物理学院
  20. Hadoop HA (三) --------- HDFS-HA 自动模式

热门文章

  1. VSCode断点调试PHP
  2. 谷歌气球 simplekml 入门《二》
  3. 阿里云注册域名创建信息模板流程及审核时间说明
  4. python照片墙地图_利用python生成照片墙的示例代码
  5. 展示板(1.8*0.8)和宣传单折页6面(a4)
  6. 高手的战略,在于稳定性与可持续性
  7. wi-fi需要休息吗_您应该购买电池供电的Wi-Fi摄像头吗?
  8. 107、基于51单片机智能快递柜收取件存储柜快递箱自助存储柜系统设计
  9. Unity+Pico 手柄按键控制
  10. 智慧树mysql章节答案免费_智慧树初识数据库—Mysql完整免费答案