硬件开发
文章平均质量分 89
普通网友
这个作者很懒,什么都没留下…
展开
-
OpenHarmony 鸿蒙内核对象事件之源码详解
对于嵌入式开发工作人员和技术爱好者来说,深入了解常见任务间 IPC,有助于学习和研发内核。本文将从数据结构和算法解析 OpenHarmony 的事件机制,带大家深入了解内核任务间 IPC 原理。原创 2024-07-08 21:24:53 · 918 阅读 · 0 评论 -
分布式数据对象:超级终端的“全局变量“
OpenHarmony 作为分布式操作系统,支持运行在不同的终端设备上。这些终端设备通过跨端迁移和多端协同等,可以为用户提供丰富、流畅的全场景体验。在这种分布式场景下,不同设备之间需要进行数据互通来实现设备间的配合。下面先看以下这个分布式场景的示例:示例:可触屏和TV的协作在 TV/PAD 上观看视频时,在可触屏设备上控制 TV/PAD 上的播放状态、进度、音量和速度等,实现多端控制。图1 多端控制,解放设备限制要实现上面这个示例的功能,首先必须实现设备之间的数据同步。原创 2024-07-08 20:44:15 · 714 阅读 · 0 评论 -
OpenHarmony 关键特性解析——HDI硬件设备接口介绍
HDI(Hardware Device Interface,硬件设备接口)是 HDF 驱动框架为开发者提供的硬件规范化描述性接口。在 OpenHarmony 分层结构中,HDI 位于 “基础系统服务层”和“设备抽象层(DAL)”之间。硬件设备通过 DAL 抽象化,并基于 IDL(Interface Description Language)接口描述语言描述后,为上层应用或服务提供了规范的硬件设备接口。图2 OpenHarmony 分层结构HDI 支持“IPC 模式”及“直通模式”两种调用方式。原创 2024-07-08 20:10:46 · 926 阅读 · 0 评论 -
OpenHarmony轻量系统开发【7】驱动之I2C显示OLED屏幕
这里我直接用许思维老师之前移植好的代码,不过由于鸿蒙版本更新过快,许思维老师之前的代码是基于1.0版本,直接拿到3.0以上版本编译会出错,这里我修改了编译错误。Hispark WiFi开发套件又提供一个oled屏幕,但是鸿蒙源码中没有这个屏幕的驱动,我们需要自己去移植。使用引脚:HI_IO_NAME_GPIO_13 、 HI_IO_NAME_GPIO_14。测试代码,里面有一个ssd1306_demo.c文件,是我们的入口函数。我们要操作OLED屏幕,就需要使用I2C发送数据给OLED屏幕,代码使用。原创 2024-05-21 21:53:00 · 342 阅读 · 0 评论 -
OpenHarmony轻量系统开发【6】驱动之ADC按键
本文简单介绍如何操作ADC去读取电压,并且实现开发板上3个ADC按键检测的功能。原创 2024-05-21 21:30:57 · 583 阅读 · 0 评论 -
OpenHarmony轻量系统开发【5】驱动之GPIO点灯
OpenHarmony为轻量系统提供了一套简单的驱动封装接口,函数的定义相关头文件位于“base\iot_hardware\peripheral\interfaces\kits”这里是代码实现,具体是将hi3861相关的驱动接口封装成鸿蒙的驱动接口。这里只有头文件,具体的函数实现,需要在对应的soc中,具体路径定义由。编译后烧录进去,应该可以看到复位按键旁边的LED灯一直在闪烁。所以我们可以知道,具体的路径就是。先看最简单得LED灯闪烁操作。(2)普通GPIO相关API。(3)按键中断相关API。原创 2024-05-21 20:26:03 · 460 阅读 · 0 评论 -
OpenHarmony轻量系统开发【4】编写第一个程序、启动流程分析
以my_first_app为例,需要创建./applications/sample/wifi-iot/app/my_first_app/BUILD.gn,并完如下配置。myapp是目标,指向./applications/sample/wifi-iot/app/my_first_app/BUILD.gn中的static_library(“myapp”)。my_first_app是相对路径,指向./applications/sample/wifi-iot/app/my_first_app/BUILD.gn。原创 2024-05-21 18:00:06 · 1028 阅读 · 0 评论 -
OpenHarmony轻量系统开发【3】代码编译和烧录
下载完代码后,大家可以进入代码目录:该文件夹存放的是厂商相关的配置,包括组件配置、HDF相关配置,代码目录如下:可以看到有hisilicon文件夹,下面有Hi3516DV300、hispark_aries等,其中hi3861开发板对应的是hispark_pegasus里面有如下文件:其中比较重要的是 config.json配置文件,里面定义了内核类型,和使用了哪些子系统。具体我们后再做具体解读。该文件夹存放的是具体开发板、芯片相关的源码。这里OpenHarmony又分为SoC和Board两大块。原创 2024-05-21 17:13:55 · 773 阅读 · 0 评论 -
OpenHarmony轻量系统开发【2】源码下载和开发环境
关于Windows环境,大家可装可以不装,编写代码可以使用自己喜欢的IDE、下载的话,不同开发板都会提供不同的下载工具。安装ecdsa依赖six,请先安装six,再安装ecdsa。(2)具体开发板所需的开发环境:这个跟具体芯片、开发板相关,例如对应的交叉编译器、或者制作文件系统相关的脚本组件等。(1)OpenHarmony代码所需的公共部分:这里主要是安装python、hb等,这些都是必须的。以下是主干代码的下载方式,但是主干代码可能会不稳定,不推荐大家使用,推荐大家使用TLS版本。原创 2024-05-21 16:23:04 · 1089 阅读 · 0 评论 -
OpenHarmony轻量系统开发【1】初始OpenHarmony
OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。技术架构如下:中查看。特别是内核层的多内核设计、HDF驱动框架、分布式能力等。OpenHarmony是一个面向全场景,支持各类设备的系统。这里的设备就包括像MCU单片机这样资源较少的芯片,也支持像RK3568这样的多核CPU。原创 2024-05-21 15:43:50 · 1154 阅读 · 0 评论 -
OpenHarmony 实战开发之——USB驱动
USB Host DDK提供给用户态可直接调用的驱动能力接口,按照功能分为三大类:DDK初始化类、对interface对象操作类、对request对象操作类,可以提供DDK初始化、interface绑定和释放,打开和关闭设备操作,request的申请和释放,同步和异步传输等。USB Device DDK提供设备管理、IO管理、配置管理,主要功能有:创建和删除设备、获取和打开接口、同步和异步传输等。USB仓Device侧相关模块逻辑视图。USB Device DDK接口。USB HOST DDK接口。原创 2024-05-21 14:38:44 · 474 阅读 · 0 评论 -
OpenHarmony开发之——Light驱动模型详解~
Light驱动模型为上层Light硬件服务层提供稳定的灯控制能力接口,包括获取灯类型、配置点灯模式、配置灯闪烁效果、点灯、熄灯等。基于HDF( Hardware Device Interface )驱动框架开发的Light驱动模型,实现跨操作系统迁移,器件差异配置等功能。实现Light驱动“一次开发,多系统部署”的目标。Light驱动模型图。原创 2024-05-21 14:05:51 · 930 阅读 · 0 评论 -
OpenHarmony 实战开发——Camera模块详解~
初始化CameraDevice函数实现如下,这里调用了GetCameraIds(cameraIds),GetCameraAbility(cameraId, ability),OpenCamera(cameraIds.front(), callback, demoCameraDevice_)等接口实现了demoCameraHost的获取。OpenHarmony相机驱动框架模型对上实现相机HDI(Hardware Device Interface)接口,对下实现相机Pipeline模型,管理相机各个硬件设备。原创 2024-05-20 21:53:12 · 1099 阅读 · 0 评论 -
OpenHarmony驱动子系统开发—GPIO按键事件中断
本案例程序是演示GPIO中断接口的基本使用,案例操作结果是通过按键切换开发板上的LED的点亮和熄灭效果。本案例使用的按键根据开发板原理图可以得到,接入的是GPIO5号引脚。所以本次开发驱动的GPIO引脚是GPIO5。原创 2024-05-20 21:22:32 · 928 阅读 · 0 评论