t723h 发表于 7 天前

关于OpenHarmony 中 HDF Uart的操作问题

(为了高效,请按如下格式提问)

硬件主板型号:YY3568
固件名称/系统版本: OpenHarmony 4.1
自编的或固件下载地址:
Log日志:
01-01 08:06:34.36712031203 E C02500/hdf_syscall_adapter: <private>: load dev_mgr driver failed
01-01 08:06:34.36712031203 E C02500/hdf_devmgr_adapter: HdfLoadDriverByServiceName failed to get <private> service
01-01 08:06:34.36712031203 E C02500/hdf_syscall_adapter: <private>: load HDF_PLATFORM_UART_3 driver failed
01-01 08:06:34.36712031203 E C02510/uart_if_u_c: UartOpen: get handle error!



问题描述及复现步骤:

实现一个读串口的程序,引入libhdf_platform.z.so 以及 uart_if.h
调用接口
/**
* @brief Obtains the UART device handle.
*
* Before accessing the UART device, you must call this function to obtain the UART device handle.
*
* @param port Indicates the UART port.
*
* @return Returns the pointer to the UART device handle if the handle is obtained; returns <b>NULL</b> otherwise.
* @since 1.0
*/
DevHandle UartOpen(uint32_t port);


传参 uartOpen(3, 9600),但hdf报错如上Log

此程序基于其他的rk3568的开发版OpenHarmony 4.0 系统是OK的,此移植到yy3568的4.1系统,且更新了libhdf_platform.z.so,
我的问题
1. 是否我串口连接有误,我当前连接到ttyS3这个物理口,如图

不知道1~4的顺序是如图方向的从左到右吗?还是从右到左
2. 其中开发板子文档的标记的TX/RX是不是需要和我设备的标准的TX/RX交叉对应? 还是一一对应?
3. 鸿蒙的hdf驱动是否需要修改,才能调用Uart_if的接口?



t723h 发表于 3 天前

有FAE可以解释下,为何风火轮这个板子 dev下 hdf的驱动节点都没有
而我另一个rk3568的开发板子里,是有一堆hdf的节点,如下

t723h 发表于 5 小时前

本帖最后由 t723h 于 2025-7-11 10:49 编辑

以上问题原因:你们YY3568的openharmony的工程里的make_kernel.sh 去掉了patch_hdf.sh,通过比对openHarmony官网代码,加回来hdf相关的patch,缺失的/dev/HDF*就恢复了。

目前新的问题是,采用和板子一起搭售的TTL转rs485小板子(RV-02),且通过示波器看,发送到接受是有反应的,如图:

但每次发送的波下面,蓝色的接收波有0.2v的小波动,这个不知道是不是我的这个硬件板子有点问题,
从日志看,发送是OK,但收不到回应,dmesg 报错如下:
(-11=-EAGAIN),

请专家们给点提示,怎么解决??


PS. 此程序在别的RK3568搭载开源鸿蒙4.1的开发板上已经验证OK过,此只移植到贵司的YY3568而已
页: [1]
查看完整版本: 关于OpenHarmony 中 HDF Uart的操作问题