1. AUTOSAR AP开发环境搭建与第一个自适应应用

AUTOSAR AP开发环境搭建与第一个自适应应用 学习卡片

任务说明

本案例目标是在AUTOSAR Adaptive Platform(AP)环境中创建并运行第一个自适应应用程序(Adaptive Application)。该应用程序将实现一个最小可运行的AUTOSAR AP可执行文件,能够完成进程启动、日志输出和正常退出,验证AP运行时环境(Runtime)与应用程序之间的基本交互链路是否打通。

实现方案

采用AUTOSAR AP标准中定义的ara::core和ara::log接口,创建一个独立的可执行程序。程序启动后初始化日志模块,输出一条生命周期日志,然后返回0正常退出。该实现不依赖具体供应商的AP实现细节,仅使用标准API,确保代码可在任何符合AUTOSAR AP R19-11及以上规范的环境中编译运行。

Adaptive Application my_first_ap_app ara::log 日志库 ara::core 核心类型库 进程生命周期 main() 入口 初始化日志 输出日志 返回0退出 执行顺序:main → 初始化日志 → 输出日志 → 正常退出

代码实现

创建以下两个文件:

  • CMakeLists.txt — 构建配置,生成可执行文件
  • main.cpp — 自适应应用程序源码
// main.cpp
#include <ara/core/result.h>
#include <ara/log/logger.h>
#include <ara/log/logging_management.h>
#include <cstdint>
#include <string>

int main() {
    // 初始化日志管理
    ara::log::LoggingManagement::GetInstance().Initialize();
    
    // 创建应用日志实例
    ara::log::Logger& logger = ara::log::CreateLogger(
        "APPD", "MyFirstAPApp", ara::log::LogLevel::kInfo);
    
    // 输出生命周期日志
    logger.LogInfo() << "Adaptive application started successfully";
    
    // 正常退出
    return 0;
}
# CMakeLists.txt
cmake_minimum_required(VERSION 3.12)
project(my_first_ap_app)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# 查找AUTOSAR AP运行时库(以供应商实现为例)
find_package(ara-core REQUIRED)
find_package(ara-log REQUIRED)

add_executable(my_first_ap_app main.cpp)

# 链接AP标准库
target_link_libraries(my_first_ap_app
    ara::core
    ara::log
)

构建与运行

在AUTOSAR AP开发环境中执行以下命令:

mkdir build && cd build
cmake ..
make
./my_first_ap_app

验证方法

运行程序后,观察标准输出或系统日志中是否出现以下预期日志内容:

INFO: Adaptive application started successfully

判定标准:

  1. 程序退出码为0(可通过echo $?查看);
  2. 日志输出中包含Adaptive application started successfully字符串;
  3. 日志级别为INFO,日志上下文包含应用标识APPD。

满足以上三点,即验证了AUTOSAR AP自适应应用程序从创建、构建到运行的全流程链路正常。