本文来源电子发烧友社区,作者:宋志硕, 帖子地址:https://bbs.elecfans.com/jishu_2008052_1_1.html
最近这段时间太忙了,以至于帖子一拖再拖。赶鸭子上架的先写几篇,哈哈哈~~~。
在我们拿到Hi3861的代码目录以后可能小白会对庞大的代码体系有点抓狂,这里叙述几个要点,改代码的时候只需要从以下几个目录入手,等用的熟悉了在去细细的琢磨鸿蒙的整个系统框架即可,切不可一蹴而就的想着一口气吃个胖子,这样会让你失去琢磨整个体系的兴趣,不要急慢慢来。
鸿蒙系统接口层:
baseiot_hardwareframeworkswifiiot_litesrc
鸿蒙系统为了提供统一的系统接口在此封装了系统层接口,这样就可使得应用层忽略低层硬件设备接口的不同导致的重复造轮子的问题。后续其他的设备接入到鸿蒙系统中只需要将鸿蒙接口层当作一个中间件(连接器),做驱动开发的同学将驱动代码封装成鸿蒙系统接口,然后应用开发就可以不用考虑低层设备到底是STM32还是Hi3861,只需要用系统API来做应用逻辑开发即可。
HI3861驱动层API:
vendorhisihi3861hi3861platformdrivers
因为海思并没用将Hi3861的Datasheet开放出来(后续感觉也不会开放出来,海思的一贯作风,只有大客户签署了保密协议才会把SDK包给你),并且将低层代码固化在了芯片中,所以这里提供了一些Hi3861的功能接口(实际上从这个接口往下用sourceInsight去扒拉扒拉是能看到寄存器操作的,有兴趣的同学可以去琢磨下)。在某些鸿蒙没有的功能接口的地方可以直接调用驱动层API来实现一些功能,但是建议还是不要这样操作。润和的很多Demo代码中使用的就是驱动层API,这种做法是及其不正确的,他破坏了鸿蒙的架构初衷,因此不推荐大家这样做。
vendorhisihi3861hi3861buildconfigusr_config.mk
整个工程中是通过gn来做项目管理的,类似于makefile。所以项目中的诸多功能也是可以通过宏的形式去管理的,这样就方便了后续的一些功能定制,只需要做一些开宏处理就可以使用诸多的低层硬件功能。如果对宏定义不太理解或者不知道怎么用的话可以学习下这篇文章:
注意:
在操作硬件外设的时候切记要先在usr_config.mk中开宏,若不开程序是不会初始化外设硬件的。
vendorhisihi3861hi3861appwifiiot_appinitapp_io_init.c
这部分代码实际上就是上面讲到的宏定义实际控制的外设,可以看到每个功能前面都有“#ifdef XXXX”这就是宏控制块。

