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.

[参考译文] TMS320F28069M:SYS/BIOS 任务堆栈运行时分配

Guru**** 2590240 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/843278/tms320f28069m-sys-bios-task-stack-runtime-allocation

器件型号:TMS320F28069M

因此我有一个使用 SYS/BIOS 的应用程序,它似乎在堆栈空间之外运行。行为是:我分配任务空间,并向 main()添加一些新变量,调试程序,程序通过 cinit 并跳转到0x3FF4A (等待引导模式), 如果我减小其中一个任务堆栈的大小、它将运行(有时会溢出任务堆栈溢出)。根据.map 文件、我仍然有未分配的 RAM、但我似乎以某种方式溢出。 我是否有一种方法可以:a)修复此问题、或 b)告诉链接器更好地放置事情、以便在加载程序后发生此错误时收到错误?

谢谢!

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

    Daniel、您好!

    您能否在加载.out 文件后打开反汇编窗口。 类型为"Error_Raise "、自动填充应显示错误提升函数的全名(类似于 XDC_RAUNTIME_Error_RAGE_*…… 我正在旅行、对工作的访问有限)。 函数在反汇编窗口中显示后、在其 上放置一个断点。 运行应用程序。 当堆栈溢出发生时、应命中断点。 打开 ROV 以查看哪个任务堆栈溢出。 您如何增加该堆栈的大小?

    Todd

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

    Daniel、您好!

    这是否得到了解决?

    Todd

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

    你好、Todd、

    没有机会尝试中断 ERROR_RAISE。 我能够通过减少所有其他任务的堆栈来取得进展、但即使在堆栈溢出时、我仍有几 KB 的 RAM 剩余。

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

    Daniel、您好!

    你收到了我的电子邮件吗?

    Todd

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

    这是脱机处理的。

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

    这仍在脱机工作。