我想在RAM中读取给定地址和数据长度的值。我已经阅读了几个RTE API,我认为没有API可以满足我的需求。我希望有像Rte_Ram_read(address,length)
或其他类似的API。我找到了访问PerInstanceMemory
或InterRunnableVariable
的API,但它们并不像我想要的那样工作。
我的问题,是否有任何我想要的API?或者我必须自己创造?或者对我有什么建议吗?
答案 0 :(得分:2)
问题是你为什么要那样做?
软件组件的概念是它独立于硬件并且是独立的。要与其他组件通信,您应该使用端口。要与runnables通信,您应该使用InterRunnableVariable
或PerInstanceMemory
。
从RAM读取内容背后的用例是什么?数据来自哪里?
答案 1 :(得分:-1)
取决于哪个 SWC 将数据放入RAM中。此 SWC 。
负责定义界面如果你定义一个指向所需地址的指针并读取值,我相信它是根据 AUTOSAR 。
例如,如果值为32位:
unsigned int * pAddr = (unsigned int *)0xYYYYZZZZ;
int value = *pAddr;
0xYYYYZZZZ
是您想要读取的 RAM 中的地址。通常情况下,它应byte
与4
对齐(取决于处理器)。
此外,您应该注意字节序(大字节或小字节),因为字节可能是颠倒的顺序。