驱动层例程:
vendorhisihi3861hi3861appdemosrc
这个目录下有对Hi3861的通用外设的简单讲解,在初次只用的时候如果不知道怎么用可以参考下这个目录下的代码,抄袭不可怕,谁还不是个CV工程师呢!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
wi-fi
+关注
关注
15文章
2462浏览量
130009 -
HarmonyOS
+关注
关注
80文章
2157浏览量
36286 -
HiSpark
+关注
关注
1文章
156浏览量
7799
发布评论请先 登录
相关推荐
热点推荐
技术资讯 I Wi-Fi 模块设计
。Wi-Fi模块可实现无缝连接和数据交换,对设备进行远程控制和监测。Wi-Fi模块设计旨在打造一套紧凑且高效的软硬件解决方案,使设备能够通过Wi-Fi网络通信。这类模块常用
ESP32 Wi-Fi 控制 LED 灯的原理
在智能家居、物联网设备中,用手机通过Wi-Fi控制灯光、风扇或插座,已经非常普遍。而在嵌入式开发中,ESP32是最常用的Wi-Fi模块之一。本文将带你系统理解:ESP32是如何通过Wi-Fi
Wi-Fi:无线连接的全球通用语
现代生活中不可或缺的无线连接方式。二、Wi-Fi的核心特点1. 高速率,宽带宽支持从几十Mbps到数Gbps的传输速率,满足高清视频、在线游戏等高带宽应用需求。2. 广泛兼容,生态成熟几乎所有智能终端均内置
发表于 01-07 09:49
Nordic发布nRF7002 EBII 开发板, 支持Wi-Fi 6, 解锁nRF54L新玩法
了 Wi-Fi 6 功能,帮助开发人员创建高性能、高能效的Wi-Fi 6 物联网解决方案。
基于 Nordic 的 nRF7002 Wi-Fi 协同 IC,nRF7002 EBII帮助 采用
发表于 12-10 11:58
Wi-Fi模块选型指南 | 低功耗蓝牙/Wi-Fi 6模块推荐 | 物联网设备集成攻略
:选择用模块的理由: 是为了方便电路集成设计,特别是硬件兼容集成设计,这样只要产品前期做好了综合设计,后续做产品设计以及应用端的灵活选择,提供了很大的便利,省得重复设计硬件,缩短开发周,加快将产品推向市场的时间; 二:Wi-Fi模块选型注意点
Wi-Fi FEM研发,开启第二个十年
转载自《钟林谈芯》 人生如逆旅,我亦是行人。十年之旅, 一起同行, 步步开花,Wi-Fi FEM研发,我们开启第二个十年。 2015年,在 锐迪科 (RDA)一起走进Wi-Fi FEM赛道,未来的路
浅谈Wi-Fi 6E与Wi-Fi 7的关键器件——BAW滤波器新技术
作者: Qorvo 亚太区无线连接事业部高级行销经理林健富 2020年1月,Wi-Fi联盟正式宣布开放6GHz频段(5925MHz-7125MHz),并将其命名为Wi-Fi 6E。2020年4月
发表于 09-19 18:29
•2451次阅读
基于 SSID 的 Wi-Fi 定位:与其他定位服务的性能比较
随着 nRF7000 Wi-Fi 协同 IC 的推出,我们现在可以提供具有 Wi-Fi、蜂窝物联网和 GNSS 功能的完整硅到云定位解决方案。nRF7000 针对 Wi-Fi 网络扫描进行了优化
发表于 08-31 21:01
LitePoint Wi-Fi测试软件减轻客户设计负担
自Wi-Fi 7于一年多前获得Wi-Fi联盟认证以来,作为最新一代通信技术,Wi-Fi正逐步成为用户实现无所不在无线连接的新选择。随着每一代Wi-Fi信号复杂性的提升,建议将硬件测试纳
有没有什么修复方法可以确保 AP 模式下的 Wi-Fi 和 BLE 连接同时正常工作?
我正在使用 CYBSYSKIT DEV 01 套件。我尝试在 AP 模式下打开 Wi-Fi 并宣传 BLE。我可以宣传 SoftAP 和 BLE。但是,我无法从中央设备连接到 BLE。它可以立即连接并断开连接。有没有什么修复方法可以确保 AP 模式下的
发表于 07-17 06:13
如何选择合适的芯科科技Wi-Fi开发板
您正在寻找适用于超低功耗物联网应用项目的Wi-Fi 开发板吗?本文将介绍Silicon Labs(芯科科技)推出的所有SiWx917 Wi-Fi 6和低功耗蓝牙5.4解决方案的Wi-Fi 开发板。SiWx917是目前市场上最节能
BLE代码示例中Wi-Fi连接重试失败的原因?
您好,我正在使用 BLE 代码示例进行 Wi-Fi 接入。我从 modus 工具箱下载了代码示例。
代码示例包含所有最新的库。
当在提供 SSID 和密码后从手机发送连接命令时,微控制
发表于 07-08 07:42
科普|公司的Wi-Fi,为什么这么慢?
大家在公司上班,经常会使用到Wi-Fi。最近这几年,随着时代的发展,高清视频会议等大带宽网络应用越来越普遍。而公司的网络,却非常不给力,频繁卡顿,严重影响使用体验。哪怕IT的同事已经把网络优化得很
Wi-Fi 8:开启极高可靠性 (UHR) 连接的新纪元——1
英国作家狄更斯在《双城记》的开头写道:“这是最好的时代,也是最坏的时代。”
这句话若套用在现今Wi-Fi 的市场现状,何尝不是惊人的相似?
怎么说呢?Wi-Fi 从被发明至今已经经过了20多年的迭代
发表于 06-13 11:09
【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】第二弹 常用代码目录分析
评论