网上找到的一个大神做的AUTOSAR开源代码,公众号OS与AUTOSAR研究在此代码的基础上进行了一些简单的介绍和二次开发,可供参考(https://github.com/thatway1989/as)。
代码编译的过程中遇到了一些问题,在此记录,以供参考。
export BOARD=x86
export RELEASE=ascore
scons
在编译scons时,因为i686-elf-tools-linux.zip太大,命令行下载一直不行,所以选择自行下载后放入对应文件夹再重新编译,遇到下图报错:

原因是软连接没有创建,执行命令:
cd release/download/i686-elf-tools-linux/bin
ln -fs /usr/bin/gcc i686-elf-gcc
ln -fs /usr/bin/ld i686-elf-ld
cd -
再重新scons编译。
运行发送诊断报文的socket工具时,需先运行qemu虚拟机加载编译的AUTOSAR开源软件:
scons run
之后再启动socket工具:
./send_client.sh
(1)在执行编译命令:
export BOARD=any && export ANY=pyas && scons --verbose
遇到如下图所示的错误:

报错是找不到编译的目标c文件,看执行的命令是:
gcc -o build/posix/any/pyas/com/as.infrastructure/diagnostic/Det/Det.os
-c --include /home/ads/AUTOSAR/as_1/build/posix/any/pyas/config/asmconfig.h
-fPIC -D__LINUX__ -D__AS_BY_PARAI__ -D__AS_PY_DEV__ -DNDEBUG -DUNICODE
-DQT_LARGEFILE_SUPPORT -D__AS_PY_CAN__ -DUSE_OSAL
-I/usr/include/python3.6
感觉是命令被截断了,就去查了一下编译pyas对应的配置文件:com/as.application/board.any/pyas/SConscript
发现在插入Python相关的路径时出错,找到了对应的函数:com/as.tool/config.infrastructure.system/building.py:AddPythonDev
经过调试发现获取python的版本号version时,字符串version最后获取了换行符,导致了命令不完整,这里加入一行代码处理一下version字符串:
version = version.replace('\n', '')
pylib = 'python'+version+'m'
再重新完成编译。
(2)在执行编译命令:
export BOARD=posix && export RELEASE=ascore && scons --verbose
遇到如下图所示的错误:

找到了一版lwext4(GitHub - gkostka/lwext4: ext2/ext3/ext4 filesystem library for microcontrollers),包含缺少的函数,下载后替换,再完成编译。



923

被折叠的 条评论
为什么被折叠?



