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.

[参考译文] AM2434:AM2434 -实现 SCIdriver - DMSC、如 MCU+ SDK 中所述

Guru**** 2394295 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1253370/am2434-am2434---realization-of-scidriver---dmsc-as-stated-in-mcu-sdk

器件型号:AM2434

浏览sciclient 的 API 文档(software-dl.ti.com/.../group__DRV__SCICLIENT__MODULE.html)后发现可以将驱动程序配置为 RTOS 感知和基于中断。 (https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/08_06_00_45/exports/docs/api_guide_am243x/group__SCICLIENT__HAL.html)



通过查看源代码、驱动程序仅支持基于轮询的裸机操作、与文档中所述相反。 在关键段内部进行轮询的驱动器会对基于 RTOS 的工程产生严重的副作用。  
我们在 Jacinto7 PDK 中找到了一个带有服务器/客户端架构的驱动程序实现方案。 是否计划在 Sitara 架构上也移植此功能?
Jacinto7 PDK https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/06_01_01_12/exports/docs/pdk/docs/user_guide/html/group__SCICLIENT__HAL.html

如果不是、是否能保证在指定时间内接收到来自 DMSC 的响应? 是否有由 sciclient 轮询引入的延迟信息?

感谢您的支持

奥利弗

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

    尊敬的 Oliver:

    首先、对于用户指南中的错误通信深表歉意、正如您从源代码中看到的那样、我们仅在 Sciclient 中支持轮询模式。 这将在即将发布的版本中进行更正。 但是、并未计划在立即发布版本中实现中断模式。 尽管我认为 Jacinto 的中断模式已启用、但其静态实现可能会令人困惑。 由于采用了分离架构、您可能看到的 sciserver/sciclient 架构仅适用于 Jacinto 类器件。 对于 AM243x、DMSC 内核上仅有一个与 sciclient 通信的固件。 因此不需要 sciserver。  

    关于轮询延迟、实际上取决于向 SYSFW 发出的请求的类型。 如果这是简单的启用/禁用模块或版本检查、则大部分时间处于微秒级。 中断路由等更复杂的请求将需要更多时间。 我将看到是否能得到典型请求的延迟表。

    如果你有任何关于 Sciclient 的问题,请告诉我。

    此致、
    阿南德·马哈德万·SS

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

    Anand、您好!

    感谢您的澄清。 对于我们的设计、了解不同的延迟时间非常有用。 因此、我们可以为每种请求定义最大超时时间、以防止挂起请求  或永久占用资源。 感谢您的支持。

    奥利弗

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

    尊敬的 Oliver:

    我要向 SYSFW 团队核实是否有可用的表。 如果数据不易获得、我可以尝试对特定请求进行分析、并可以为您提供数据。 这可能需要一些时间、所以如果您告诉我一个您特别期待的功能队列、我可以检查哪些功能的优先级、然后用数据返回给您。

    此致、
    阿南德·马哈德万·SS

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

    Anand、您好!
    您描述的后续步骤非常适合我们。 我们将把这个时间集成到我们的架构中。 此外、 如果现在没有数据或示例:您能给我们一个关于复杂请求在 准备答案时所需的最长最长时间的想法。 这对设计很有帮助。
    谢谢您、"看到"您

    奥利弗

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

    尊敬的 Oliver:

    很抱歉这么晚才回复。 遗憾的是、没有此类数据可供随时获取、并且有大量 API 需要进行配置。 由于您要求使用最糟糕的情况、我认为处理器引导请求将占用最长的时间。 通常需要几百毫秒、通常200-300ms。 但处理器启动是非常具体的 API 调用、通常仅在引导加载程序上下文中使用。 所需的时间反映了要加载到内核等上的图像的大小。 对于电源管理、时钟或中断路由等通用 Sciclient 调用、延迟通常为亚毫秒级。 希望这对您有所帮助、如果需要进一步的信息、请告诉我。

    此致、
    阿南德·马哈德万·SS