英文:
How can asynchronous server interfaces mapped to SOME/ IP be implemented in AUTOSAR classic?
问题
我必须在AUTOSAR经典软件组件中定义一个SOME/IP服务,除其他事项外,触发一个(异步)NVM操作。
在同一个或另一个可运行实体(待定)中接收作业完成通知后,我必须提供一个指示是否成功的响应。
我可以配置一个可运行实体在从客户/服务器接口的调用中触发并继续执行直到结束,但是当从另一个接口甚至不同的可运行实体触发时,返回SOME/IP调用的响应吗?如果可以,应该如何配置?
我已经查阅了“软件组件模板”、“RTE软件规范”和“SOME/IP转换器规范”,但没有找到答案。
英文:
I have to define a SOME/IP service in a AUTOSAR classic software component, which, beyond other things, triggers a (asynchronous) NVM operation.
After I receive the job finished notification in the same or another runnable (TBD), I have to give a response indicating whether this was successful.
Can, and if yes how, can I configure that a Runnable gets triggered from a call of the client/ server interface and continues to execute until end, but, when triggered from another interface or even a different Runnable, gives back the response to the SOME/IP call.
I have looked into the "Software Component Template", the "Specification of the RTE Software" and the "Specification of SOME/IP Transformer", but did not find an answer there.
答案1
得分: 1
我认为您的问题最好通过在为SOME/IP方法提供OperationInvokedEvent服务的Runnable Entity中使用WaitPoint来解决:
- 您可以为与NvM操作的异步调用指定超时值。如果超时发生,则返回错误。
- WaitPoint.trigger属性指示WaitPoint正在等待的RTEEvent。在您的情况下,这将是NvM操作调用的AsynchronousServerCallReturnsEvent。
- 如果WaitPoint解除阻塞,可运行实体使用Rte_Result()来检索来自NvM操作的返回值。
有关WaitPoint的详细信息,请参见AUTOSAR经典平台软件组件模板
英文:
I believe your problem may best be solved by using a WaitPoint in the Runnable Entity serving the OperationInvokedEvent of your SOME/IP method:
- you can specify a time out value for the asynchronous call to the NvM operation. In case the timeout happens return an error.
- the WaitPoint.trigger attribute indicates the RTEEvent the WaitPoint is waiting for. In your case that would be the the AsynchronousServerCallReturnsEvent of the NvM operation call.
- If the WaitPoint unblocks the runnable uses Rte_Result() in order to retrieve the return value from your NvM Operation.
For details on WaitPoint see AUTOSAR Classic Platform Software Component Template
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。


评论