• 530查看
  • 0回复

[Autosar] AUTOSAR入门-AS开源代码运行环境搭建

[复制链接]


该用户从未签到

发表于 3-3-2024 09:36:13 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


AUTOSAR入门-AS开源代码运行环境搭建

AUTOSAR入门-AS开源代码运行环境搭建w1.jpg

一般介绍AUTOSAR的文章都是讲概念,讲设计,感觉虚无缥缈,到头来没有一句代码,反正就是很好,很复杂。或者弄个界面软件点一点就说是在编程,我相信对真正的程序员来说都是扯淡。Talk is easy,show me the code,直接上代码:https://github.com/thatway1989/as

1. AS开源代码介绍

AUTOSAR入门-AS开源代码运行环境搭建w2.jpg

这里首先要提到一个大神parai.wang,感谢他的奉献,我们有了开源的代码:https://github.com/autoas/as

更多大神parai.wang的介绍,见下面博客:https://autoas.github.io/as/index.html

https://github.com/thatway1989/as是我fork parai.wang的,然后修改了一些编译问题,给qemu新加了网卡可以DoIP发包做诊断业务。

这个AS代码包含了AUTOSAR的工具链、qemu环境、仪表模拟,发包工具、ArcticCore源码,各种RTOS等,很强大,是一个整合型的开源汽车软件开发平台。更厉害的是不需要硬件电路板也能用qemu模拟硬件运行起来,降低学习成本,方便调试。

由于介绍这份代码的资料比较少,另外AUTOSAR开源的代码的确是比较少,ArcticCore开源代码 2014年也被Vector收购不开源免费了。目前有的开源代码也比较老,可能是利益太大,研究这个开源代码还是需要花一些功夫的,这里把我经验分享给大家,虽然这个代码对比商业的产品像小木船对比航空母舰,但是这也是个船,麻雀虽小,五脏俱全,适合学习,还可以基于此二次开发。

  代码下载下来可以看到com/as.infrastructure目录下面是ArcticCore的源码,但是ArcticCore的代码比较老,想参考最新ArcticCore源码有:https://github.com/openAUTOSAR/classic-platform

2. AS开源代码下载编译运行


AUTOSAR入门-AS开源代码运行环境搭建w3.jpg

目前市面上的AUTOSAR工具链基本都是在Windows下使用的,因为傻瓜化,门槛低。但是从开源开发角度来说还是Linux下,免费的工具更多一些,这个AS代码是也可以在Winodws下运行,但是我建议在linux的Ubuntu系统下运行,下面的操作过程都是在Ubuntu下操作的,可以自己安装一个VituralBox+Ubuntu,自行百度安装。

2.1 代码下载

在ubuntu下安装git后,执行命令下载代码:
git clone https://github.com/thatway1989/as

2.2  代码编译

编译工具安装:
sudo apt install curl scons autoconf libtool-binpython2 python3-sip python3-sip-dev sip-dev python3-pip flex bison gperflibncurses-dev nasm gnome-terminal gcc-arm-none-eabi libreadline-dev python3-pyqt5 libcurl4-openssl-dev libgtk-3-dev pkg-config libglib2.0-dev
编译命令:
cd assconsexport BOARD=x86export RELEASE=ascorescons
scons是编译命令,编译过程中会在realease/download下载一些开源软件参与编译,编译成功后提示:

AUTOSAR入门-AS开源代码运行环境搭建w4.jpg

2.3 代码运行

编译完就可以运行qemu虚拟机加载我们编译的AUTOSAR开源软件了,执行命令:
scons run
在虚拟机里面运行,第一次运行会先下载编译虚拟机软件,耗费时间比较长。

运行起来如下图:

AUTOSAR入门-AS开源代码运行环境搭建w5.jpg

    运行起来后可以看到代码打印的log,EcuM_Init  StartOS  LWIP等是不是很熟悉,可以看到开源AUTOSAR代码在qemu上运行起来了。

编译和运行过程中如果会遇到一些错误,下面总结了一些,可以在文章下面留言,讨论。

1)as/release/download/qemu/linux-user/syscall.c:259:16: error: staticdeclaration of ‘gettid’ follows non-static declaration

  259 | _syscall0(int, gettid)

解决方法:

vim release/download/qemu/linux-user/syscall.c

#include <sys/syscall.h>

vim release/download/qemu/linux-user/ioctls.h

#include <bits/socket.h>

2)编译qemu的时候报错

/usr/include/c++/10/type_traits:56:3: error:template with C linkage怎么解决

vim glib-2.0/glib/gversionmacros.h

define GLIB_VERSION_MIN_REQUIRED (GLIB_VERSION_2_26)

