This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMS320C6748:可用于 TMS320C6748

Guru**** 2575385 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/627909/ccs-tms320c6748-canny-for-tms320c6748

器件型号:TMS320C6748

工具/软件:Code Composer Studio

现在,对于我的项目,按项目->构建项目,
我可以传递它,并获取 vpif_lcd_loopback.out 文件。
消息显示如下:
-lutils.lib -lplatform.lib -lsystem_config.lib "../common.lib"  
"../vpif_lcd_loopback.cmd"  
'完成的构建目标:vpif_lcd_loopback.out'
'
然后我通过 Run -> Connect Target、Run -> Load 来运行它,以加载.out 文件  
目标,然后在调试模式下运行它。
我发现,我可以运行  
  if (VLIB_cache_init ())
行,也是
    canny_getTestParams (&prm、&test_cases);
行,但我无法运行  
    VLIB_PROFILE_INIT (2、"VLIB_Canny_Edge_Detection);
行。 因此我将其删除,
//    VLIB_PROFILE_INIT (2、"VLIB_Canny_Edge_Detection);
然后继续,我仍然不能跑过去  
        VLIB_PROFILE_START (VLIB_kernel_opt);
行。
为什么?
我现在该怎么做?
我的源代码如下所示:
  uint8_t pInput[4096];
  int16_t pBufGradX[4096];// =(int16_t *) VLIB_malloc (buffersize *  
sizeof (int16_t));
  int16_t pBufGradY[4096];// =(int16_t *) VLIB_malloc (buffersize *  
sizeof (int16_t));
  int16_t pBufMag[4096];//  =(int16_t *) VLIB_malloc (buffersize *  
sizeof (int16_t));
  uint8_t pScratch[4096];//  =(uint8_t *) VLIB_malloc (buffersize *  
sizeof (uint8_t));
  uint8_t pBufOut[4096];//  =(uint8_t *) VLIB_malloc (buffersize *  
sizeof (uint8_t));
  uint8_t pBufOut_CN[4096];// =(uint8_t *) malloc (buffersize * sizeof
(uint8_t));
//
//
//
//
  if (VLIB_cache_init ())
  {
    VLIB_memError ("VLIB_Canny_Edge_Detection");
  }
  其他
  {
  ;
  test_cases = 1;
    canny_getTestParams (&prm、&test_cases);
    //初始化性能评测
//    VLIB_PROFILE_INIT (2、"VLIB_Canny_Edge_Detection);
    //运行每个测试用例
    // for (TPI=0;TPI < test_cases;TPI++)
    TPI = 0;
//    {
      //初始化状态标志
//       int32_t  status_NAT_VS_int = VLIB_kernel_pass;//测试状态  
:自然 c 与优化
//       int32_t  STATUS_NAT_VS_ref = VLIB_kernel_pass;//测试状态  
:自然 c 与静态基准
      STATUS_NAT_VS_INT = VLIB_kernel_pass;
      //测试状态:Natural c 与 Optimized
      STATUS_NAT_VS_ref = VLIB_kernel_pass;
      //测试状态:Natural c 与静态基准
      //计算缓冲区大小
//       uint32_t  buffersize = prm[TPI].width * prm[TPI].height;
      buffersize = 64 * 64;//prm[TPI].width * prm[TPI].height;
      //为每个测试向量分配缓冲区
//       uint8_t * pInput   =(uint8_t *) VLIB_malloc (buffersize *  
sizeof (uint8_t));
//       pInput   =(uint8_t *) VLIB_malloc (buffersize * sizeof
(uint8_t));
//       * pBufGradX =(Int16_t *) VLIB_malloc (buffersize * sizeof
(int16_t));
//       * pBufGradY =(int16_t *) VLIB_malloc (buffersize * sizeof
(int16_t));
//       *pBufMag  =(Int16_t *) VLIB_malloc (buffersize * sizeof
(int16_t));
//       * pScratch  =(uint8_t *) VLIB_malloc (buffersize * sizeof
(uint8_t));
//       *pBufOut  =(uint8_t *) VLIB_malloc (buffersize * sizeof
(uint8_t));
//       *pBufOut_CN =(uint8_t *) malloc (buffersize * sizeof (uint8_t));
//       pBufGradX =(int16_t *) VLIB_malloc (buffersize * sizeof
(int16_t));
//       pBufGrady =(int16_t *) VLIB_malloc (buffersize * sizeof
(int16_t));
//       pBufMag  =(int16_t *) VLIB_malloc (buffersize * sizeof
(int16_t));
//       pScratch  =(uint8_t *) VLIB_malloc (buffersize * sizeof
(uint8_t));
//       pBufOut  =(uint8_t *) VLIB_malloc (buffersize * sizeof
(uint8_t));
//       pBufOut_CN =(uint8_t *) malloc (buffersize * sizeof (uint8_t));
      //仅在缓冲区分配适合堆时运行测试
      if (pInput && pBufGradX && pBufGradY && pBufMag && pScratch &&  
pBufOut && pBufOut_CN)
      {
        uint32_t  失败;
        //根据所需的测试模式填充输入数组
//         VLIB_fillBuffer (PRM[TPI].testPattern、
//                 (uint8_t) 127、
//                 pInput、PRM[TPI].input、
//                 PRM[TPI].width、PRM[TPI].height、PRM
[TPI].width、
//                 sizeof (uint8_t)、testPatternString);
        //初始化存储器
//         memset (pBufGradX、 0、buffersize * sizeof (int16_t));
//         memset (pBufGradY、 0、buffersize * sizeof (int16_t));
//         memset (pBufMag、  0、buffersize * sizeof (int16_t));
//         memset (pBufOut、  0、buffersize * sizeof (uint8_t));
//         memset (pScratch、 0、buffersize * sizeof (uint8_t));
        对于(i1=0;i1<4096;i1++)
        {
        pBufGradX[i]= 0;
        pBufGradY[i]= 0;
        pBufMag[i]= 0;
        pBufOut[i]= 0;
        pScratch[i]= 0;
        }
        对于(i1=0;i1<4096;i1++)
        {
        pInput[i]= gTIexasLogo[i];
        }
        //测试优化的内核
        VLIB_PROFILE_START (VLIB_kernel_opt);
        PRM[TPI].width = 64;
        PRM[TPI].height = 64;
        VLIB_Canny_Edge_Detection (pInput、
                     pBufGradX、
                     pBufGradY、
                     pBufMag、
                     pBufOut、
                     pScratch、
                     项目数(&N)、
                     PRM[TPI].width、
                     PRM[TPI].height);
        VLIB_PROFILE_STOP();
      }
////////////////////////////////////////////////////////////////////////////////////////////////////
等待您的建议。 谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我已通知软件团队。 所使用的 SDK 版本的平均时间份额。  

    此致、
    Yordan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尤丹先生:

    有人能给我一点建议吗?

    我的 CCS 为5.1.00031,VLIB 为 VLIB_C674x_3_3_0_3,我的 EVM 板为 C6748 LCDK。

    再次等待您的答案。

    祝您好运!  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我已向团队发送提醒。

    此致、
    Yordan