Skip to content

K70 Pro等新款手机失败原因定位 #8

Description

@caofx0418

问题已定位,高通接口 二进制不兼容,导致失败。

详细原因:

K70 Pro手机系统版本高,必须使用新的SDK,否则在读取so符号表正确,但进行调用qnn_net->getBackendBuildId()函数指针时错误,从而crash;
deviceCreate,参数设置和初始化设备,也会失败。
如下2个重要结构体失败:
typedef struct {
// 新增函数指针xxx
} QNN_INTERFACE_VER_TYPE;

typedef struct {
// 新增成员
const char* const* enableGraphs;
/// Used with QNN_CONTEXT_CONFIG_MEMORY_LIMIT_HINT
uint64_t memoryLimitHint;
/// Used with QNN_CONTEXT_CONFIG_PERSISTENT_BINARY
uint8_t isPersistentBinary;
/// Used with QNN_CONTEXT_CONFIG_BINARY_COMPATIBILITY
QnnContext_BinaryCompatibilityType_t binaryCompatibilityType;
};
} QnnContext_Config_t;

解决方案:QNN头文件和so,替换为2.19
测试手机:K70 Pro、14

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions