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.

[参考译文] AWR6443:扩展 systemHeap 大小后、无法运行到"main"函数

Guru**** 2543240 points


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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1519330/awr6443-after-extend-the-systemheap-size-can-not-run-into-main-function

器件型号:AWR6443


工具/软件:

尊敬的 TI 专家:

我们希望扩展 DPC 任务大小。 因此,我们调整系统堆和 DPC 任务大小,如下图所示。

我们在 main 的开头添加 print。  调整后、电路板电流异常、无法看到 UART 打印。  

此问题似乎与我们的应用程序代码有关、因为实现相同大小更改的另一个存储库未遇到此问题。

我们想知道是否有方法在主执行之前检查代码问题并进行调试。

下面是映射文件、左侧包含问题、而右侧不包含问题。

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

    尊敬的 Yongheng:

    感谢您联系我们。 请提供以下信息:

    1. 您使用的 SDK 是什么? 请确保您使用的是最新的 03.06.02.00-LTS。
    2. 您的应用用例是什么?实施此变更的不同用例应用适用于哪些不同用例?

    似乎您进行了两处更改、一处是关于 systemHeap 的大小、另一处是关于 DPC 任务的大小。 您能否尝试单独实施每个变更、以便我们缩小此问题所引起的变化范围。

    此致、

    Vignesh K.

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

    尊敬的 Vignesh:

    1 SDK 版本为 mmwave_sdk_03_05_00_04。

    2 我们使用定制板而不是 EVM。 我们的应用程序变更主要与 CPD Algo 相关、后者增加了许多全局和局部变量。

    3 我们更改 systemHeap 和 DPC 任务栈大小。 因为 我们认为 DPC 任务 RAM 位于 systemHeap 中。 没有从堆分配任务栈 RAM? 如果我们只增加 DPC 任务的大小、就没有问题、但我们发现 RAM 大小没有变化。  

    此致、

    永恒

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

    感谢您的回答。 我将在下周中与您联系、提出一些解决您的问题的建议。  

    此致、

    Vignesh K.

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

    尊敬的 Vignesh:

    您能否分享有关此问题的最新信息?

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

    尊敬的 Yongheng:

    您可以在器件到达 main 之前使用一种技术来调试器件、这可能使您能够在 main 之前检查代码是否有问题。 请按照以下 E2E 中概述的步骤操作:

    https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1494139/awrl6844-awrl6844evm-r5f-core-not-halting-at-sw-breakpoint-issue-debugging-in-demo_in_cabin_sensing_6844

    如果您发现了一些问题并需要更多指导、请告诉我。

    此致、

    Vignesh K.

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

    尊敬的 Vignesh:

    感谢您的支持。 我将按照本指南进行调试并向您提供反馈。  

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

    嗨、永恒:

    Vignesh 将于下周发布、因此我将在这里提供支持。 如果您有任何问题、请告诉我。

    此致、

    Kristien

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

    您好 Kristein、

    很抱歉回复太晚了。

    我已经尝试按照 Vignesh 提供的步骤进行操作。 但我发现 在 将问题软件刷写到电路板后、无法通过 XDS 调试电路板。

    如果我使用正常软件和相同的硬件、则可以调试电路板。

    我们知道正确的方法 扩展大小 任务 RAM 是否未堆分配? 您能提供一些文档参考资料吗?

    此致、

    永恒

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

    尊敬的 Yongheng:

    很抱歉耽误了回复、这个 E2E 迷失在我的组合中。

    首先、关于 JTAG 问题、请尝试更新 XDS 固件。 您可以在下面找到相关信息:

    https://software-dl.ti.com/ccs/esd/documents/xdsdebugprobes/emu_xds110.html#updating-the-firmware

    重新评定扩展栈大小时的问题、请允许我在几天内进行研究。 我们没有这方面的任何文档、因此需要更多的工作。

    感谢您的耐心等待。

    此致、

    Vignesh K.

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

    尊敬的 Vignesh:

    XDS 固件版本已经是 firmware_3.0.33.bin。 如果我们不使用问题软件、我们可以连接电路板。

    扩展栈大小指南是否有任何进展?

    此致、

    永恒  

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

    尊敬的 Yongheng:

    要扩展堆栈大小、可以尝试在 dss.cfg 文件中修改这一行。

    Task.defaultStackSize = 1500;
    这将更改所有栈的栈大小。 若要仅针对特定任务进行更改、您可以修改 C 代码中的以下行:
    Task_Params_(&taskParams);
    taskParams.priority = MMWDEMO_DPC_OBJDET_DPM_TASK_priority;
    taskParams.STACKSIZE = 4*1024;
    gMmwDssMCB.objDetDpmTaskHandle = Task_create (MmwDemo_DPC_ObjectDetection_dpmTask、&taskParams、NULL);
    我希望这可以解决您的问题。 再次感谢您的耐心。 如果您有任何其他问题、请告诉我。
    此致、
    Vignesh K.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Vignesh:

    我们dss.cfg的工程中没有文件。 我们使用来调整堆栈大小 mss_mmw.config

    感谢您的解决方案。 我想我找到了如何配置堆栈大小的方法  mss_mmw.config。  

    栈位于.bss:taskStackSection。 因此、无需扩展堆大小。

    此致、

    永恒

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

    尊敬的 Yongheng:

    我很高兴听到您找到了解决方案。 我现在将关闭此主题。

    此致、

    Vignesh K.