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.

[参考译文] RTOS/CC1310:Task_sleep 损坏 RAM

Guru**** 2612355 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/578561/rtos-cc1310-task_sleep-corrupts-ram

器件型号:CC1310
Thread 中讨论的其他器件:SYSBIOS

工具/软件:TI-RTOS

大家好、

当我将任务发送到睡眠模式时、RAM 的8个字节位于以下地址

当 寄存器被重新设置时、TI_SYSBIOS_KNL_Task_Instance_State_0_STACK_A 结构被 Task_Swap 函数覆盖。

版本:

  • TI-RTOS:2.21.00.06
  • BIOS:6.46.01.37
  • UIA:2.01.00.01

进行交换

交换后:


是否有方法可以增大结构的大小? 或者我缺少了一个选项?


此致、

Johannes

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

    您可以使用 ROV 来查看任务堆栈吗?

    此外、_pinHandle 之前在存储器中放置了什么?

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

    您好!

    遗憾的是、我无法再现上次使用的确切存储器布局。 但误差似乎是可重现的。

    因此、这里的存储器布局略有不同、但行为相同。

    全局或静态变量放置在栈的前面。

    这是您请求的堆栈信息吗? 该线程的实际堆栈大小为1.5KiB、根据 ROV、峰值使用量为850。


    此致、

    Johannes

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

    您是否能够使用内存断点/观察点确认 Task_swap()正在修改内存?

    您的应用是否使用了 CIOBUF? CIOBUF 似乎可以写入其存储器之外的数据。

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

    我想知道问题是什么:

    空闲任务的堆栈大小选择太小:224字节、而需要240字节。 内存资源管理器中显示的堆栈是空闲任务的堆栈。

    感谢你的帮助。

    谢谢、
    Johannes