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.

[参考译文] CC2340R5:在程序移植过程中、程序将运行到 Exception_handlerSpin

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1534569/cc2340r5-during-the-process-of-program-transplantation-the-program-will-run-to-exception_handlerspin

器件型号:CC2340R5
主题:SysConfig 中讨论的其他器件

工具/软件:

最近、我计划将 OAD 功能合并到我的工程中。 我的工程中使用的 SDK 是 8_40_02_01、因此我打算将其移植到最新的 9_11_00_18。

我计划在最新 9_11SDK 的 onoff_switch_ota_client_onchip 例程中将我的代码作为基础移植。 我首先修改了.syscfg 并移植了我的代码文件、但没有更改原始例程的功能和逻辑。 编译成功后、程序正常运行。

然后我开始添加我自己的逻辑。 发生了一些奇怪的事情。 我添加了某个器件的代码、但程序根本没有运行到该器件上。 程序在 Power_init () 中停止运行。 跟踪代码,我发现程序停止在 exception_handlerSpin。
然后、我重新运行程序以进行单步调试、程序在以下函数中停止
/*构建 HFXT 振幅补偿时钟。
*在启动时,时钟用于检测 HFXT FSM 是否卡在中
* RAMP0 状态。
*/
ClockP_Construct (&hfxtAmpCompClock、
PowerCC23X0_hfxtAmpsettledTimeout、
HFXT_AMP_COMP_START_TIMEOUT_US / ClockP_getSystemTickPeriod ()、
空);
如果继续跟踪、它将在 List_put 函数的 list->tail=elem 中停止运行。

我不知道为什么我只添加该程序的这一部分。 在代码到达我添加的部分之前,它在初始化过程中已经停止运行,内存没有溢出。 但当我删除这部分代码时,程序可以再次正常运行。请给我您的建议。 谢谢你

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

    您好:

    我计划在最新的 9_11SDK 中将我的代码作为 onoff_switch_ota_client_onchip 例程的基础移植。 我首先修改了.syscfg 并移植了我的代码文件、但没有更改原始例程的功能和逻辑。 编译成功后、程序将正常运行。

    请确认您的 SDK v8.40 工程是否已移植到 v9.11 并成功运行应用程序(包括 Zigbee 网络功能)。  您是否使用了所有正确的 依赖版本 (重点是 SysConfig 和 TI ARM Clang 编译器)?

    然后我开始添加我自己的逻辑。 发生了一些奇怪的事情。 我添加了某个零件的代码、但该程序根本没有运行到该零件。

    此语句似乎与上一条代码迁移成功的语句相冲突。  您能否演示必须将哪个代码片段添加到基准 v9.11 F3 SDK 示例中才能导致出现该行为?  为了提供帮助、我必须能够复制该问题、但从 v9.11 F3 SDK 示例和正确的依赖项支持开始、这一点很重要。

    我首先修改了.syscfg 并移植了我的代码文件

    我建议您从 v9.11 F3 SDK 中的 SysConfig 文件开始、应用与 v8.40 中所做更改类似的更改、以确保给定 SysConfig 工具版本没有不同。  您是否在“Project Properties“->"Tools"->"Arm Compiler"->"Optimization"“ Compiler"->"Optimization"中“中启用“启用了“了 LTO“ LTO?“?

    在代码到达我添加的部分之前、它在初始化期间已经无法运行

    这进一步证明应该导入 v9.11 F3 SDK 示例、然后开始进行小的更改、直到您可以确定导致所观察到的问题所需的修改。

    此致、
    Ryan