Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
1973fb93
D
Docs
项目概览
OpenHarmony
/
Docs
接近 2 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
1973fb93
编写于
7月 12, 2023
作者:
O
openharmony_ci
提交者:
Gitee
7月 12, 2023
浏览文件
操作
浏览文件
下载
差异文件
!20777 修改由于章节变更导致的断链问题。
Merge pull request !20777 from liyan/master
上级
c0b0fcdb
e92b701e
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
10 addition
and
9 deletion
+10
-9
zh-cn/device-dev/device-dev-guide.md
zh-cn/device-dev/device-dev-guide.md
+2
-2
zh-cn/device-dev/driver/driver-peripherals-lcd-des.md
zh-cn/device-dev/driver/driver-peripherals-lcd-des.md
+1
-1
zh-cn/device-dev/driver/driver-peripherals-touch-des.md
zh-cn/device-dev/driver/driver-peripherals-touch-des.md
+3
-3
zh-cn/device-dev/guide/device-driver-demo.md
zh-cn/device-dev/guide/device-driver-demo.md
+2
-1
zh-cn/device-dev/guide/device-outerdriver-demo.md
zh-cn/device-dev/guide/device-outerdriver-demo.md
+1
-1
zh-cn/device-dev/porting/porting-smallchip-driver-overview.md
...n/device-dev/porting/porting-smallchip-driver-overview.md
+1
-1
未找到文件。
zh-cn/device-dev/device-dev-guide.md
浏览文件 @
1973fb93
...
@@ -37,7 +37,7 @@ OpenHarmony也提供了一系列可选的系统组件,方便设备开发者按
...
@@ -37,7 +37,7 @@ OpenHarmony也提供了一系列可选的系统组件,方便设备开发者按
| 了解OpenHarmony | 整体认知OpenHarmony | -
[OpenHarmony概述](https://gitee.com/openharmony)
<br/>
-
[
术语
](
../glossary.md
)
|
| 了解OpenHarmony | 整体认知OpenHarmony | -
[OpenHarmony概述](https://gitee.com/openharmony)
<br/>
-
[
术语
](
../glossary.md
)
|
| 获取开发资源 | 准备开发前相关资源 | -
[获取源码](get-code/sourcecode-acquire.md)
<br/>
-
[
获取工具
](
get-code/gettools-acquire.md
)
|
| 获取开发资源 | 准备开发前相关资源 | -
[获取源码](get-code/sourcecode-acquire.md)
<br/>
-
[
获取工具
](
get-code/gettools-acquire.md
)
|
| 快速入门 | 快速熟悉OpenHarmony环境搭建、编译、烧录、调测、运行 | -
[
快速入门
](
quick-start/Readme-CN.md
)
|
| 快速入门 | 快速熟悉OpenHarmony环境搭建、编译、烧录、调测、运行 | -
[
快速入门
](
quick-start/Readme-CN.md
)
|
| 基础能力使用 | 使用OpenHarmony提供的基础能力 | -
[轻量系统内核开发指南](kernel/kernel-mini-overview.md)
<br/>
-
[小型系统内核开发指南](kernel/kernel-small-overview.md)
<br/>
-
[驱动开发指南](driver/driver-
hdf-overview
.md)
<br/>
-
[子系统开发指南](subsystems/subsys-build-all.md)
<br/>
-
[安全指南](security/security-guidelines-overall.md)
<br/>
-
[
隐私保护
](
security/security-privacy-protection.md
)
|
| 基础能力使用 | 使用OpenHarmony提供的基础能力 | -
[轻量系统内核开发指南](kernel/kernel-mini-overview.md)
<br/>
-
[小型系统内核开发指南](kernel/kernel-small-overview.md)
<br/>
-
[驱动开发指南](driver/driver-
overview-foundation
.md)
<br/>
-
[子系统开发指南](subsystems/subsys-build-all.md)
<br/>
-
[安全指南](security/security-guidelines-overall.md)
<br/>
-
[
隐私保护
](
security/security-privacy-protection.md
)
|
| 进阶开发 | 结合系统能力开发智能设备 | -
[WLAN连接类产品](guide/device-wlan-led-control.md)
<br/>
-
[
带屏摄像头类产品
](
guide/device-camera-control-overview.md
)
|
| 进阶开发 | 结合系统能力开发智能设备 | -
[WLAN连接类产品](guide/device-wlan-led-control.md)
<br/>
-
[
带屏摄像头类产品
](
guide/device-camera-control-overview.md
)
|
| 移植适配 | -
针对特定芯片做移植适配
<br/>
-
对三方库进行移植适配
<br/>
-
三方厂商移植案例
<br/>
| -
[轻量系统芯片移植指导](porting/porting-minichip-overview.md)
<br/>
-
[小型系统芯片移植指导](porting/porting-smallchip-prepare-needs.md)
<br/>
-
[
轻量和小型系统三方库移植指导
](
porting/porting-thirdparty-overview.md
)
<br/>
-
[
带屏解决方案之恒玄芯片移植案例
](
porting/porting-bes2600w-on-minisystem-display-demo.md
)
<br/>
-
[
Combo解决方案之ASR芯片移植案例
](
porting/porting-asr582x-combo-demo.md
)
<br/>
-
[
物联网解决方案之芯海cst85芯片移植案例
](
porting/porting-cst85f01-combo-demo.md
)
<br/>
-
[
轻量系统STM32F407芯片移植案例
](
porting/porting-stm32f407-on-minisystem-eth.md
)
<br/>
-
[
Combo解决方案之W800芯片移植案例
](
porting/porting-w800-combo-demo.md
)
<br/>
-
[
小型设备STM32MP1芯片移植案例
](
porting/porting-stm32mp15xx-on-smallsystem.md
)
|
| 移植适配 | -
针对特定芯片做移植适配
<br/>
-
对三方库进行移植适配
<br/>
-
三方厂商移植案例
<br/>
| -
[轻量系统芯片移植指导](porting/porting-minichip-overview.md)
<br/>
-
[小型系统芯片移植指导](porting/porting-smallchip-prepare-needs.md)
<br/>
-
[
轻量和小型系统三方库移植指导
](
porting/porting-thirdparty-overview.md
)
<br/>
-
[
带屏解决方案之恒玄芯片移植案例
](
porting/porting-bes2600w-on-minisystem-display-demo.md
)
<br/>
-
[
Combo解决方案之ASR芯片移植案例
](
porting/porting-asr582x-combo-demo.md
)
<br/>
-
[
物联网解决方案之芯海cst85芯片移植案例
](
porting/porting-cst85f01-combo-demo.md
)
<br/>
-
[
轻量系统STM32F407芯片移植案例
](
porting/porting-stm32f407-on-minisystem-eth.md
)
<br/>
-
[
Combo解决方案之W800芯片移植案例
](
porting/porting-w800-combo-demo.md
)
<br/>
-
[
小型设备STM32MP1芯片移植案例
](
porting/porting-stm32mp15xx-on-smallsystem.md
)
|
| 贡献组件 | 为OpenHarmony贡献功能组件 | -
[HPM
Part
介绍](hpm-part/hpm-part-about.md)
<br/>
-
[HPM
Part
开发指导](hpm-part/hpm-part-development.md)
<br/>
-
[HPM
Part
参考](hpm-part/hpm-part-reference.md) |
| 贡献组件 | 为OpenHarmony贡献功能组件 | -
[HPM
Part
介绍](hpm-part/hpm-part-about.md)
<br/>
-
[HPM
Part
开发指导](hpm-part/hpm-part-development.md)
<br/>
-
[HPM
Part
参考](hpm-part/hpm-part-reference.md) |
...
@@ -49,7 +49,7 @@ OpenHarmony也提供了一系列可选的系统组件,方便设备开发者按
...
@@ -49,7 +49,7 @@ OpenHarmony也提供了一系列可选的系统组件,方便设备开发者按
| 了解OpenHarmony | 整体认知OpenHarmony | -
[OpenHarmony概述](https://gitee.com/openharmony)
<br/>
-
[
术语
](
../glossary.md
)
|
| 了解OpenHarmony | 整体认知OpenHarmony | -
[OpenHarmony概述](https://gitee.com/openharmony)
<br/>
-
[
术语
](
../glossary.md
)
|
| 获取开发资源 | 准备开发前相关资源 | -
[获取源码](get-code/sourcecode-acquire.md)
<br/>
-
[
获取工具
](
get-code/gettools-acquire.md
)
|
| 获取开发资源 | 准备开发前相关资源 | -
[获取源码](get-code/sourcecode-acquire.md)
<br/>
-
[
获取工具
](
get-code/gettools-acquire.md
)
|
| 快速入门 | 快速熟悉OpenHarmony环境搭建、编译、烧录、调测、运行 | -
[
快速入门
](
quick-start/Readme-CN.md
)
|
| 快速入门 | 快速熟悉OpenHarmony环境搭建、编译、烧录、调测、运行 | -
[
快速入门
](
quick-start/Readme-CN.md
)
|
| 基础能力使用 | 使用OpenHarmony提供的基础能力 | -
[内核开发指南](kernel/kernel-standard-overview.md)
<br/>
-
[驱动开发指南](driver/driver-
hdf-overview
.md)
<br/>
-
[子系统开发指南](subsystems/subsys-build-all.md)
<br/>
-
[安全指南](security/security-guidelines-overall.md)
<br/>
-
[
隐私保护
](
security/security-privacy-protection.md
)
|
| 基础能力使用 | 使用OpenHarmony提供的基础能力 | -
[内核开发指南](kernel/kernel-standard-overview.md)
<br/>
-
[驱动开发指南](driver/driver-
overview-foundation
.md)
<br/>
-
[子系统开发指南](subsystems/subsys-build-all.md)
<br/>
-
[安全指南](security/security-guidelines-overall.md)
<br/>
-
[
隐私保护
](
security/security-privacy-protection.md
)
|
| 进阶开发 | 结合系统能力开发智能设备 | -
[时钟应用开发指导](guide/device-clock-guide.md)
<br/>
-
[平台驱动开发示例](guide/device-driver-demo.md)
<br/>
-
[
外设驱动开发示例
](
guide/device-outerdriver-demo.md
)
|
| 进阶开发 | 结合系统能力开发智能设备 | -
[时钟应用开发指导](guide/device-clock-guide.md)
<br/>
-
[平台驱动开发示例](guide/device-driver-demo.md)
<br/>
-
[
外设驱动开发示例
](
guide/device-outerdriver-demo.md
)
|
| 移植适配 | -
针对特定芯片做移植适配
<br/>
-
快速移植OpenHarmony
Linux内核的方法| -
[标准系统芯片移植指导](porting/standard-system-porting-guide.md)
<br/>
-
[一种快速移植OpenHarmony
Linux内核的方法](porting/porting-linux-kernel.md)
<br/>
-
[
标准系统方案之瑞芯微RK3568移植案例
](
porting/porting-dayu200-on_standard-demo.md
)
<br/>
-
[
标准系统方案之瑞芯微RK3566移植案例
](
https://gitee.com/openharmony/vendor_kaihong/blob/master/khdvk_3566b/porting-khdvk_3566b-on_standard-demo.md
)
|
| 移植适配 | -
针对特定芯片做移植适配
<br/>
-
快速移植OpenHarmony
Linux内核的方法| -
[标准系统芯片移植指导](porting/standard-system-porting-guide.md)
<br/>
-
[一种快速移植OpenHarmony
Linux内核的方法](porting/porting-linux-kernel.md)
<br/>
-
[
标准系统方案之瑞芯微RK3568移植案例
](
porting/porting-dayu200-on_standard-demo.md
)
<br/>
-
[
标准系统方案之瑞芯微RK3566移植案例
](
https://gitee.com/openharmony/vendor_kaihong/blob/master/khdvk_3566b/porting-khdvk_3566b-on_standard-demo.md
)
|
| 贡献组件 | 为OpenHarmony贡献功能组件 | -
[HPM
Part
介绍](hpm-part/hpm-part-about.md)
<br/>
-
[HPM
Part
开发指导](hpm-part/hpm-part-development.md)
<br/>
-
[HPM
Part
参考](hpm-part/hpm-part-reference.md) |
| 贡献组件 | 为OpenHarmony贡献功能组件 | -
[HPM
Part
介绍](hpm-part/hpm-part-about.md)
<br/>
-
[HPM
Part
开发指导](hpm-part/hpm-part-development.md)
<br/>
-
[HPM
Part
参考](hpm-part/hpm-part-reference.md) |
...
...
zh-cn/device-dev/driver/driver-peripherals-lcd-des.md
浏览文件 @
1973fb93
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
LCD(Liquid Crystal Display)驱动编程,通过对显示器上电、初始化显示器驱动IC(Integrated Circuit)内部寄存器等操作,使其可以正常工作。
LCD(Liquid Crystal Display)驱动编程,通过对显示器上电、初始化显示器驱动IC(Integrated Circuit)内部寄存器等操作,使其可以正常工作。
基于HDF(Hardware Driver Foundation)
[
驱动框架
](
driver-
hdf-manage
.md
)
构建的Display驱动模型作用如下:
基于HDF(Hardware Driver Foundation)
[
驱动框架
](
driver-
overview-foundation
.md
)
构建的Display驱动模型作用如下:
-
为LCD器件驱动开发提供了基础驱动框架,提升驱动开发效率。
-
为LCD器件驱动开发提供了基础驱动框架,提升驱动开发效率。
...
...
zh-cn/device-dev/driver/driver-peripherals-touch-des.md
浏览文件 @
1973fb93
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
Touchscreen驱动用于驱动触摸屏使其正常工作,该驱动主要完成如下工作:对触摸屏驱动IC进行上电、配置硬件管脚并初始化其状态、注册中断、配置通信接口(I2C或SPI)、设定Input相关配置、下载及更新固件等操作。
Touchscreen驱动用于驱动触摸屏使其正常工作,该驱动主要完成如下工作:对触摸屏驱动IC进行上电、配置硬件管脚并初始化其状态、注册中断、配置通信接口(I2C或SPI)、设定Input相关配置、下载及更新固件等操作。
在HDF(Hardware Driver Foundation)
[
驱动管理框架
](
../driver/driver-hdf-development
.md
)
的基础上,Input驱动模型通过调用OSAL接口层和Platform接口层提供的基础接口进行开发,涉及的接口包括bus通信接口、操作系统原生接口(memory、lock、thread、timer等)。由于OSAL接口和Platform接口屏蔽了芯片平台的差异,所以基于Input驱动模型实现的Touchscreen驱动可以进行跨平台、跨OS迁移,从而实现驱动的一次开发、多端部署。
在HDF(Hardware Driver Foundation)
[
驱动管理框架
](
driver-overview-foundation
.md
)
的基础上,Input驱动模型通过调用OSAL接口层和Platform接口层提供的基础接口进行开发,涉及的接口包括bus通信接口、操作系统原生接口(memory、lock、thread、timer等)。由于OSAL接口和Platform接口屏蔽了芯片平台的差异,所以基于Input驱动模型实现的Touchscreen驱动可以进行跨平台、跨OS迁移,从而实现驱动的一次开发、多端部署。
### 运作机制
### 运作机制
...
@@ -123,7 +123,7 @@ Input HDF驱动提供给系统服务Input Service调用的HDI驱动能力接口
...
@@ -123,7 +123,7 @@ Input HDF驱动提供给系统服务Input Service调用的HDI驱动能力接口
根据Input驱动模型的加载流程可知,Touchscreen器件驱动的开发过程主要包含以下三个步骤:
根据Input驱动模型的加载流程可知,Touchscreen器件驱动的开发过程主要包含以下三个步骤:
1.
设备描述配置:目前Input驱动基于HDF驱动框架编写,驱动的加载启动由HDF驱动管理框架统一处理。首先需要在对应的配置文件中,将驱动信息注册进去,如是否加载、加载优先级,此后HDF驱动框架会逐一启动注册过的驱动模块。驱动的相关配置请参考
[
HDF驱动
框架配置指导
](
../driver/driver-hdf-development.md#驱动开发步骤
)
。
1.
设备描述配置:目前Input驱动基于HDF驱动框架编写,驱动的加载启动由HDF驱动管理框架统一处理。首先需要在对应的配置文件中,将驱动信息注册进去,如是否加载、加载优先级,此后HDF驱动框架会逐一启动注册过的驱动模块。驱动的相关配置请参考
[
HDF驱动
开发流程
](
driver-hdf-manage.md
)
。
2.
板级配置及Touchscreen器件私有配置:配置对应的IO管脚功能,例如对单板上为Touchscreen设计预留的I2C Pin脚,需设置对应的寄存器,使其选择I2C的通信功能。
2.
板级配置及Touchscreen器件私有配置:配置对应的IO管脚功能,例如对单板上为Touchscreen设计预留的I2C Pin脚,需设置对应的寄存器,使其选择I2C的通信功能。
...
@@ -136,7 +136,7 @@ Input HDF驱动提供给系统服务Input Service调用的HDI驱动能力接口
...
@@ -136,7 +136,7 @@ Input HDF驱动提供给系统服务Input Service调用的HDI驱动能力接口
1.
设备描述配置
1.
设备描述配置
如下配置主要包含Input驱动模型各模块层级信息,配置文件路径为vendor/hihope/rk3568/hdf_config/khdf/device_info/device_info.hcs。具体原理可参考
[
HDF驱动开发
指南
](
../driver/driver-hdf-development
.md
)
,HDF框架依据该配置信息实现对Input模型各模块的依次加载等。
如下配置主要包含Input驱动模型各模块层级信息,配置文件路径为vendor/hihope/rk3568/hdf_config/khdf/device_info/device_info.hcs。具体原理可参考
[
HDF驱动开发
流程
](
driver-hdf-manage
.md
)
,HDF框架依据该配置信息实现对Input模型各模块的依次加载等。
```
c
```
c
input
::
host
{
input
::
host
{
...
...
zh-cn/device-dev/guide/device-driver-demo.md
浏览文件 @
1973fb93
...
@@ -12,6 +12,7 @@ HDF驱动框架为常用外围设备提供了标准的驱动框架,驱动开
...
@@ -12,6 +12,7 @@ HDF驱动框架为常用外围设备提供了标准的驱动框架,驱动开
本文以I2C为例。其时序流程如
[
图1
](
#fig9596628607
)
所示。
本文以I2C为例。其时序流程如
[
图1
](
#fig9596628607
)
所示。
**图 1**
I2C时序流程图
<a
name=
"fig9596628607"
></a>
**图 1**
I2C时序流程图
<a
name=
"fig9596628607"
></a>


## 环境准备<a name="section6926133918422"></a>
## 环境准备<a name="section6926133918422"></a>
...
@@ -143,7 +144,7 @@ HDF_INIT(g_sampleI2cDriverEntry);
...
@@ -143,7 +144,7 @@ HDF_INIT(g_sampleI2cDriverEntry);
2.
添加配置参数(可选)。
2.
添加配置参数(可选)。
有时驱动可能会需要私有配置信息,以确保寄存器的配置可以满足不同产品的需求。如需要私有配置信息,则可以添加一个驱动的配置文件,用来存放一些驱动的默认配置信息,HDF框架在加载驱动的时候,会将对应的配置信息获取并保存在HdfDeviceObject 中的property里面,通过Bind和Init(参考[驱动开发](../driver/driver-
hdf-development
.md))传递给驱动。驱动开发者可新建配置文件,并在板级驱动hdf.hcs中引用新建的配置文件,本例中直接在原有的配置文件i2c\_config.hcs内添加配置参数。
有时驱动可能会需要私有配置信息,以确保寄存器的配置可以满足不同产品的需求。如需要私有配置信息,则可以添加一个驱动的配置文件,用来存放一些驱动的默认配置信息,HDF框架在加载驱动的时候,会将对应的配置信息获取并保存在HdfDeviceObject 中的property里面,通过Bind和Init(参考[驱动开发](../driver/driver-
overview-foundation
.md))传递给驱动。驱动开发者可新建配置文件,并在板级驱动hdf.hcs中引用新建的配置文件,本例中直接在原有的配置文件i2c\_config.hcs内添加配置参数。
本例中编辑i2c\_config.hcs,添加配置参数:
本例中编辑i2c\_config.hcs,添加配置参数:
...
...
zh-cn/device-dev/guide/device-outerdriver-demo.md
浏览文件 @
1973fb93
...
@@ -42,7 +42,7 @@ Input驱动模型核心部分由设备管理层、公共驱动层、器件驱动
...
@@ -42,7 +42,7 @@ Input驱动模型核心部分由设备管理层、公共驱动层、器件驱动
device
\_
info.hcs中的信息主要提供给HDF框架使用,包含了Input模型各层驱动注册到HDF框架所必需的信息,开发者无特殊场景需求无需改动。各驱动层私有配置信息通过“deviceMatchAttr”字段与input
\_
config.hcs中的“match
\_
attr”相关内容进行匹配。
device
\_
info.hcs中的信息主要提供给HDF框架使用,包含了Input模型各层驱动注册到HDF框架所必需的信息,开发者无特殊场景需求无需改动。各驱动层私有配置信息通过“deviceMatchAttr”字段与input
\_
config.hcs中的“match
\_
attr”相关内容进行匹配。
配置文件中与input模块相关的内容如下所示,相关字段的详细含义可以参考《
[
驱动配置
](
../driver/driver-
hdf-development
.md
)
》:
配置文件中与input模块相关的内容如下所示,相关字段的详细含义可以参考《
[
驱动配置
](
../driver/driver-
overview-foundation
.md
)
》:
```
```
input :: host {
input :: host {
...
...
zh-cn/device-dev/porting/porting-smallchip-driver-overview.md
浏览文件 @
1973fb93
...
@@ -9,4 +9,4 @@
...
@@ -9,4 +9,4 @@
!
[
zh-cn_image_0000001207599659
](
figures/zh-cn_image_0000001207599659.png
)
!
[
zh-cn_image_0000001207599659
](
figures/zh-cn_image_0000001207599659.png
)
HDF驱动被设计为可以跨OS使用的驱动程序,HDF驱动框架会为驱动达成这个目标提供有力的支撑。开发HDF驱动中,请尽可能只使用HDF驱动框架提供的接口,否则会导致驱动丧失跨OS使用的特性。在开始驱动开发前,建议先了解
[
HDF驱动框架
](
../driver/driver-
hdf-overview
.md
)
。
HDF驱动被设计为可以跨OS使用的驱动程序,HDF驱动框架会为驱动达成这个目标提供有力的支撑。开发HDF驱动中,请尽可能只使用HDF驱动框架提供的接口,否则会导致驱动丧失跨OS使用的特性。在开始驱动开发前,建议先了解
[
HDF驱动框架
](
../driver/driver-
overview-foundation
.md
)
。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录