1

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

我的问题,有没有像我想要的那样的 API?还是我必须自己创建?或者对我有什么建议吗?

4

2 回答 2

2

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

软件组件的想法是它独立于硬件并且是自包含的。要与其他组件通信,您应该使用端口。要与可运行文件进行通信,您应该使用InterRunnableVariablePerInstanceMemory

从 RAM 读取内容的用例是什么?数据从何而来?

于 2016-03-12T11:55:42.727 回答
-1

这取决于哪个SWC将数据放入 RAM。此SWC负责定义接口。

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

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

0xYYYYZZZZ是您要读取的RAM中的地址。通常,它应该由(取决于处理器)byte对齐。4

您还应该注意字节序(大字节序或小字节序),因为字节可能是相反的顺序。

于 2017-03-30T11:55:33.653 回答