-
npu-smi 命令获取不了Serial Number,是缺少什么组件还是其他?root@davinci-mini:/home/HwHiAiUser# npu-smi info -t board -i 0 NPU ID : 0 Product Name : Model : Manufacturer : Serial Number : Software Version : 21.0.3.1 Firmware Version : 1.79.22.5.220 Board ID : 0xbbc PCB ID : NA BOM ID : 0 Chip Count : 1 Faulty Chip Count : 0root@davinci-mini:/home/HwHiAiUser# npu-smi info+------------------------------------------------------------------------------+| npu-smi 21.0.3.1 Version: 21.0.3.1 |+-------------------+-----------------+----------------------------------------+| NPU Name | Health | Power(W) Temp(C) || Chip Device | Bus-Id | AICore(%) Memory-Usage(MB) |+===================+=================+========================================+| 0 310 | OK | 8.0 51 || 0 0 | NA | 0 3440 / 8192 |+===================+=================+========================================+
-
rk3568使用uart进行串口通信代码实现,napi代码如下#include "napi/native_api.h"#include "platform_if.h"#include "uart_if.h"#include "hdf_base.h"#include <cstdint>#include "hdf_types.h"#include <cstdlib>#include <functional>#include <hilog/log.h>#include <js_native_api_types.h>static napi_value Add(napi_env env, napi_callback_info info){ size_t argc = 2; napi_value args[2] = {nullptr}; napi_get_cb_info(env, info, &argc, args , nullptr, nullptr); napi_valuetype valuetype0; napi_typeof(env, args[0], &valuetype0); napi_valuetype valuetype1; napi_typeof(env, args[1], &valuetype1); double value0; napi_get_value_double(env, args[0], &value0); double value1; napi_get_value_double(env, args[1], &value1); napi_value sum; napi_create_double(env, value0 + value1, &sum); return sum;}unsigned long open(char port[50]) { return open(port); }static napi_value UartOpen(napi_env env, napi_callback_info info){ size_t requireArgc = 1; size_t argc = 1; napi_value args[1] = {nullptr}; napi_get_cb_info(env, info,&argc,args ,nullptr, nullptr); napi_valuetype valuetype0; napi_typeof(env,args[0], &valuetype0); size_t size; char port[50] ; napi_get_value_string_utf8(env, args[0], port, 50, &size); size_t ret; ret = open(port); if (ret == NULL) { HDF_FAILURE; } }unsigned long setAttribute(char port, char attribute) { setAttribute(port, attribute); }static napi_value UartSetAttribute(napi_env env , napi_callback_info info){ size_t requireArgc = 2; size_t argc = 2; napi_value args[2] = {nullptr}; napi_get_cb_info(env, info,&argc,args ,nullptr, nullptr); napi_valuetype valuetype0; napi_typeof(env,args[0], &valuetype0); napi_valuetype valuetype1; napi_typeof(env,args[0], &valuetype1); char port{50}; size_t size; size_t ret; struct UartAttribute attribute; attribute.dataBits = UART_ATTR_DATABIT_8; attribute.parity = UART_ATTR_PARITY_NONE; attribute.stopBits = UART_ATTR_STOPBIT_1; // UART传输数据停止位为1位 attribute.rts = UART_ATTR_RTS_DIS; // UART禁用RTS attribute.cts = UART_ATTR_CTS_DIS; // UART禁用CTS attribute.fifoRxEn = UART_ATTR_RX_FIFO_EN; // UART使能RX FIFO attribute.fifoTxEn = UART_ATTR_TX_FIFO_EN; // UART使能TX FIFO ret = UartSetAttribute(&port, &attribute); if (ret != HDF_SUCCESS) { LOG_ERROR; } LOG_INFO;} struct napi_value__ * write(int port, unsigned long data) {return write(port, data);}static napi_value UartWrite(napi_env env , napi_callback_info info){ size_t requireArgc = 2; size_t argc = 2; napi_value args[2] = {nullptr}; napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); napi_valuetype valuetype0; napi_typeof(env, args[0], &valuetype0); napi_valuetype valuetype1; napi_typeof(env, args[1], &valuetype1); int32_t port; DevHandle handle = UartOpen(port); napi_get_value_int32(env, args[0], &port); napi_get_value_int32(env, args[0], &port); char value0[50]; size_t data; napi_get_value_string_utf8(env, args[1], value0, 50, &data); int32_t size; size = sizeof(data); napi_value ret;ret = write(port,data); napi_create_int32(env, data,&ret ); return ret; if (ret == NULL) { LOG_ERROR; }return ret;} struct napi_value__ * read(int port, char data[512]) { return read(port, data); }static napi_value UartRead(napi_env env , napi_callback_info info){ size_t requireArgc = 2; size_t argc = 2; napi_value args[2] = {nullptr}; napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); napi_valuetype valuetype0; napi_typeof(env, args[0], &valuetype0); napi_valuetype valuetype1; napi_typeof(env, args[1], &valuetype1); int32_t port; napi_get_value_int32(env, args[0], &port); char value0[50]; size_t data; napi_get_value_string_utf8(env, args[1], value0, 50, &data); napi_value ret; ret = read(port,value0); napi_create_int32(env, data,&ret ); return ret; if (ret == NULL) { LOG_ERROR; }return ret;}struct napi_value__ * set(char port[50], unsigned int BaudRate) { return set(port, BaudRate);}static napi_value UartSetBaud(napi_env env, napi_callback_info info){ size_t requireArgc = 2; size_t argc = 2; napi_value args[2] = {nullptr}; napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); napi_valuetype valuetype0; napi_typeof(env, args[0], &valuetype0); napi_valuetype valuetype1; napi_typeof(env, args[1], &valuetype1); char port[50]; size_t size1; napi_get_value_string_utf8(env, args[0], port, 50, &size1); int32_t BaudRate ; BaudRate= 150000; napi_value result; napi_create_int32(env, 1500000,&result); napi_value ret; ret = set(port,15000000); if (ret == NULL ) { HDF_FAILURE; } return ret; } struct napi_value__ * get(char port[50], int BaudRate) { return get(port, BaudRate);}static napi_value UartGetBaud(napi_env env, napi_callback_info info){ size_t requireArgc = 2; size_t argc = 2; napi_value args[2] = {nullptr}; napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); napi_valuetype valuetype0; napi_typeof(env, args[0], &valuetype0); napi_valuetype valuetype1; napi_typeof(env, args[1], &valuetype1); char port[50]; size_t size1; napi_get_value_string_utf8(env, args[0], port, 50, &size1); int32_t BaudRate; napi_value ret; napi_create_int32(env, BaudRate, &ret); napi_create_int32(env, size1, &ret); ret = get(port, BaudRate); if (ret == nullptr) { HDF_FAILURE;; } return ret; }struct napi_value__ * close(int port) { return close(port);}static napi_value UartClose(napi_env env, napi_callback_info info){ size_t requireArgc = 1; size_t argc = 1; napi_value args[1] = {nullptr}; napi_get_cb_info(env, info,&argc,args ,nullptr, nullptr); napi_valuetype valuetype0; napi_typeof(env,args[0], &valuetype0); int port; napi_get_value_int32(env, args[0], &port); close(port); napi_value ret; napi_create_int32(env, port, &ret); if (ret == NULL) { HDF_FAILURE; }return ret;}EXTERN_C_STARTstatic int32_t UartTest(void ) { int32_t ret; uint32_t port; uint32_t baud = 15000000; DevHandle handle = NULL; uint8_t wbuff[] = {}; uint8_t rbuff[] = {}; struct UartAttribute attribute; attribute.dataBits = UART_ATTR_DATABIT_8; // UART传输数据位宽,一次传输8个bit attribute.parity = UART_ATTR_PARITY_NONE; // UART传输数据无校检 attribute.stopBits = UART_ATTR_STOPBIT_1; // UART传输数据停止位为1位 attribute.rts = UART_ATTR_RTS_DIS; // UART禁用RTS attribute.cts = UART_ATTR_CTS_DIS; // UART禁用CTS attribute.fifoRxEn = UART_ATTR_RX_FIFO_EN; // UART使能RX FIFO attribute.fifoTxEn = UART_ATTR_TX_FIFO_EN;// UART使能TX FIFO ret = UartSetAttribute(handle, &attribute); handle = UartOpen(port); if (ret != HDF_SUCCESS) { return HDF_FAILURE; } ret = UartSetBaud(handle, 1500000); if (ret != HDF_SUCCESS) { return HDF_FAILURE; } ret = UartGetBaud(handle, &baud); if (ret != HDF_SUCCESS) { return HDF_FAILURE; } ret = UartWrite(handle, wbuff, sizeof(wbuff)); if (ret != HDF_SUCCESS) { return HDF_FAILURE; } ret = UartRead(handle, rbuff, sizeof(rbuff)); if (ret != HDF_SUCCESS) { return HDF_FAILURE; } UartClose(handle); if (ret != HDF_SUCCESS) { return HDF_FAILURE; } return HDF_SUCCESS;}static napi_value Init(napi_env env, napi_value exports){ napi_property_descriptor desc[] = { { "add", nullptr, Add, nullptr, nullptr, nullptr, napi_default, nullptr }, { "UartOpen", nullptr, UartOpen, nullptr, nullptr, nullptr, napi_default, nullptr }, { "UartClose", nullptr, UartClose, nullptr, nullptr, nullptr, napi_default, nullptr }, { "UartWrite", nullptr, UartWrite, nullptr, nullptr, nullptr, napi_default, nullptr }, { "UartRead", nullptr, UartRead, nullptr, nullptr, nullptr, napi_default, nullptr }, { "UartSetBaud", nullptr, UartSetBaud, nullptr, nullptr, nullptr, napi_default, nullptr }, { "UartGetBaud", nullptr, UartGetBaud, nullptr, nullptr, nullptr, napi_default, nullptr } }; napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc); return exports;}EXTERN_C_ENDstatic napi_module demoModule = { .nm_version = 1, .nm_flags = 0, .nm_filename = nullptr, .nm_register_func = Init, .nm_modname = "entry", .nm_priv = ((void*)0), .reserved = { 0 },};extern "C" __attribute__((constructor)) void RegisterEntryModule(void){ napi_module_register(&demoModule);}cmakelist.txt内容如下:# the minimum version of CMake.cmake_minimum_required(VERSION 3.4.1)project(Uart)if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv8-a")endif()if (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/path/to/openharmony/libs")endif()set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR})SET (CMAKE_BUILD_TYPE Debug CACHE INTERNAL “” FORCE)if(DEFINED PACKAGE_FIND_FILE) include(${PACKAGE_FIND_FILE})endif()include_directories(${NATIVERENDER_ROOT_PATH} ${NATIVERENDER_ROOT_PATH}/include)add_library(entry SHARED napi_init.cpp) target_link_libraries(serialhelper PUBLIC libace_napi.z.so libc++.a libhilog_ndk.z.so libuv.so libserialport_service_api.z.so)运行工程报错: > hvigor ERROR: Failed :entry:default@BuildNativeWithCmake... > hvigor ERROR: Exceptions happened while executing: Not searching for unused variables given on the command line. -- The CXX compiler identification is unknown CMake Error at CMakeLists.txt:3 (project): The CMAKE_CXX_COMPILER: C:/Program Files/Huawei/DevEco Studio/license/DevEco Studio/sdk/HarmonyOS-NEXT-DB1/openharmony/native/llvm/bin/clang++.exe is not a full path to an existing compiler tool. Tell CMake where to find the compiler by setting either the environment variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH. -- Configuring incomplete, errors occurred! See also "C:/Users/Administrator/DevEcoStudioProjects/Uart/entry/.cxx/default/default/arm64-v8a/CMakeFiles/CMakeOutput.log". See also "C:/Users/Administrator/DevEcoStudioProjects/Uart/entry/.cxx/default/default/arm64-v8a/CMakeFiles/CMakeError.log". > hvigor ERROR: BUILD FAILED in 2 s 908 ms hilog中报错如下:08-05 17:28:11.725 5162-5162 C02f00/teecd pid-5162 E open tee client dev failed, fd is <private> 08-05 17:28:11.726 5162-5162 C02f00/teecd pid-5162 E fs agent init failed 08-05 17:28:11.726 5162-5162 C02f00/teecd pid-5162 E open tee client dev failed, fd is <private> 08-05 17:28:11.726 5162-5162 C02f00/teecd pid-5162 E misc agent init failed 08-05 17:28:11.750 5163-5163 C02f00/teecd pid-5163 E open tee client dev failed, fd is <private> 08-05 17:28:11.750 5163-5163 C02f00/teecd pid-5163 E fs agent init failed 08-05 17:28:11.750 5163-5163 C02f00/teecd pid-5163 E open tee client dev failed, fd is <private> 08-05 17:28:11.750 5163-5163 C02f00/teecd pid-5163 E misc agent init failed 08-05 17:28:11.768 5164-5164 C02f00/teecd pid-5164 E open tee client dev failed, fd is <private> 08-05 17:28:11.768 5164-5164 C02f00/teecd pid-5164 E fs agent init failed 08-05 17:28:11.769 5164-5164 C02f00/teecd pid-5164 E open tee client dev failed, fd is <private> 08-05 17:28:11.769 5164-5164 C02f00/teecd pid-5164 E misc agent init failed 08-05 17:28:11.784 5165-5165 C02f00/teecd pid-5165 E open tee client dev failed, fd is <private> 08-05 17:28:11.784 5165-5165 C02f00/teecd pid-5165 E fs agent init failed 08-05 17:28:11.784 5165-5165 C02f00/teecd pid-5165 E open tee client dev failed, fd is <private> 08-05 17:28:11.784 5165-5165 C02f00/teecd pid-5165 E misc agent init failed 08-05 17:28:14.679 547-866 C01719/ffrt foundation E 20299:FFRTQosApplyForOther:242 qos apply failed for task 5170 08-05 17:28:15.883 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.control.shell, errNum is:106! 08-05 17:28:15.884 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.root, errNum is:106! 08-05 17:28:16.279 5179-5179 C01810/SAFWK pid-5179 E CheckAndGetProfilePath file path does not exist! 08-05 17:28:16.280 5179-5179 C01810/SAFWK pid-5179 E DoStartSAProcess DoStartSAProcess invalid path 08-05 17:28:16.330 5180-5180 C01810/SAFWK pid-5180 E CheckAndGetProfilePath file path does not exist! 08-05 17:28:16.330 5180-5180 C01810/SAFWK pid-5180 E DoStartSAProcess DoStartSAProcess invalid path 08-05 17:28:16.378 5181-5181 C01810/SAFWK pid-5181 E CheckAndGetProfilePath file path does not exist! 08-05 17:28:16.378 5181-5181 C01810/SAFWK pid-5181 E DoStartSAProcess DoStartSAProcess invalid path 08-05 17:28:16.426 5182-5182 C01810/SAFWK pid-5182 E CheckAndGetProfilePath file path does not exist! 08-05 17:28:16.426 5182-5182 C01810/SAFWK pid-5182 E DoStartSAProcess DoStartSAProcess invalid path 08-05 17:28:18.399 263-298 C01719/ffrt samgr E 8683:FFRTQosApplyForOther:242 qos apply failed for task 5183 08-05 17:28:18.411 469-469 C01560/WifiHalWpaCommon wifi_hal_service E WpaCliCmd, ctrl/ctrl->pSend is NULL! 08-05 17:28:18.412 469-469 C01560/WifiHalWpaCommon wifi_hal_service E WpaCliCmd, ctrl/ctrl->pSend is NULL! 08-05 17:28:18.412 469-469 C01560/WifiHalStaInterface wifi_hal_service E StartScan failed! ret=-1 08-05 17:28:18.413 1002-1285 C01562/ScanStateMachine wifi_manager_se E WifiStaHalInterface::GetInstance().scan failed. 08-05 17:28:18.413 1002-1285 C01560/WifiScanManager wifi_manager_se E DealScanFinished, state: 0! 08-05 17:28:18.421 547-5170 C01719/ffrt foundation E 20338:FFRTQosApplyForOther:242 qos apply failed for task 5184 08-05 17:28:18.423 547-5170 C01719/ffrt foundation E 20353:FFRTQosApplyForOther:242 qos apply failed for task 5185 08-05 17:28:18.428 547-5170 C01719/ffrt foundation E 20379:FFRTQosApplyForOther:242 qos apply failed for task 5186 08-05 17:28:18.430 547-5170 C01719/ffrt foundation E 20396:FFRTQosApplyForOther:242 qos apply failed for task 5187 08-05 17:28:18.747 264-944 C01719/ffrt hiview E 3023:FFRTQosApplyForOther:242 qos apply failed for task 5188 08-05 17:28:21.044 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.control.shell, errNum is:106! 08-05 17:28:21.045 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.root, errNum is:106! 08-05 17:28:22.536 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.control.shell, errNum is:106! 08-05 17:28:22.537 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.root, errNum is:106! 08-05 17:28:22.633 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.control.shell, errNum is:106! 08-05 17:28:22.634 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.root, errNum is:106! 08-05 17:28:22.641 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.control.shell, errNum is:106! 08-05 17:28:22.642 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.root, errNum is:106! 08-05 17:28:26.180 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.control.shell, errNum is:106! 08-05 17:28:26.180 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.root, errNum is:106! 08-05 17:28:27.812 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.control.shell, errNum is:106! 08-05 17:28:27.812 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.root, errNum is:106! 08-05 17:28:28.838 264-944 C01719/ffrt hiview E 3041:FFRTQosApplyForOther:242 qos apply failed for task 5223 08-05 17:28:31.342 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.control.shell, errNum is:106! 08-05 17:28:31.343 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.root, errNum is:106! 08-05 17:28:32.974 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.control.shell, errNum is:106! 08-05 17:28:32.975 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.root, errNum is:106! 08-05 17:28:36.502 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.control.shell, errNum is:106! 08-05 17:28:36.503 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.root, errNum is:106! 08-05 17:28:38.165 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.control.shell, errNum is:106! 08-05 17:28:38.166 632-720 C02c02/PARAM hdcd E [param_manager.c:736]SystemReadParam failed! name is:persist.hdc.root, errNum is:106!
-
问题描述:我们在测试机器重复开关机中发现,偶然会出现svp_npu推理报错的问题。具体的流程和日志如下图,麻烦路过的朋友帮忙看看报错日志:[Func]:svp_npu_runtime_impl_get_device_and_stream_node_id [Line]:466 [Info]:Error, please set device or create context first [Func]:svp_npu_runtime_impl_execute_model_async [Line]:1519 [Info]:Error, get device and stream id failed when execute model async [Func]:svp_npu_model_execute_async [Line]:794 [Info]:Error, runtime execute model async failed failed at InferModelAsync: LINE: 82 with 0x30d45!硬件型号: SS928SDK版本:[SVP_NPU] Version: [SS928V100V2.0.2.1 B050 Release], Build Time[Apr 27 2022, 16:54:46]程序开机后的运行流程:每次开机后,机器会先创建线程1,等线程1结束后,再创建线程2。线程1和线程2跑的模型不一样。有时会出现在线程2中,第一次调用推理时就报错
-
各位大侠,有遇到这种情况的吗!!!
-
ARM指令集和微架构体系不同指令集之间的指令不同微架构是指指令集实现的方式,比如结合了性能、物理尺寸已经成本等多方面. ARMv7以后统一使用Cortex命名微架构。指令集命名规则:ARMv | n | variants | x ( variants )l -ARMv --固定字符,即ARM Version -n--指令集版本号。迄今为之,ARM架构版本发布了8个系列,所以n=[1:8]。 -variants --变种。 -x ( variants)--排除x后指定的变种微架构命名规则:ARM{xHyHzHTHDHMHIHEHJHFH-S} x--处理器系列 y -- 存储管理/保护单元 z-- cache T --支持Thumb指令集 D--支持片上调试 M--支持快速乘法器 I--支持Embedded lCE,支持嵌入式跟踪调试 E--支持增强型DSP指令 J--支持Jazelle F--具备向量浮点单元VFP -S --可综合版本ARMv8不同系列及应用场景ARMv8的运行模式-AArch64在本模式下,所有地址保存在64位寄存器中,基本指令集可以使用64位寄存器来处理。AArch64状态下的指令集称为A64。-AArch32在本模式下,所有地址保存在32位寄存器中,基本指令集可以使用32位寄存器来处理。AArch32状态下的指令集可分为A32和T32。ARMv8支持的数据类型1、整型数据类型:字节——8位半字——16位字——32位双字——64位四字——128位2、浮点型数据类型:半精度、全精度、双精度ARMv8特权级别划分ARMv8将特权级别分为4个level,分别是ELO,EL1,EL2,EL3。而每个level的特权不一样的,特权大小ELO<EL1<EL2<EL3。不同的level之间使用异常( exception)进行切换1、一次执行必须包括EL0&1,EL2&3非必须但可以进行两者的任意组合,且不要求等级连续。2、Normal World代表的是普通世界,比如android手机中linux操作系统就在normalworld3、Secure World就是安全世界,比如android手机中的高通的QSEE就是运行在SecureWorld4、EL0:普通用户应用程序5、EL1:操作系统内核通常被描述为特权,在Secure World则就是Trusted os,比如高通的QSEE,开源的OP-TEE,豌豆荚的TEE等6、EL2:管理程序,如hypervisor,ARM为了支持虚拟化,设计的Hypervisor层,只有在Noraml world使用。7、EL3:低级固件,包括安全监视器,在应用处理器上,安全固件必须是系统启动的第一个程序。当noraml world想要访问secure world需要发送SMC指令进入SecureMoniter层,然后进入到Secure world8、. Secure Moniter是安全世界和普通世界的桥梁,二者切换的时候需要通过其来切换。9、普通世界由以下部分组成: (1)应用:运行在普通世界的应用程序。 (2)GuestOS:这些包括在非安全EL1中运行的Linux或Windows。在虚拟机管理程序下运行时,操作系统内核可以作为客户机或主机运行, 具体取决于虚拟机管理程序模式。 (3)Hypervisor:这在EL2上运行。当管理程序出现并启用时,可以在多个客户操作系统之间进行切换操作。10、安全世界有以下组件:(1)安全APP:它提供了多种服务,包括平台初始化,可信操作系统的安装以及路由安全监视器的调用。安全固件在EL3上执行。(2)可信的操作系统:可信的操作系统为普通世界提供安全服务,并为执行安全或受信任的应用程序提供运行时环境。它在EL3使用AArch64时在安全EL1上执行,在EL3使用AArch32时在安全EL3上执行。
-
我们现在使用MDC300去开发环视算法,使用OpenGL ES渲染1.MDC610是有使用GPU加速OpenGL ES?2.MDC300没有GPU,是不是就只能使用host芯片自带CPU跑?,我理解mini芯片的NPU是加速AI相关的,应该无法用来搞这方面的那岂不是说使用MDC300开发OpenGL渲染相关的会很吃力,毕竟MDC610也使用GPU加速渲染?请帮忙再回答一下,万分感谢!!!
-
您好!我目前需要在MDC300中部署我们的360环视算法,直接在MDC里运行OpenGL的一个小demo,无法调用Opengl的窗口在上位机Ubuntu系统显示,也无法直接在MDC端可视化。请问是因为可视化一定需要通过ROS转发,然后通过MDC的Mviz工具进行显示吗?Mviz如何和OpenGL配合实现交互式的可视化?有没有其他的可视化办法?我看MDC里没有OpenGL相关示例,请问有在MDC开发360环视算法或者OpenGL的示例或者其他资料吗?
-
制卡失败,失败原因为qemu is broken or the version of qemu is not compatible我已经按照华为官方文档的要求安装了相应的依赖软件,为什么还会出现qemu broken的错误
-
【Euler21.10+ARM】欧拉系统的鲲鹏服务器怎么安装kvm去拉虚机?
-
【开源资料】XQTyer评估板例程使用手册链接:https://share.weiyun.com/8csewUvh 密码:8r9by7 XQ6657Z35/45-EVM(XQTyer 评估板)是一款基于 TI KeyStone 架构 C6000 系列 TMS320C6657双核C66x 定点/浮点 DSP以及 Xilinx Zynq-7000 系列 XC7Z035/045 SoC 处理器设计的高端异构多核评估板,由核心板与评估底板组成。
-
设备型号:华为擎云L410KLVU-WDU0B操作系统:银河麒麟桌面操作系统V10(SP1)故障描述:下载clash,地址如下:https://github.com/Fndroid/clash_for_windows_pkg/releases/download/0.20.12/Clash.for.Windows-0.20.12-arm64-linux.tar.gz解压缩后,运行cfw程序,提示:[75140:1230/230532.671202:ERROR:gpu_memory_buffer_support_x11.cc(44)] dri3 extension not supported.
-
华为云鲲鹏openEuler 20.03安装kubesphere,之前已安装好kubernetes,现在在 Kubernetes 上最小化安装 KubeSphere,出现exec /shell-operator: exec format error,看样子,好像是下载了x86的文件?怎么解决[root@master01 ~]# kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.2.1/cluster-configuration.yamlcustomresourcedefinition.apiextensions.k8s.io/clusterconfigurations.installer.kubesphere.io creatednamespace/kubesphere-system createdserviceaccount/ks-installer createdclusterrole.rbac.authorization.k8s.io/ks-installer createdclusterrolebinding.rbac.authorization.k8s.io/ks-installer createddeployment.apps/ks-installer created[root@master01 ~]# kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -fError from server (BadRequest): container "installer" in pod "ks-installer-85dcfff87d-c9jbv" is waiting to start: ContainerCreating[root@master01 ~]# kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -fexec /shell-operator: exec format error
-
在centos7,RTC支持参数wakealarm(/sys/class/rtc/rtc0/wakealarm),可设置定时开关机。但是鲲鹏的/sys/class/rtc/rtc0/下没有wakealarm参数,是否不支持?
-
是i↵我想知道,在华为云鲲鹏openEuler 20.03上部署的kubernetes,pull获取k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2,如何自动根据节点判断下载arm还是x86容器?如果是x86的,应该不能在arm上运行吧?
-
我想在华为云鲲鹏openEuler 20.03上安装Harbor v2.x,在哪里找到harbor-offline-installer-v2.x.tgz?目前搜到的是1.9.x版,要修改一系列参数,适配性不是很好,求助
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签