4719373@163.com

4719373@163.com

0个粉丝

30

问答

0

专栏

1

资料

4719373@163.com  发布于  2016-07-29 18:07:24
采纳率 0%
30个问答
6332

hi3516a 用PQTools生成的fixfile.bin文件如何调用?

 
hi3516a 用PQTools生成的在板上的fixfile.bin文件如何调用?
今天折腾了一天了,
config.cfg中路径、文件名没错,是指在当前路径下的fixfile.bin
killall ittb_control 再运行 ittb_control 也没反应
不知道大家都是怎么处理的?
我来回答
回答5个
时间排序
认可量排序

4719373@163.com

0个粉丝

30

问答

0

专栏

1

资料

4719373@163.com 2016-07-29 18:12:19
认可0
int main()
{
  FILE* pFile = NULL;
  long size = 0;
  int len = 0;
  int ret = -1;
  unsigned char* Buf;
  HI_PQ_BIN_ATTR_S stBinAttr;
  HI_PQ_BIN_EXTRA_S stBinExtraAttr;

  stBinAttr.u32ChipId = 0x3516a;
  HI_PQ_BIN_Init(stBinAttr);
  printf("stIspRegAttr.u32IspRegAddr   :%x\n", stBinAttr.stIspRegAttr.u32IspRegAddr);
  printf("stIspRegAttr.u32IspRegSize   :%5d\n", stBinAttr.stIspRegAttr.u32IspRegSize);
  printf("stIspRegAttr.u32IspExtRegAddr:%x\n", stBinAttr.stIspRegAttr.u32IspExtRegAddr);
  printf("stIspRegAttr.u32IspExtRegSize:%5d\n", stBinAttr.stIspRegAttr.u32IspExtRegSize);
  printf("stIspRegAttr.u32AeExtRegAddr :%x\n", stBinAttr.stIspRegAttr.u32AeExtRegAddr);
  printf("stIspRegAttr.u32AeExtRegSize :%5d\n", stBinAttr.stIspRegAttr.u32AeExtRegSize);
  printf("stIspRegAttr.u32AwbExtRegAddr:%x\n", stBinAttr.stIspRegAttr.u32AwbExtRegAddr);
  printf("stIspRegAttr.u32AwbExtRegSize:%5d\n", stBinAttr.stIspRegAttr.u32AwbExtRegSize);

  pFile = fopen("fixfile.bin","r");

  fseek(pFile, 0, SEEK_END);
  size = ftell(pFile);
  fseek(pFile, 0, SEEK_SET);
  printf("size:%d\n", size);
  Buf = (unsigned char*)malloc(size);

  len = fread(Buf, sizeof(unsigned char), size, pFile);
  ret = HI_PQ_BIN_GetBinExtraAttr(Buf, &stBinExtraAttr);
  printf("%s(%d) %s  %s  %s\n", __FUNCTION__, __LINE__, stBinExtraAttr.au8Author, stBinExtraAttr.au8Desc, stBinExtraAttr.au8Time);

  ret = HI_PQ_BIN_ParseBinData(Buf,size);
  if(0 != ret)
  {
    printf("HI_PQ_BIN_ParseBinData error! errno(0x%x)\n",ret);
  }
  free(Buf);
  Buf = NULL;
}

通过这个调用,则HI_PQ_BIN_ParseBinData
会打印
Segmentation fault

4719373@163.com

0个粉丝

30

问答

0

专栏

1

资料

4719373@163.com 2017-02-20 11:07:10
认可0
自己做了一个工具,保存参数

yuanjc

0个粉丝

3

问答

0

专栏

0

资料

yuanjc 2017-06-02 17:45:57
认可0
你好,fixfile.bin你是怎样生成的,我调用HI_PQ_BIN_GenerateBinFile时报错误了。

yuanjc

0个粉丝

3

问答

0

专栏

0

资料

