在AUTOSAR Environtment上直接访问RAM

时间:2016-03-01 04:21:29

标签: autosar

我想在RAM中读取给定地址和数据长度的值。我已经阅读了几个RTE API,我认为没有API可以满足我的需求。我希望有像Rte_Ram_read(address,length)或其他类似的API。我找到了访问PerInstanceMemoryInterRunnableVariable的API,但它们并不像我想要的那样工作。

我的问题,是否有任何我想要的API?或者我必须自己创造?或者对我有什么建议吗?

2 个答案:

答案 0 :(得分:2)

问题是你为什么要那样做?

软件组件的概念是它独立于硬件并且是独立的。要与其他组件通信,您应该使用端口。要与runnables通信,您应该使用InterRunnableVariablePerInstanceMemory

从RAM读取内容背后的用例是什么?数据来自哪里?

答案 1 :(得分:-1)

取决于哪个 SWC 将数据放入RAM中。此 SWC

负责定义界面

如果你定义一个指向所需地址的指针并读取值,我相信它是根据 AUTOSAR
例如,如果值为32位:

unsigned int * pAddr = (unsigned int *)0xYYYYZZZZ;
int value = *pAddr;

0xYYYYZZZZ是您想要读取的 RAM 中的地址。通常情况下,它应byte4对齐(取决于处理器)。

此外,您应该注意字节序(大字节或小字节),因为字节可能是颠倒的顺序。