Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
a453eff3
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
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看板
未验证
提交
a453eff3
编写于
8月 10, 2023
作者:
O
openharmony_ci
提交者:
Gitee
8月 10, 2023
浏览文件
操作
浏览文件
下载
差异文件
!22039 【挑单4.0-Beta2】modify driver framework path
Merge pull request !22039 from liveery/cherry-pick-1691464960
上级
46e56d45
44e610d7
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
36 addition
and
37 deletion
+36
-37
zh-cn/device-dev/porting/porting-smallchip-driver-oom.md
zh-cn/device-dev/porting/porting-smallchip-driver-oom.md
+16
-16
zh-cn/device-dev/porting/standard-system-porting-guide.md
zh-cn/device-dev/porting/standard-system-porting-guide.md
+20
-21
未找到文件。
zh-cn/device-dev/porting/porting-smallchip-driver-oom.md
浏览文件 @
a453eff3
...
...
@@ -8,7 +8,7 @@
移植LCD驱动的主要工作是编写一个驱动,在驱动中生成模型的实例,并完成注册。
这些LCD的驱动被放置在源码目录//drivers/framework/model/display/driver/panel中。
这些LCD的驱动被放置在源码目录//drivers/
hdf_core/
framework/model/display/driver/panel中。
1.
创建Panel驱动
创建HDF驱动,在驱动初始化中调用RegisterPanel接口注册模型实例。如:
...
...
@@ -61,7 +61,7 @@
## TP驱动移植
本节描述如何移植触摸屏驱动。触摸屏的器件驱动被放置在源码目录//drivers/framework/model/input/driver/touchscreen中。 移植触摸屏驱动主要工作是向系统注册ChipDevice模型实例。
本节描述如何移植触摸屏驱动。触摸屏的器件驱动被放置在源码目录//drivers/
hdf_core/
framework/model/input/driver/touchscreen中。 移植触摸屏驱动主要工作是向系统注册ChipDevice模型实例。
详细的驱动开发指导,请参考
[
TOUCHSCREEN开发指导
](
../driver/driver-peripherals-touch-des.md
)
。
...
...
@@ -130,11 +130,11 @@ WLAN驱动分为两部分,一部分负责管理WLAN设备,另一个部分负
如图1,左半部分负责管理WLAN设备,右半部分负责WLAN流量。HDF WLAN分别为这两部分做了抽象,驱动的移植过程可以看做分别实现这两部分所需接口。这些接口有:
| 接口 | 定义头文件 | 接口说明 |
| 接口 | 定义头文件 | 接口说明 |
| -------- | -------- | -------- |
| HdfChipDriverFactory | drivers
\
f
ramework
\i
nclude
\w
ifi
\h
df_wlan_chipdriver_manager.h | ChipDriver的Factory,用于支持一个芯片多个WLAN端口 |
| HdfChipDriver | drivers
\
f
ramework
\i
nclude
\w
ifi
\w
ifi_module.h | 每个WLAN端口对应一个HdfChipDriver,用来管理一个特定端口 |
| NetDeviceInterFace | drivers
\
f
ramework
\i
nclude
\w
ifi
\n
et_device.h | 与协议栈之间的接口,如发送数据、设置网络接口状态等 |
| HdfChipDriverFactory | drivers
\
h
df_core
\f
ramework
\i
nclude
\w
ifi
\h
df_wlan_chipdriver_manager.h | ChipDriver的Factory,用于支持一个芯片多个WLAN端口 |
| HdfChipDriver | drivers
\
h
df_core
\f
ramework
\i
nclude
\w
ifi
\w
ifi_module.h | 每个WLAN端口对应一个HdfChipDriver,用来管理一个特定端口 |
| NetDeviceInterFace | drivers
\
h
df_core
\f
ramework
\i
nclude
\w
ifi
\n
et_device.h | 与协议栈之间的接口,如发送数据、设置网络接口状态等 |
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 详细的接口开发指导,请参考[WLAN开发](../driver/driver-peripherals-external-des.md)。
...
...
@@ -146,7 +146,7 @@ WLAN驱动分为两部分,一部分负责管理WLAN设备,另一个部分负
```
static int32_t HdfWlan
Hisi
ChipDriverInit(struct HdfDeviceObject *device) {
static int32_t HdfWlan
XXX
ChipDriverInit(struct HdfDeviceObject *device) {
static struct HdfChipDriverFactory factory = CreateChipDriverFactory(); // 需要移植者实现的方法
struct HdfChipDriverManager *driverMgr = HdfWlanGetChipDriverMgr();
if (driverMgr->RegChipDriver(&factory) != HDF_SUCCESS) { // 注册驱动工厂
...
...
zh-cn/device-dev/porting/standard-system-porting-guide.md
浏览文件 @
a453eff3
...
...
@@ -172,7 +172,7 @@ BUILD.gn是subsystem构建的唯一入口。
HDF为LCD设计了驱动模型。支持一块新的LCD,需要编写一个驱动,在驱动中生成模型的实例,并完成注册。
这些LCD的驱动被放置在//drivers/framework/model/display/driver/panel目录中。
这些LCD的驱动被放置在//drivers/
hdf_core/
framework/model/display/driver/panel目录中。
-
创建Panel驱动
...
...
@@ -203,7 +203,6 @@ HDF_INIT(g_xxxxDevEntry);
-
配置加载panel驱动产品的所有设备信息被定义在文件//vendor/MyProductVendor/MyProduct/config/device_info/device_info.hcs中。修改该文件,在display的host中,名为device_lcd的device中增加配置。注意:moduleName 要与panel驱动中的moduleName相同。
```
root {
...
...
...
@@ -225,7 +224,7 @@ root {
### 触摸屏
本节描述如何移植触摸屏驱动。触摸屏的驱动被放置在//drivers/framework/model/input/driver/touchscreen目录中。移植触摸屏驱动主要工作是向系统注册ChipDevice模型实例。
本节描述如何移植触摸屏驱动。触摸屏的驱动被放置在//drivers/
hdf_core/
framework/model/input/driver/touchscreen目录中。移植触摸屏驱动主要工作是向系统注册ChipDevice模型实例。
-
创建触摸屏器件驱动
...
...
@@ -294,12 +293,12 @@ Wi-Fi驱动分为两部分,一部分负责管理WLAN设备,另一个部分
支持一款芯片的主要工作是实现一个ChipDriver驱动。实现HDF_WLAN_CORE和NetDevice提供的接口。主要需要实现的接口有:
| | | |
| | | |
| -------- | -------- | -------- |
| 接口 | 定义头文件 | 说明 |
| HdfChipDriverFactory | //drivers/
framework/include/wifi/hdf_wlan_chipdriver_manager.h | ChipDriver的Factory,用于支持一个芯片多个Wi-Fi端口 |
| HdfChipDriver | //drivers/
framework/include/wifi/wifi_module.h | 每个WLAN端口对应一个HdfChipDriver,用来管理一个特定的WLAN端口 |
| NetDeviceInterFace | //drivers/
framework/include/net/net_device.h | 与协议栈之间的接口,如发送数据、设置网络接口状态等 |
| HdfChipDriverFactory | //drivers/
hdf_core/framework/include/wifi/hdf_wlan_chipdriver_manager.h | ChipDriver的Factory,用于支持一个芯片多个Wi-Fi端口 |
| HdfChipDriver | //drivers/
hdf_core/framework/include/wifi/wifi_module.h | 每个WLAN端口对应一个HdfChipDriver,用来管理一个特定的WLAN端口 |
| NetDeviceInterFace | //drivers/
hdf_core/framework/include/net/net_device.h | 与协议栈之间的接口,如发送数据、设置网络接口状态等 |
建议适配按如下步骤操作:
...
...
@@ -307,7 +306,7 @@ Wi-Fi驱动分为两部分,一部分负责管理WLAN设备,另一个部分
```
static int32_t HdfWlan
Hisi
ChipDriverInit(struct HdfDeviceObject *device) {
static int32_t HdfWlan
XXX
ChipDriverInit(struct HdfDeviceObject *device) {
static struct HdfChipDriverFactory factory = CreateChipDriverFactory();
struct HdfChipDriverManager *driverMgr = HdfWlanGetChipDriverMgr();
if (driverMgr->RegChipDriver(&factory) != HDF_SUCCESS) {
...
...
@@ -406,7 +405,7 @@ config DRIVERS_WLAN_XXX
Answer Y to enable XXX Host driver. Support chip xxx
```
接着修改文件//drivers/adapter/khdf/linux/model/network/wifi/Kconfig,在文件末尾加入如下代码将配置菜单加入内核中,如:
接着修改文件//drivers/
hdf_core/
adapter/khdf/linux/model/network/wifi/Kconfig,在文件末尾加入如下代码将配置菜单加入内核中,如:
```
...
...
@@ -414,7 +413,7 @@ source "../../../../../device/MySoCVendor/peripheral/Kconfig"
```
-
创建构建脚本
在//drivers/adapter/khdf/linux/model/network/wifi/Makefile文件末尾增加配置,模板如下:
在//drivers/
hdf_core/
adapter/khdf/linux/model/network/wifi/Makefile文件末尾增加配置,模板如下:
```
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录