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:CAN't 使用异常挂钩

Guru**** 2207170 points
Other Parts Discussed in Thread: SYSBIOS, TMS320C6746
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/677442/ccs-can-t-make-use-of-exception-hook

Thread 中讨论的其他器件:SYSBIOSTMS320C6746

工具/软件:Code Composer Studio

您好!

我正在尝试添加一个异常挂钩、使用带有 C6746的 SYS-BIOS。  我已将以下内容添加到.cfg 文件中

var 异常= xdc.useModule ('ti.sysbios.family.c64p.exception');

exception.enablePrint = true;

exception.exceptionHook = exception_hook;

//Exception.internalHook =异常挂钩;

但链接一直失败、说它未定义、即使我已将函数添加到我的源文件之一、该源文件会编译:

JS:"one.cfg"、第347行:参考错误:未定义"exception_hook"。 (1cfg#347)
"./package/cfg/one_pe674.cfg,第188行
xdctools_3_50_04_43_core\gmake.exe:***[package/cfg/One_pe674.xdl]错误1
xdctools_3_50_04_43_core\gmake.exe:***[package/cfg/One_pe674.xdl]删除文件`package/cfg/One_pe674.h'
xdctools_3_50_04_43_core\gmake.exe:***[package/cfg/One_pe674.xdl]删除文件`package/cfg/One_pe674.c'
JS:"c:/ti/xdctools_3_50_04_43_core/packages/xdc/tools/Cmdr.xs、第52行:错误:xdc.tools.configuro:由于先前的错误(状态= 2)、配置失败;已删除'linker.cmd'。
gmaking[1]:***[Build-1434037521-InProC]错误1.

请告知、

Robert

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

    Robert56682 说:
    exception.exceptionHook = exception_hook;

    根据查看一些示例.cfg 文件、要使.cfg 文件引用 C 函数、您需要引用函数的地址。 例如、尝试:

    exception.exceptionHook ="&exception_hook"; 

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

    此外、您可能还需要查看此写/视频 :training.ti.com/debugging-common-application-issues-ti-rtos

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

    [引用用户="Chester Gillon"]

    Robert56682
    exception.exceptionHook = exception_hook;

    根据查看一些示例.cfg 文件、要使.cfg 文件引用 C 函数、您需要引用函数的地址。 例如、尝试:

    exception.exceptionHook ="&exception_hook"; 

    [/报价]

    您好!

    我进行了该更改、但现在它在链接期间出现了错误(不编译)。

    未定义的首次引用
    符号
    ------ --------
    exception_hook one_pe674.oe674

    错误#10234-D:未解析的符号仍然存在
    错误#10010:链接期间遇到错误;未生成"one.out"
    致命错误#99900:已达到错误限制;检测到1个错误

    谢谢、

    Robert

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否在应用中提供了该功能?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我是这样做的
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Robert56682">我进行了该更改、但现在在链接(不编译)期间出现了错误。 C 或 C++源文件中的 exception_hook 是不是?

    如果在 C++源文件中、 ""="">则 需要使用 extern "C"来防止 C++名称改编来更改看到链接器的名称。

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

    我刚刚导入了 SYS/BIOS 产品中的典型示例(通过 Resource Explorer Classic)。 我在.cfg 中添加了以下内容

    var 异常= xdc.useModule ('ti.sysbios.family.c64p.exception');

    exception.exceptionHook ="&exception_hook";

    这到 main.c

    void exception_hook (void)



    它已正确编译、并且将 exception_hook 连接到异常模块中。 我通过查看 Typical_TMS320C6746_C67XX\Debug\configPkg\package\cg\app_pe674.c 文件中的以下内容来确认了这一点。

    __far__ const CT_ti_SysBIOS_family_c64p_exceptionHook ti_SysBIOS_family_c64p_exception_exceptionHook_C =((ct_ti_SysBIOS_family_c64p_exception_exceptionHook)((XDC_Fxn) exception_hook));

     

    此外、我确认 exception_hook 位于映射文件中(如预期)。

    是否确定将具有 exception_hook 的文件添加到编译中?

    Todd

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

    [引用用户="Chester Gillon"]

    Robert56682
    我进行了该更改、但现在它在链接期间出现了错误(不编译)。

    exception_hook 是在 C 还是 C++源文件中?

    如果在 C++源文件中、 ""="">则 需要使用 extern "C"来防止 C++名称改编来更改看到链接器的名称。

    [/报价]

    就是这样。  是 C++。   

    非常感谢。

    Robert