在研究Adaptive AUTOSAR时,我发现'Adaptive AUTOSAR基于POSIX PSE51'.
但是,我不明白什么是POSIX PSE51.
有人可以回答这个问题吗?
我想知道以下......
我是AUTOSAR和Arctic Studio的新手.我已经阅读了www.autosar.org上提供的文档,现在我想开始玩,理解和编写一些代码.
我还发现,只有可用于AUTOSAR平台的开源免费开发环境是Arctic Studio(如果我错了,请纠正我).所以我下载并安装了它.我按照所有步骤操作,http://212.181.18.149/wiki/Quick-start_Tutorial但遗憾的是我的构建没有错误.
我阅读了'examples'文件夹中给出的示例代码,但没有完全了解正在发生的事情或如何开始编写简单的代码.
我想知道是否有人能指出我为AUTOSAR创建一个"Hello World"等效方向.
在我公司的项目中,AUTOSAR 平台定义了这样的布尔值
typedef unsigned char boolean;
Run Code Online (Sandbox Code Playgroud)
加
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
Run Code Online (Sandbox Code Playgroud)
这是不可修改的。然后我们在以下两个分配中得到分配给更窄或不同的基本类型 [MISRA 2012 Rule 10.3, required]的 MISRA 10.3 错误表达式(当然替换了真实代码!)
boolean mybool = (boolean)FALSE;
if(some_condition)
{
mybool = (boolean)TRUE;
}
Run Code Online (Sandbox Code Playgroud)
我们已经尝试了其他转换,有(uint8)FALSE或(unsigned char)FALSE什至没有转换,mybool = TRUE;但没有解决问题。我们很乐意避免为偏差辩护。
有没有人知道会发生什么以及如何治愈它?
@Fredrik 感谢您的第一个回答。我把它放在一个虚拟标题中,将它包含在“罪魁祸首”中.c并在这个单元上运行 PC-Lint/MISRA
#define testTRUE 1U
boolean x = testTRUE;
boolean y = (uint8)testTRUE;
boolean z = (boolean)testTRUE;
#define testTRUE_2 1
boolean x_2 = testTRUE_2; …Run Code Online (Sandbox Code Playgroud) 以下宏来自微控制器的 MCAL 源,它将计时器滴答声转换为毫秒。
#define TICKS2MS(x) ( (uint64) (((((uint64)(x)) * 1) + 0) / 100000) )
Run Code Online (Sandbox Code Playgroud)
你能帮我理解乘以1加0的意义吗?
在 AUTOSAR 规范的许多框图中,他们使用术语 PduR。
但AUTOSAR Schema中没有这样的模块。
谁能解释一下 PduR 是什么意思?
我是 AUTOSAR 的新手,我试图了解如何记录 DTC,但我对老化和去抖计数器感到困惑。请帮我理解 DTC 是如何记录的?
引入自适应 Autosar 的主要动机是什么?
Autosar联盟提供的信息是“AP主要提供高性能计算和通信机制,并提供灵活的软件配置”。将通过多核/多核处理器实现高性能计算,将使用以太网进行通信应用程序将使用 C++ 语言进行编程,并使用 POSIX。我的疑问是:
- 多核已经在Classic平台使用
- 由于 Autosar 完全是软件,因此在 autosar 范围内将考虑如何使用多核 FPGA 等。
- 以太网也可用于经典平台。
- C++ 如何实现灵活性、安全性和高计算性的动机?
- POSIX 在自适应 autosar 中的贡献是什么?
SOME/IP是一种可用于控制消息的汽车中间件解决方案.DDS也是一种用于通信的汽车中间件.我想知道它们之间的区别是什么?而且,为什么以及何时应该选择其中一个?
我正在启动一个新的 C/C++ 嵌入式应用程序,并试图让自己了解诸如 MISRA、AUTOSAR 和我目前最喜欢的安全编码实践,这可能是因为它是最短的,NASA 所谓的 10 次幂(https://en.wikipedia) .org/wiki/The_Power_of_10:_Rules_for_Developing_Safety-Critical_Code)。我可以看到许多规则背后的逻辑。但他们都试图消除或限制动态内存分配。例如,MISRA C++ 规则 18-4-1 说:“不应使用动态堆内存分配”,而 NASA 的规则 3 是“避免堆内存分配”。AUTOSAR 的限制较少。我理解他们的意图是确保系统不会耗尽内存,但我不太清楚 C 或 C++ 编译器将什么分配为“动态堆内存分配”或“堆内存分配”。我将编辑这篇文章以提出具体问题
谢谢 - 基因