打印
[嵌入式linux]

迅为RK3568开发板实操-HDF驱动配置UART-修改HCS配置

[复制链接]
45|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
遥寄山川|  楼主 | 2025-5-22 11:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对于不同的平台,需要在对应的平台目录修改对应的 hcs 文件,接下来示例为在 rk3568下新增 uart4 uart9 uart7 的修改方法。
修改 vendor/hihope/rk3568/hdf_config/khdf/device_info/device_info.hcs 文件,device_info.hcs 中添加以下内容:
1、device3 :: deviceNode {
2、policy = 2;
3、permission = 0644;
4、priority = 40;
5、moduleName = "HDF_PLATFORM_UART";
6、serviceName = "HDF_PLATFORM_UART_4";
7、deviceMatchAttr = "rockchip_rk3568_uart_4";
8、}
9、device4 :: deviceNode {
10、policy = 2;
11、permission = 0644;
12、priority = 40;
13、moduleName = "HDF_PLATFORM_UART";
14、serviceName = "HDF_PLATFORM_UART_7";
15、deviceMatchAttr = "rockchip_rk3568_uart_7";
16、}
17、device5 :: deviceNode {
18、policy = 2;
19、permission = 0644;
20、priority = 40;
21、moduleName = "HDF_PLATFORM_UART";
22、serviceName = "HDF_PLATFORM_UART_9";
23、deviceMatchAttr = "rockchip_rk3568_uart_9";
24、}
在配置过程中要注意以下几点:
1 device3,device4,device5 是自定义的,可以根据实际情况修改
2 policy 表示服务策略,取值为 0 时,表示不发布服务,取值为 1 时表示向内核态发布服务,
取值为 2 时表示向内核用户态发布服务
3 moduleName 的值要与驱动实现的 HdfDriverEntry 结构体中的 moduleName 相同。
4 deviceMatchAttr 的值表示驱动的私有配置信息
5 serviceName 表示服务名称,服务加载成功之后会在开发板的/dev/目录下生成节点。例如
HDF_PLATFORM_UART_9 后面跟着的数据 9 是 UartOpen()的端口号

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

451

主题

458

帖子

2

粉丝