#openharmony # #uart# #RK3568 DAYU200# #源码:官方release 4.0#
一、驱动适配
首先查看厂商是否声明了节点:
在 vendor/hihope/rk3568/hdf_config/khdf/device_info/device_info.hcs 中确认设备节点:

在 vendor/hihope/rk3568/hdf_config/khdf/platform/rk3568_uart_config.hcs

在 drivers/hdf_core/adapter/khdf/linux/platform/uart/uart_adapter.c 编写了对接linux驱动的代码

对设备节点做好定义之后,就可以写串口读写代码了。
二、串口读写
1、uart代码
参考官方文档: https://docs.openharmony.cn/pages/v4.1/zh-cn/device-dev/driver/driver-platform-uart-des.md
uart_test.c文件:
BUILD.gn
bundle.json
OpenHarmony编译按照产品-子系统-部件-模块展开,这里我们创建了A2_uart部件,这里要将其加入到编译体系中:
在build/subsystem_config.json文件中声明子系统,加入构建:
在vendor/hihope/rk3568/config.json 中声明gcw子系统的各个部件,加入编译。
2、文件编译
编译日志文件位置: find /root/code/release_4_0/rk3568/out/rk3568/build.log
|
取消远程编译 |
./compile_cancel.sh |
|
开始远程编译(全量编译) |
./compile.sh ./build.py -p rk3568 |
|
快速编译(在不更改gn文件时可用) |
./compile.sh ./build.py -p rk3568 --fast-rebuild |
|
组件编译 |
./compile.sh ./build.sh --product-name rk3568 --build-target A2_uart |
注:./compile.sh 启用后台主机编译
编译部件、模块之前须全编译一次。
更多命令参考: https://blog.51cto.com/harmonyos/6049040
3、镜像文件下载
|
压缩镜像文件 |
tar -cvzf gcw_images.tar.gz images/ |
|
上传镜像文件: |
./upload.sh code/release_4_0/rk3568/out/rk3568/packages/phone/gcw_images.tar.gz |
|
下载镜像文件: |
/root/code/url.txt |
|
取消自动息屏: |
hdc shell power-shell setmode 602 |
注:
在phone目录下压缩整个images。tar -cvzf images.tar.gz images/ 为压缩后的文件名
这样操作的话,3G的镜像文件最后被压缩为400M,还能很快下载完成。
4、镜像文件
镜像文件位置:/root/code/release_4_0/rk3568/out/rk3568/packages/phone/images
镜像地址和功能信息:
|
地址 |
名字 |
文件名 |
大小 |
功能 |
|
0x0000_0000 |
Loader |
MiniLoaderAll.bin |
455,104 |
加载操作系统内核 |
|
0x0000_0000 |
Parameter |
parameter.txt |
655 |
镜像配置信息 |
|
0x0000_2000 |
Uboot |
uboot.img |
4,194,304 |
引导启动程序 |
|
0x0000_4000 |
misc |
--- |
--- |
系统配置信息 |
|
0x0000_6000 |
resource |
resource.img |
3,794,944 |
系统资源文件 |
|
0x0000_9000 |
Boot_linux |
boot_linux.img |
67,108,864 |
linux内核启动程序 |
|
0x0003_9000 |
ramdisk |
ramdisk.img |
2,267,249 |
内存磁盘暂存启动 |
|
0x0003_B000 |
System |
system.img |
1,610,608,640 |
ohos系统 |
|
0x0043_B000 |
Vendor |
vendor.img |
268,431,360 |
厂商软件和驱动 |
|
0x0063_B000 |
sys-prod |
sys_prod.img |
268,431,360 |
系统文件区 |
|
0x0065_4000 |
chip-prod |
chip_prod.img |
52,428,800 |
芯片配置文件 |
|
0x0066_D000 |
updater |
updater.img |
10,307,800 |
系统更新区 |
|
0x0067_D000 |
Userdata |
userdata.img |
1,468,006,400 |
用户数据 |
5、小结
可以看到,编译后生成的可执行文件在:code/release_4_0/rk3568/out/rk3568/packages/phone/system/bin 中

三、设备连接
1、UT-8851连接方式


2、DAYU200连接方式

将连接器USB一端连接电脑,另一端三根线连接至开发板【UART_RX_M1、UART_TX_M1、GND】。
三、程序执行
1、打开hdc调试
打开终端软件,这里直接用DEVECO,输入hdc targets list,会显示连接的设备:

然后查看system目录可以看到烧录的uart可执行文件。
2、执行程序


可以看到,能够收发数据。数据错误是因为输出显示格式问题。
四、总结
注意编译构建,依赖的部件、模块需要声明,编译命令要正确使用。
所有评论(0)