纯c语言 算法bin文件转换为数组

转换:

void printIOBufDesc_io(sTIDL_IOBufDesc_t* ioBufDesc) {

FILE *file = fopen("/opt/NetBuf_struct.c", "w");

if (file == NULL) {

printf("printIOBufDescAll() : Error opening file!\n");

return;

}

// 保存为能够直接在代码里赋值的语句

fprintf(file, "static unsigned char binData[] = {");

for (int i = 0; i < sizeof(sTIDL_IOBufDesc_t); i++) {

if (i % 16 == 0) {

fprintf(file, "\n ");

}

fprintf(file, "0x%02X", ((unsigned char *)ioBufDesc)[i]);

if (i != sizeof(sTIDL_IOBufDesc_t) - 1) {

fprintf(file, ", ");

}

}

fprintf(file, "\n};\n");

fclose(file);

}

数组使用:

memcpy(ioBufDesc, binData, sizeof(sTIDL_IOBufDesc_t));

j784s4 tda4vh IPC C7:

数据(由上往下挖):

params[0] = (tivx_obj_desc_t *) tivxObjDescGet( node_obj_desc->base.scope_obj_desc_id );

obj_desc = (tivx_obj_desc_t*)&g_obj_desc_table.table_base[obj_desc_id];

table_info->table_base = gTivxObjDescShmEntry;

retVal = appIpcGetTiovxObjDescSharedMemInfo( (void **) &gTivxObjDescShmEntry, &shmSize);

逻辑:

tivxInit()->tivxInitLocal()->tivxPlatformCreateTargets() "C7 only" ->

tivxTargetCreate()->tivxTargetTaskMain()->tivxTargetCmdDescHandler()->tivxTargetNodeDescNodeCreate()->

tivxTargetKernelCreate( params )->tivxKernelTIDLCreate( ***params*** )->tivxAlgiVisionCreate()->tivxAlgiVisionAllocMem()->

算法结构体使用(上取 下用):

/* IMPORTANT! Config data is assumed to be available at index 0 */

config = (tivx_obj_desc_user_data_object_t *)obj_desc[TIVX_KERNEL_TIDL_IN_CONFIG_IDX];

/* IMPORTANT! Network data is assumed to be available at index 1 */

network = (tivx_obj_desc_user_data_object_t *)obj_desc[TIVX_KERNEL_TIDL_IN_NETWORK_IDX];

memcpy(&tidlObj->tidlParams, config_target_ptr, sizeof(tivxTIDLJ7Params));

tivxTIDLObj->tivxTIDLJ7Params->sTIDL_IOBufDesc_t

memcpy(tidlObj->tidlNet, network_target_ptr, network->mem_size);

sTIDL_Network_t *pNet = (sTIDL_Network_t *)network_target_ptr; // only for checksum

tivxTIDLObj->void* tidlNet

相关推荐
Kent_J_Truman3 分钟前
LeetCode Hot100 自用
算法·leetcode·职场和发展
还是码字踏实3 分钟前
算法题种类与解题思路全面指南:基于LeetCode Hot 100与牛客Top 101
算法·leetcode
Hello_WOAIAI32 分钟前
2.4 python装饰器在 Web 框架和测试中的实战应用
开发语言·前端·python
搬山.摧城38 分钟前
线程池和单例模式
开发语言·单例模式
百锦再42 分钟前
第1章 Rust语言概述
java·开发语言·人工智能·python·rust·go·1024程序员节
一叶之秋14121 小时前
QT背景介绍与环境搭建
开发语言·qt
Victory_orsh1 小时前
“自然搞懂”深度学习(基于Pytorch架构)——010203
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习
java1234_小锋1 小时前
PyTorch2 Python深度学习 - 模型保存与加载
开发语言·python·深度学习·pytorch2
CoovallyAIHub1 小时前
突破360°跟踪极限!OmniTrack++:全景MOT新范式,HOTA指标狂飙43%
深度学习·算法·计算机视觉
ACP广源盛139246256731 小时前
(ACP广源盛)GSV2231---DisplayPort 1.4 MST 到 HDMI 2.0/DP/Type-C 转换器(带嵌入式 MCU)
c语言·开发语言·单片机·嵌入式硬件·音视频·mst