HarmonyOS鸿蒙Next rk3568 OpenharmonyV3.1.1源码版本串口调试,Failed to create previewOutput

HarmonyOS鸿蒙Next rk3568 OpenharmonyV3.1.1源码版本串口调试,Failed to create previewOutput 新建子系统并仿照foundation/multimedia/camera_standard/interfaces/inner_api/native/test/camera_capture.cpp文件编写拍照测试样例,成功烧录至开发板后,连接串口,在串口命令行中输入camera_capture命令,不能成功运行,Failed to create previewOutput。

目录结构:

├── helloworld
│   ├── bundle.json
│   ├── include
│   ├── ohos.build
│   └── src
│       ├── BUILD.gn
│       ├── camera_capture.cpp
│       ├── camera_capture_video.cpp
│       ├── camera_capture_video.h
│       ├── camera_video.cpp
│       ├── test_common.cpp
│       └── test_common.h

BUILD.gn文件

import("//build/ohos.gni")

config("camera_config") {
  include_dirs = [
    "//foundation/multimedia/camera_standard/interfaces/inner_api/native/camera/include",
    "//foundation/multimedia/camera_standard/interfaces/inner_api/native/test",
    "//foundation/multimedia/camera_standard/services/camera_service/include",
    "//foundation/multimedia/camera_standard/services/camera_service/binder/base/include",
    "//foundation/multimedia/camera_standard/services/camera_service/binder/client/include",
    "//foundation/multimedia/camera_standard/services/camera_service/binder/server/include",
    "//foundation/graphic/standard/frameworks/surface/include",
    "//drivers/peripheral/camera/interfaces/metadata/include",
    "//utils/system/safwk/native/include",
    "//drivers/framework/include/utils",
    "//drivers/adapter/uhdf2/osal/include",
    "//drivers/adapter/uhdf2/include/hdi",
    "//drivers/peripheral/display/interfaces/include",
    "//base/security/access_token/interfaces/innerkits/accesstoken/include",
    "//base/security/access_token/interfaces/innerkits/token_setproc/include",
  ]

  if (device_name == "baltimore") {
    include_dirs += [
      "//drivers/peripheral/adapter/camera/interfaces/include",
      "//drivers/peripheral/adapter/camera/interfaces/include/server",
      "//drivers/peripheral/adapter/camera/interfaces/include/callback/device",
      "//drivers/peripheral/adapter/camera/interfaces/include/callback/operator",
      "//drivers/peripheral/adapter/camera/interfaces/include/callback/host",
    ]
  } else {
    include_dirs += [
      "//drivers/peripheral/camera/interfaces/include",
      "//drivers/peripheral/camera/interfaces/hdi_ipc",
      "//drivers/peripheral/camera/interfaces/hdi_ipc/server",
      "//drivers/peripheral/camera/interfaces/hdi_ipc/callback/device",
      "//drivers/peripheral/camera/interfaces/hdi_ipc/callback/operator",
      "//drivers/peripheral/camera/interfaces/hdi_ipc/callback/host",
    ]
  }
}

ohos_executable("camera_video") {
  install_enable = true
  sources = [
    "camera_video.cpp",
    "test_common.cpp",
  ]
  cflags = ["-fPIC"]
  cflags += ["-Wall"]
  cflags_cc = cflags

  configs = [":camera_config"]

  deps = [
    "//drivers/peripheral/camera/interfaces/metadata:metadata",
    "//foundation/graphic/standard:libsurface",
    "//foundation/multimedia/camera_standard/frameworks/native/camera:camera_framework",
    "//utils/native/base:utils",
  ]

  external_deps = [
    "access_token:libaccesstoken_sdk",
    "access_token:libtoken_setproc",
    "hiviewdfx_hilog_native:libhilog",
    "ipc:ipc_core",
    "ipc:ipc_single",
    "multimedia_media_standard:media_client",
  ]
  part_name = "helloworld_camera"
  subsystem_name = "helloworld"
}

ohos_executable("camera_capture") {
  install_enable = true
  sources = [
    "camera_capture.cpp",
    "test_common.cpp",
  ]
  cflags = ["-fPIC"]
  cflags += ["-Wall"]
  cflags_cc = cflags

  configs = [":camera_config"]

  deps = [
    "//drivers/peripheral/camera/interfaces/metadata:metadata",
    "//foundation/graphic/standard:libsurface",
    "//foundation/multimedia/camera_standard/frameworks/native/camera:camera_framework",
    "//utils/native/base:utils",
  ]

  external_deps = [
    "access_token:libaccesstoken_sdk",
    "access_token:libtoken_setproc",
    "hiviewdfx_hilog_native:libhilog",
    "ipc:ipc_core",
  ]
  part_name = "helloworld_camera"
  subsystem_name = "helloworld"
}

ohos_executable("camera_capture_video") {
  install_enable = true
  sources = [
    "camera_capture_video.cpp",
    "test_common.cpp",
  ]
  cflags = ["-fPIC"]
  cflags += ["-Wall"]
  cflags_cc = cflags

  configs = [":camera_config"]

  deps = [
    "//drivers/peripheral/camera/interfaces/metadata:metadata",
    "//foundation/graphic/standard:libsurface",
    "//foundation/multimedia/camera_standard/frameworks/native/camera:camera_framework",
    "//utils/native/base:utils",
  ]

  external_deps = [
    "access_token:libaccesstoken_sdk",
    "access_token:libtoken_setproc",
    "hiviewdfx_hilog_native:libhilog",
    "ipc:ipc_core",
  ]

  part_name = "helloworld_camera"
  subsystem_name = "helloworld"
}

bundle.json文件

{
    "name": "@ohos/helloworld_camera",
    "description": "Hello world helloworld_camera.",
    "version": "3.1",
    "license": "Apache License 2.0",
    "publishAs": "code-segment",
    "segment": {
        "destPath": "helloworld/src"
    },
    "dirs": {},
    "scripts": {},
    "component": {
        "name": "helloworld_camera",
        "subsystem": "helloworld",
        "syscap": [],
        "features": [],
        "adapted_system_type": [ "mini", "small", "standard" ],
        "rom": "",
        "ram": "",
        "deps": {
            "components": [
                "libhilog",
                "ipc_core",
                "media_client",
                "system_ability_fwk",
                "samgr_proxy",
                "libaccesstoken_sdk",
                "ipc_single"
            ],
            "third_party": [
            ]
        },
        "build": {
            "sub_component": [
                "//helloworld/src:camera_video",
                "//helloworld/src:camera_capture",
                "//helloworld/src:camera_capture_video"
            ],
            "inner_kits": [],
            "test": []
        }
    }
}

ohos.build文件

{
  "subsystem": "helloworld",
  "parts": {
    "helloworld_camera": {
      "variants": [
        "phone"
      ],
      "module_list": [
        "//drivers/peripheral/camera/interfaces/metadata/test:camerametadatatest",
        "//foundation/multimedia/camera_standard/frameworks/native/camera/test:cameraframeworktest",
        "//helloworld/src:camera_video",
        "//helloworld/src:camera_capture",
        "//helloworld/src:camera_capture_video"
      ],
      "inner_kits": [
      ],
      "test_list": [
      ]
    }
  }
}

报错日志:

08-05 09:02:44.147 1707-1707/? D 02b00/CAMERA: 0xE2DE6C Instances create
08-05 09:02:44.147 1707-1707/? D 01800/SAFWK: SystemAbility::MakeAndRegisterAbility registering system ability...
...
08-05 09:02:44.169 1707-1707/? D 02b00/CAMERA: Failed to create previewOutput

更多关于HarmonyOS鸿蒙Next rk3568 OpenharmonyV3.1.1源码版本串口调试,Failed to create previewOutput的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

怎么解决的呀

更多关于HarmonyOS鸿蒙Next rk3568 OpenharmonyV3.1.1源码版本串口调试,Failed to create previewOutput的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next rk3568 OpenharmonyV3.1.1源码版本中,串口调试时出现“Failed to create previewOutput”错误,通常与串口设备初始化或配置问题有关。可能的原因包括:

  • 串口设备未正确初始化:确保串口设备在系统中已正确注册并初始化,检查设备树配置或相关驱动代码。
  • 权限问题:串口设备可能需要特定的权限才能访问,检查应用程序或服务的权限设置。
  • 硬件连接问题:确认串口硬件连接正常,包括线缆、接口等。
  • 驱动兼容性:确保使用的串口驱动与OpenharmonyV3.1.1版本兼容,必要时更新或替换驱动。
  • 配置错误:检查串口配置参数,如波特率、数据位、停止位等是否与设备要求一致。

解决方法包括检查设备树配置、验证权限设置、确认硬件连接、更新驱动以及核对串口配置参数。

在HarmonyOS鸿蒙Next rk3568 OpenharmonyV3.1.1源码版本中进行串口调试时,出现“Failed to create previewOutput”错误,通常与串口配置或驱动问题有关。建议检查以下几点:

  • 串口配置:确保串口的波特率、数据位、停止位等参数正确配置。
  • 驱动兼容性:确认使用的串口驱动与OpenharmonyV3.1.1版本兼容。
  • 硬件连接:检查串口硬件连接是否正常,确保线缆和接口无故障。
  • 日志分析:查看系统日志,获取更多错误信息,定位具体问题。

如果问题仍未解决,建议参考官方文档或社区论坛,获取更多技术支持。

回到顶部