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.

[参考译文] IWR1642BOOST:连接到 SYSBIOS 内核的 IDLE 函数

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

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/691413/iwr1642boost-idle-function-hooked-to-sysbios-kernel

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

您好!

我`m 演示代码(C:\ti\mmwave_sdk_01_02_00_05\packages/ti\demo\xwr16xx\MMW\xwr16xx)、并注意到两个内核(DSP 和 R4F)上的 SYS/BIOS 内核已添加 IDLE 函数、以在 DSP 和 R5F 上执行空闲。 这些指令的目的是什么? 比如降低功耗? 至于 DSP、我认为空闲指令只是一个带有 NOP 的无限循环、它将被中断事件中断。 这意味着任何其他寄存的空闲函数都可以被阻止、直到中断发生、因为 SYS/BIOS 空闲线程只是按顺序执行。 `m、我想知道、如果用户想要添加用户定义的空闲函数来执行一些其他后台工作(例如、心脏跳动、看门狗等)、那么用户是否需要删除这个函数。 正确? 如果删除默认空闲线程,您能评论一下会发生什么情况吗?

此致、
NK

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

    这些指令旨在使处理器休眠、即在没有任何操作时降低功耗、中断(例如线性调频脉冲或帧中断)唤醒处理器。 正确的做法是、如果要在空闲任务中运行任何函数、可能需要删除休眠以使其有意义、因为一旦程序执行这些空闲指令、在中断之前就没有转义。 根据 SYSBIOS 用户指南(可在 SYSBIOS 安装中找到)中的空闲任务文档("空闲循环"部分)、空闲任务中的执行顺序是创建空闲函数的顺序。 假设您上次注册了睡眠、那么无论何时完成所有非空闲活动、您的函数都将在睡眠之前执行、但一旦进入睡眠状态、它将在发生中断时退出。 您所讨论的内容似乎就像心跳和看门狗这两种周期性函数、它们不需要在空闲任务中持续执行、因此、如果您根据 SYSBIOS 计时器安排这些任务、您可能仍会让处理器处于休眠状态。 如果在没有其他任务要运行时(空闲任务是 SYSBIOS 中的最低优先级线程)、或者您不关心功耗、则删除空闲状态下的睡眠对真正(最低优先级)后台活动更有意义、这些活动需要持续且稳定地运行。 SYSBIOS 用户指南中有其他一些区域讨论空闲任务、例如:

    ----------

    在"线程类型"部分中

    空闲循环(空闲)线程。 在 SYS/BIOS 应用程序中、空闲线程以最低优先级执行、然后执行
    在连续循环(空闲循环)中一个接一个地执行。 在 main 返回后、将显示一个 SYS/BIOS
    应用程序调用每个 SYS/BIOS 模块的启动例程、然后进入空闲循环。 每个
    线程必须等待所有其他线程完成执行、然后才能再次调用。 空闲循环运行
    持续、除非它被更高优先级的线程抢先。 只有没有的函数
    硬最后期限应在空闲循环中执行。 请参阅第102页的第3.7节"空闲循环"、了解
    有关背景线程的详细信息。

    在"选择要使用的线程类型"部分中

    •空闲。 创建空闲线程、以便在没有其他处理时执行非关键的内务处理任务
    必要。 空闲线程通常没有严格的最后期限。 相反、它们在系统具有时运行
    未使用的处理器时间。 空闲线程按顺序以相同的优先级运行。 您可以使用空闲线程
    以在不执行其他处理时降低功耗需求。 在这种情况下、您不应该这样做
    取决于在功率降低期间执行的维护任务。

    --------------

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

    Piyush_、

    感谢您的回复。 我知道空闲线程的使用/用途。 您n`t 必须在此处坚持*心跳*或*安全装置*一词。 我要在这里确认的是、(基本上)如果用户想要使用自定义的线程、则必须从空闲线程中删除默认的睡眠挂钩。 好的、没错。 我知道。  

    下一部分。 您n`t 将睡眠特意添加到空闲线程以实现功耗(在 Resource Explorer 中的其他示例中、我没有看到相同的实现)。  在本演示用例中、预计会降低多少功率或电流? 我不`m 这是否会有如此大的效果。

    此致、
    NK  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有任何答复? `m 上一帖子中描述的说明、我对功耗的影响感兴趣。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉耽误你的时间。 仍在与设计人员合作以获得答案。 还会回来的

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

    好的、感谢您关注此主题。 如果您有任何信息、请随时向我更新。

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

    下面是我们收到的有关空闲函数的响应:
    这些数字将取决于您将 CPU 置于空闲或断电模式的时间。 假设硅片较强、60mW 可能是最佳情况编号、并且可能为20%有效(估计)、但如果不提及用例、则无法宣称为60mW。 客户用例因素包括占空比、以及考虑从低功耗状态返回和返回的其他延迟和开销

    希望这对您有所帮助。

    如果您有任何其他问题、请告诉我。

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

    感谢您对此主题的响应。 似乎影响不大。 我明白了。 我关闭线程。

    此致、
    NK