迅为RK3568开发板篇OpenHarmony实操HDF驱动控制LED-编写应用APP

在应用代码中我们实现如下功能:

当应用程序启动后会获取命令行参数。如果命令行没有参数,LED 灯将循环闪烁;如果命令行带有参数,则根据传输的参数控制 LED 灯的开启或关闭。通过 HdfIoServiceBind 绑定 LED灯的 HDF 服务,获取 HDF 空间缓存区,并向该缓冲区写入控制数据。然后,通过 LED_WRITE 命令将数据发送到 HDF 驱动,从而控制 LED 灯的亮灭。在程序结束时,会回收 HDF 空间缓冲区和 HDF 服务。

接下来编写应用测试文件 led_test.c,完整代码如下所示。

接下来编写应用 APP 的 GN 文件 BUILD.gn,代码内容如下所示:

上面的代码用于构建一个"led_test"的可执行文件的构建脚本,它使用了 GN(Generate Ninja)构建系统,这是一种元构建系统,用于生成 Ninja 构建文件。

 1-2 行定义了两个变量 HDF_FRAMEWORKS 和 HDF_ADAPTER,它们分别指向 HDF(HardwareDriver Foundation,硬件驱动框架)核心框架和适配器的路径。这些路径是相对于项目根目录的。

 4-5 行 使用 import 语句导入两个 GNI(GN Include)文件。GNI 文件是 GN 构建系统用来包含变量定义、函数和模板的文件。这里导入的文件可能包含了一些预定义的变量、函数或构建规则,用于支持构建过程。//build/ohos.gni 可能包含了 OpenHarmony 特有的构建配置,而$HDF_ADAPTER/uhdf2/uhdf.gni 可能包含了与 uHDF(Unified Hardware Driver Framework,统一硬件驱动框架)相关的配置。

 7 行 打印一条消息到控制台,表明正在编译 led_test 示例。

 9-40 行 定义一个名为 led_test 的 ohos_executable 目标,这是一个构建规则,用于生成一

个可执行文件。下面是该目标的具体配置:

sources:指定源文件列表,这里只有一个文件 led_test.c。

include_dirs:指定头文件搜索路径列表。这些路径用于在编译时查找包含的文件(#include指令引用的文件)。这些路径包括了 HDF 框架、适配器的多个子目录,以及一些第三方库和内部工具库的头文件路径。

external_deps:指定外部依赖项列表。这些依赖项是在构建过程中需要链接的库。这里列出了几个库,如 c_utils:utils、hdf_core:libhdf_platform 等,这些库提供了构建 led_test 所需的功能。

cflags:指定传递给 C 编译器的标志列表。这里包括了一些常见的编译选项,如-Wall(打开所有警告)、-Wextra(打开额外警告)、-Werror(将所有警告视为错误)、以及两个用于关闭特定警告的选项。

part_name:指定构建产物所属的部件名称,这里是 demos。

install_enable:设置为 true,表示构建产物应该被安装。这可能意味着在构建成功后,led_test可执行文件会被复制到某个特定的目录,以便于执行或分发。

相关推荐
迅为电子3 天前
【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发GPIO基础知识
驱动开发·openharmony·rk3568
北京迅为9 天前
【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发-第2章 内核HDF驱动框架架构
华为·harmonyos·rk3568
北京迅为9 天前
【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发-第4章 UART基础知识
人工智能·嵌入式硬件·harmonyos·鸿蒙·rk3568
北京迅为9 天前
【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发-第3章 实操-HDF驱动配置LED
linux·嵌入式硬件·鸿蒙·openharmony·rk3568
北京迅为11 天前
【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第2章OpenHarmony v3.2-Beta4版本测试
嵌入式硬件·鸿蒙·rk3568
ARM+FPGA+AI工业主板定制专家18 天前
Software PLC Solution for RK3568+Codesys ARM+LINUX Hardware Platform
linux·plc·rk3568·codesys
沐风_ZTL20 天前
在RK3568上C++编程,使用ISP进行图像处理
c++·图像处理·mpp·rk3568·isp·v4l2·rga
mucheni25 天前
迅为RK3568开发板篇OpenHarmony实操HDF驱动配置LED-LED测试
rk3568
花落已飘1 个月前
RK3568 adb使用
linux·adb·rk3568