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.

[FAQ] [参考译文] 【常见问题解答】TDA4VH-Q1:复制和注册新 C7x 内核的步骤

Guru**** 2539500 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1563280/faq-tda4vh-q1-steps-to-duplicate-and-register-a-new-c7x-kernel

器件型号:TDA4VH-Q1


工具/软件:

在 Vision 应用程序中复制和注册新的 c7x 内核的步骤是什么?

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

    1.复制内核文件夹

    • 复制文件夹:vision_apps/apps/basic_demos/app_c7x_kernel

    • 使用新的内核名称重命名复制的文件夹、例如:app_c7x_kernel_cp

    2.更新生成输出路径

    修改以下.mak 文件中的输出路径以匹配您的新内核名称:

    • vision_apps/apps/basic_demos/app_c7x_kernel_c7x/concto.mak

    • vision_apps/apps/basic_demos/app_c7x_kernel_cp/concerto.mak


    3.添加输出库路径

    根据构建目标、更新以下文件:

    • 对于 PC 仿真 (x86_64):
      将新输出库路径添加到:vision_apps/apps/concerto_x86_64_inc.mak

    • 对于 Target Build (EVM 上的 RTOS):
      将输出库路径添加到:vision_apps/platform/ /rtos/concerto_c7x_inc.mak

    4、注册并注销内核

    更新主机和目标代码中的函数名称和定义:

    • 主机文件  :vision_apps/apps/basic_demos/app_c7x_kernel_cp/app_c7x_kernel_img_add.c
    • 目标文件:vision_apps/apps/basic_demos/app_c7x_kernel_cp/c7x/app_c7x_target_kernel_img_add.cpp

    使用新的内核名称更新以下函数:

    • 主机注册
      • vx_status app_c7x_kernel_img_add_register (vx_context context context);
      • vx_status app_c7x_kernel_img_add_unregister (vx_context context context);

    • 目标配准
      • void app_c7x_target_kernel_img_add_register (void);
      • vx_status app_c7x_target_kernel_img_add_unregister (void);

    适当地重命名所有实例(例如,如果内核为 img_sub、则更改为 app_c7x_kernel_img_sub_register 等)。

    更新内核名称:/vision_apps/apps/basic_demos/app_c7x_kernel_cp/app_c7x_kernel.h

    更改 app_c7x_target_kernel_中内核函数的名称 register 及其函数定义中。

    5.将内核挂钩到应用程序初始化

    在以下文件中:vision_apps/platform/j784s4/rtos/common/app_init.c

    找到以下函数并将调用添加到您的新注册/取消注册函数:

    • appRegisterOpenVXTargetKernels()

    添加 app_c7x_target_kernel_kernel_register()<your_kernel>

    • appUnRegisterOpenVXTargetKernels()

    app_c7x_target_kernel_kernel_unregister()<your_kernel>

    将<your_kernel>替换为新的内核标识符。

    注意:

    • 此摘要中未显示文件重命名—如果需要、请确保重命名.c/.cpp/.h 文件以匹配新的内核名称。
    • 在所有文件、函数和编译路径中采用一致的命名方式。