yuanjc 2017-08-09 10:46:03
认可0
我这样做的没有报错。
        s32Ret = HI_MPI_ISP_GetISPRegAttr(0,&stIspRegAttr);
        if(0 != s32Ret)
        {
                printf("HI_MPI_ISP_GetISPRegAttr err 0x%x\n",s32Ret);
                return -1;
        }       
        stBinAttr.stIspRegAttr.u32AeExtRegAddr = stIspRegAttr.u32AeExtRegAddr;
        stBinAttr.stIspRegAttr.u32AeExtRegSize = stIspRegAttr.u32AeExtRegSize;
        stBinAttr.stIspRegAttr.u32AwbExtRegAddr = stIspRegAttr.u32AwbExtRegAddr;
        stBinAttr.stIspRegAttr.u32AwbExtRegSize = stIspRegAttr.u32AwbExtRegSize;
        stBinAttr.stIspRegAttr.u32IspExtRegAddr = stIspRegAttr.u32IspExtRegAddr;
        stBinAttr.stIspRegAttr.u32IspExtRegSize = stIspRegAttr.u32IspExtRegSize;
        stBinAttr.stIspRegAttr.u32IspRegAddr = stIspRegAttr.u32IspRegAddr;
        stBinAttr.stIspRegAttr.u32IspRegSize = stIspRegAttr.u32IspRegSize;
        stBinAttr.u32ChipId = 0x3516a;
        DVS_DEBUG(LV_INFO,"Addr 0x%x size %d\n",stIspRegAttr.u32IspRegAddr,stIspRegAttr.u32IspRegSize);
//        stBinAttr.stIspRegAttr.u32IspRegSize = 12288;
        HI_PQ_BIN_Init(stBinAttr);
        memset(&(stPqBinExtra),0,sizeof(HI_PQ_BIN_EXTRA_S));
//        strcpy((char *)stPqBinExtra.au8Author,"dq");
//        strcpy((char *)stPqBinExtra.au8Desc,"ver1");
//        strcpy((char *)stPqBinExtra.au8Time,__TIME__);
       
        s32Ret = access(BIN_FILE_PATH,F_OK);
        if ( s32Ret == -1 )
        {
                fp = fopen(BIN_FILE_PATH,"wb+");
                if (fp != NULL )
                {
                        HI_PQ_BIN_GenerateBinFile(fp, &stPqBinExtra);
                        fclose(fp);
                        fp = NULL;
                }       
        }
        fp = fopen(BIN_FILE_PATH,"rb");
        if (fp == NULL )
        {
                return HI_FAILURE;
        }
        fseek(fp, 0, SEEK_END);
        u32Size = ftell(fp);
        fseek(fp, 0, SEEK_SET);
        pu8FileData = (unsigned char*)malloc(u32Size);
        if(NULL == pu8FileData)
        {
                printf("malloc error\n");
                fclose(fp);
                return HI_FAILURE;
        }
        memset(pu8FileData, 0, u32Size);
        u32Len = 0;
        do {
                u32Tmp = fread(pu8FileData +u32Len, sizeof(unsigned char), u32Size, fp);
                u32Len += u32Tmp;
        }
        while(        u32Len!=u32Size);
       
        DVS_DEBUG(LV_INFO,"before HI_PQ_BIN_ParseBinData u32Size %d\n",u32Size);
        s32Ret = HI_PQ_BIN_ParseBinData(pu8FileData,u32Size);
        if(0 != s32Ret)
        {
                DVS_DEBUG(LV_ERROR,"HI_PQ_BIN_ParseBinData error! errno(0x%x)\n",s32Ret);
        }
        free(pu8FileData);
        pu8FileData = NULL;
        fclose(fp);

gecho

0个粉丝

3

问答

0

专栏

0

资料

gecho 2017-09-28 14:50:55
认可0
这个HI_PQ_BIN_ParseBinData函数需要哪个库支持啊,SDK里貌似没有
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区