纯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

相关推荐
dhxhsgrx3 分钟前
PYTHON训练营DAY25
java·开发语言·python
Musennn3 分钟前
leetcode 15.三数之和 思路分析
算法·leetcode·职场和发展
风逸hhh3 小时前
python打卡day25@浙大疏锦行
开发语言·python
刚入门的大一新生3 小时前
C++初阶-string类的模拟实现与改进
开发语言·c++
CM莫问3 小时前
<论文>(微软)避免推荐域外物品:基于LLM的受限生成式推荐
人工智能·算法·大模型·推荐算法·受限生成
康谋自动驾驶4 小时前
康谋分享 | 自动驾驶仿真进入“标准时代”:aiSim全面对接ASAM OpenX
人工智能·科技·算法·机器学习·自动驾驶·汽车
chxii4 小时前
5java集合框架
java·开发语言
老衲有点帅4 小时前
C#多线程Thread
开发语言·c#
C++ 老炮儿的技术栈4 小时前
什么是函数重载?为什么 C 不支持函数重载,而 C++能支持函数重载?
c语言·开发语言·c++·qt·算法