3. 其他

3.1 telnet连接shell

scons run命令后会执行 build/posix/x86/ascore/qemu.sh脚本,会出来qemu界面:

AUTOSAR入门-AS开源代码运行环境搭建w6.jpg

这个界面不显示多余有用的信息,看log还是需要telnet连接上的界面会打印log。

我们回到telnet界面,继续按回车可以进行命令行,可以进入shell,运行命令

AUTOSAR入门-AS开源代码运行环境搭建w7.jpg

使用help命令可以看到支持那些命令:

AUTOSAR入门-AS开源代码运行环境搭建w8.jpg

ps可以看进程信息

AUTOSAR入门-AS开源代码运行环境搭建w9.jpg

3.2 工具链之配置文件生成工具

      AS平台里面有可以运行的代码生成工具,工具会读取arxml文件,界面上进行配置后,生成XXX_Cfg.c .h等配置文件,执行命令:
scons studio
AUTOSAR入门-AS开源代码运行环境搭建w10.jpg

其他命令:

scons -c  #清编译文件

scons --menuconfig #类似linux内核的配置方法对代码进行配置

后记:

      命令scons studio可以利用arxdml代码生成c代码,com/as.infrastructure下面是ArcticCore的源码,对比vector的工具和代码是不是像小破船一样,虽然简陋但是照样博大精深,一口吃不了胖子,先研究下小破船也可以。

Talk is cheap,show me the code,后续会继续更新,纯干货分析,无广告,不打赏,欢迎转载,欢迎评论交流!

往期回顾:

AUTOSAR入门-江湖


该用户从未签到

发表于 14-3-2025 14:23:00 | 显示全部楼层
尊敬的汽车工程师,针对您所提到的AUTOSAR入门及AS开源代码运行环境搭建的问题,以下是我的专业回复:

AUTOSAR(汽车开放系统架构)作为汽车电子的核心架构,对于开发者而言确实有一定的入门门槛。对于程序员来说,理解其代码实现尤为重要。感谢parai.wang大神提供的开源代码,这为我们提供了一个很好的学习和实践的平台。具体的代码环境搭建可以参考官方文档和开源项目的README文件,按照步骤进行配置。同时,建议从基础模块开始,逐步深入了解各个组件的作用和实现方式。

在学习过程中,可能会遇到各种问题,建议通过查看官方文档、社区交流等方式寻找解决方案。最后,实际动手编写和运行代码是理解和掌握AUTOSAR的关键,只有实践才能出真知。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 14:23:00 | 显示全部楼层
关于AUTOSAR入门及AS开源代码运行环境搭建,我作为一名汽车工程师,为您简要介绍如下:

AUTOSAR(汽车开放系统架构)为汽车电子开发提供了标准化框架,提高了软件的可移植性和复用性。针对您提到的开源代码仓库,特别是parai.wang大神的贡献,这是一份非常有价值的资源。

在开始搭建运行环境时,需要关注以下几个方面:

1. 基础环境配置,如安装编译器、调试工具等。
2. 代码仓库的获取与管理,确保代码的完整性和一致性。
3. 开发环境的个性化配置,如IDE(集成开发环境)的设置、版本控制工具的使用等。

具体到代码层面,建议从理解开源代码的结构、模块功能开始,逐步深入。对于真正的程序员而言,实操代码是深入理解的最好方式。开源代码的使用和学习,将为你的AUTOSAR开发之路提供宝贵的资源和经验。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 14:23:00 | 显示全部楼层
作为汽车工程师并且熟悉AUTOSAR系统,很高兴看到关于AUTOSAR开源代码的讨论。下面是我的专业回复:

关于AUTOSAR入门及AS开源代码运行环境的搭建,首先,AUTOSAR是一种汽车电子的开放和标准化的软件架构。对于开发者而言,掌握其开源代码的运行环境搭建是基础中的基础。

parai.wang大神的贡献为我们提供了宝贵的开源资源,这是一个很好的起点。在运行环境搭建方面,我们需要关注以下几个方面:硬件抽象层的配置、编译器环境、版本控制工具等。具体的操作步骤和细节,可以参考提供的开源代码链接中的文档和指南。

建议初学者从基础概念开始,逐步深入了解,结合实践,逐步熟悉AUTOSAR的开源代码。关于代码部分,可以直接参考github上的资源,并进行实践操作,这样才能更深入地理解和掌握AUTOSAR。

请注意,由于AUTOSAR的复杂性,真正掌握它需要时间和实践。不过,有了开源代码和社区的支持,我们的学习和实践之路会变得更加顺畅。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 18:54 , Processed in 0.347825 second(s), 37 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.