【问题标题】:Autosar -- for software developerAutosar——面向软件开发人员
【发布时间】:2012-12-10 16:06:53
【问题描述】:

考虑到我是一名可以用 C 编写一些软件的软件开发人员,您能否就 Autosar 的相关问题提出建议?

现在我用 C 语言开发一个功能,它必须读取一些 ECU 特定数据、处理它并更新一些 ECU 特定数据(可以是一些变量或 i/o 信号)。

  1. 现在我将如何使用 Autosar RTE 和虚拟功能总线? 对软件开发人员有什么用处?

  2. 另外,正如 Autosar 所说,“接口标准化”是什么意思?这是否意味着如果世界各地的其他人也在开发相同的功能(用 C 语言,比如我),我们都将使用相同名称的 API 来处理这些 I/O 信号?

  3. RTE 在单元测试中对我有什么帮助?或者从软件开发人员的角度来看,RTE 真正在做什么?

http://www.autosar.org/gfx/AUTOSAR_TechnicalOverview_b.jpg

我阅读了很多技术术语......但作为一名软件开发人员,这些要点对我来说很重要。你能解释一下吗?

您的回复将不胜感激。

【问题讨论】:

  • 我很努力地想明白你在问什么,但恐怕你的英语太陌生了,我听不懂。问题是“C 程序员在 Autosar 应用程序中有什么用处?”还是问题“如何在 C 程序中使用 Autosar”?还是两者兼而有之?

标签: embedded autosar


【解决方案1】:

我认为这不会那么容易...... 我相信您正在开发 Autosar SWC(软件组件)。 我建议您开发一个可移植的 C 模块。这有非常明确的输入、输出和需求。执行时(检查 Autosar runnables)。 请记住 Autosar ECU 包括 RTOS,因此您的模块将成为 OS 任务的一部分。 如果您要构建 Autosar ECU,您将能够封装模块并使用 Autosar 虚拟功能总线信号连接输入/输出。为此,您将需要 Autosar 框架和可能的配置工具。这些是复杂且昂贵的。 以测试 C 模块的常用方式对模块进行单元测试。 祝你好运。

附: RTE 只是配置工具根据 ECU BSW 的配置和该 ECU 的 System Extract 自动生成的“胶水”代码。你会在包装过程中担心它。

【讨论】:

  • 那是真的......你会担心很多:D
  • @Vroomfondel 你能给我更多的解释吗? (作为软件组件开发人员的观点)
  • 嗨@saulius 你能联系我吗halis65@gmail.com 环聊将是完美的。
【解决方案2】:

将AUTOSAR SWC和Basic软件中的功能分开的想法是使应用程序软件开发独立于任何平台。回答您的问题。

  1. RTE 为应用程序提供了一个基于信号的接口,因此您希望其他 SW 组件(ECU 间/ECU 内部)以信号的形式提供所需的数据,您不需要关心平台或通信类型中等
  2. 是的,通过标准化接口(所有类型的交互),软件组件或任何基本软件模块都可以固定到软件架构中。详细了解不同类型的 AUTOSAR 接口。
  3. 参考答案1

【讨论】:

    【解决方案3】:
    1. RTE 作为一个“抽象”系统内部组件的层。例如,如果您需要访问系统已安装的闪存,则必须使用与 RTE 相关的内存功能。

    2. 你是对的。您只需阅读规范并使用相应的功能即可在 AUTOSAR 系统中获得您想要的结果。

    3. RTE 确保软件组件的开发人员和中间层系统能够以最少的交互正常工作。 SWC 开发人员只需要阅读 AUTOSAR 标准并遵循它以确保与中间层系统的兼容性,因为预计中间层系统开发人员将遵循相同的标准来提供自己的功能。它还可以帮助开发人员提高其软件的可移植性。

    我认为您的所有问题都可以通过阅读AUTOSAR website 上的 AUTOSAR 标准文档来回答。我在 AUTOSAR 系统开发方面的大部分知识有限(已经开始阅读它近一个月了),我到了那里。

    【讨论】:

      【解决方案4】:

      我是一名软件开发人员,他为 Autosar RTE 开发了一个控制台应用程序工具,为 RTE 开发了测试用例生成,并为我创建的工具编写了单元测试脚本。 我使用 C# 和 NUnit 框架开发了这些。同样可以使用 C 或 java 或任何其他语言开发。最终目标是根据需求生成 AUTOSAR 模块(.c 和 .h 文件)。

      1.软件开发者范围

      作为一名软件开发人员,我的任务是实施完整的 RTE 并为已实施的 RTE 代码测试应用程序。

      输入和输出: 基本上,我们的输入是 ARXML 格式的软件组件文件和 ECU 提取,输出是 Rte 和测试应用程序源文件和头文件(.c 和 .h),它们是根据要求创建的。

      作为开发人员的任务: 在这里,作为开发人员,我们需要将 AXXML 的 Input 解析为我们自己的数据结构、Schema Validation、Modal Validation、文件生成等。

      2。标准化

      是的,AUTOSAR 架构提供标准化接口。无论实施策略如何,API 结构都保持不变,从而简化了使用。这充当了一个通用库,您可以在其中使用已经开发的模块,或者您可以通过考虑 API 规范以自己的方式实现模块。您只需要遵循为您使用的每个模块提供的规范即可。 要求因公司而异,但使用 API 的方式保持不变。

      3。单元测试

      单元测试与 RTE 或 AUTOSAR 模块无关。您将测试代码的单位。当我说您的代码时,它是您用来开发任何特定模块(例如 Rte.c)而不是测试生成的模块本身的代码。您将测试您为生成特定模块而开发的源代码。您的源代码不是 RTE 或任何其他模块实现的一部分,而是生成模块实现的工具。

      概述:

      软件开发人员在生成 AUTOSAR 模块方面有不同的范围,具体取决于需求。 您可以开发一个工具来生成 AUTOSAR 模块。 您可以开发一个编辑器,用于编辑/创建 AUTOSAR XML 文件。 (例如:阿托普) 开发可能听起来很复杂,因为我们除了规范之外没有直接的资源。一旦你进去,你会学到很多东西。

      【讨论】:

        【解决方案5】:

        回答你的问题 如果您通过 AUTOSAR 的分层架构,您会知道遵循该架构以最小化每个模块的依赖关系 (层)与较低层。

        1. 同样,RTE 是一个类似包装器,用于分离较低层的依赖关系,这使得可以独立地在每一层上工作。大多数虚拟总线都与 RTE 映射,根据我的经验,我曾在 IOC 上工作过,它允许与 RTE 映射,并与其他 SWC 与内存和核心边界进行通信。对于 OS 开发人员,它通过应用程序层和映射的软件分区。

        2. 该标准用于保持所有软件层的统一,但为了满足需求,开发人员可能有不同的实现和设计方式,但 API 和需求将是通用的。
          这对于标准化接口也很有用。

        3. 对于开发人员操作系统设计和实现的单元测试,RTE 用作抽象模块。

        阅读不同模块的规范将解决大部分疑问。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-10-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-09
          相关资源
          最近更新 更多