MCPcopy Index your code
hub / github.com/autoas/as-deprecated

github.com/autoas/as-deprecated @v0.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.2.0 ↗ · + Follow
10,638 symbols 26,576 edges 1,631 files 3,442 documented · 32% updated 5mo ago★ 1,04611 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

as

automotive software and its tool-chain

Build Status

why this repository

Because I am not powerful so I decided to develop tiny but smart part of automotive software based on open source, and create a general AUTOSAR & Automotive Software study environment.

As below picture shows, it was an virtual cluster based on AUTOSAR and can be simulated on Windows and Linux.

ascore posix vic on AUTOSAR

Key Point

1. BSW

1.1 Integrated ArcCore AUTOSAR 3.1 BSW

  • Communication: Can(CanFD) CanIf PduR Com SoAd J1939Tp
  • Diagnostic: CanTp Dcm DoIP Dem
  • System: EcuM SchM
  • Memory: Fls Fee Eep Ea NvM MemIf

1.2 AS Mini BSW

Mainly for the purpose to create a small footprint bootloader with all of the code implemented by me.

2. OS ASKAR - Automotive oSeK AutosaR

This RTOS ASKAR is designed according to OSEK/VDX OS223 by taking a reference of a lot of other open source RTOS, generally, the bwlow is the list:

For the purpose that to be able to run most of the common applications which are based on posix, a series of posix APIs have been implemented based on the ASKAR OSEK tiny core.

  • posix threads
  • posix semaphore
  • posix mutex and condition
  • posix message queue
  • posix signals

3. BSW configuration tool

This GUI tool is the one from OpenSAR which is also developed by me, the GUI can be automatically created from xml.

as configure tool

4. AUTOSAR & LINUX communication

5. Lua & Python Integrated

  • support CAN device by lascanlib or pyas: CANcaseXL, PeakCAN, SocketCAN, ZLG USBCAN
  • support miscellaneous device by lasdevlib with the smae API interface "open/read/write/ioctl/close": rs232
  • a powerful python as.one.py tool: Dcm Xcp Bootloader and others.
  • a powerful third party RTE tool integrated: cogu/autosar

as.one.py bootloader

6. aslinux simulation environment on QEMU

  • Now use one makefile to bring up the QEMU AGL environment.
  • very simple and easy, with one single Makefile to build out the kernel and the rootfs, and a shell script to kick off the qemu virtual machine to execute that kernel and mount that rootfs.(for details check my github.io page on category linux)
  • aslinux build step
git clone https://github.com/parai/as.git
cd $(patch-to)/as/release/aslinux
mkdir build
cd build
ln -fs ../script/vexpress-ca9.mk Makefile
ln -fs ../script/run-vexpress.sh run.sh
make all
./run.sh
# if aslua want to be used
cd $(path-to)/as/release/aslua && make 31 && make 33 
cp out/arm.exe $(path-to)/as/release/aslinux/build/out/rootfs/usr/bin/aslua -v
cp /usr/arm-linux-gnueabi/lib/*.so* $(path-to)/as/release/aslinux/build/out/rootfs/lib -v
# then the sdcard need to be rebuilt
cd $(path-to)/as/release/aslinux/build && make sdcard

7. Other 3rd part package

8. Setup Environment and Run

Check the page as-study-platform for how to use asenv or how to setup the environment from zero by yourself.

9. AS USB2CAN device

stm32f107vc USB2CAN

stm32

Core symbols most depended-on inside this repo

write
called by 1913
com/as.tool/lua/pyas/pycan.h
GAGet
called by 1183
com/as.tool/config.infrastructure.system/argen/GCF.py
printf
called by 411
com/as.infrastructure/clib/stdio_printf.c
GLGet
called by 332
com/as.tool/config.infrastructure.system/argen/GCF.py
FUNC
called by 314
com/as.infrastructure/system/kernel/trampoline/os/tpl_os_timeobj_kernel.c
append
called by 259
com/as.tool/lua/script/s19.py
memcpy
called by 233
com/as.infrastructure/clib/misclib.c
OS_EXIT_CRITICAL
called by 211
com/as.infrastructure/system/kernel/ucos_ii/portable/win32/os_cpu_c.c

Shape

Function 8,179
Class 1,510
Method 899
Enum 50

Languages

C73%
C++19%
Python7%
PHP1%
Java1%

Modules by API surface

com/as.tool/cancasexl.access/vxlapi.h155 symbols
com/as.virtual/include/vxlapi.h152 symbols
com/as.infrastructure/arch/posix/openvg/vg/riApi.cpp108 symbols
com/as.infrastructure/diagnostic/Dem/Dem.c102 symbols
com/as.infrastructure/arch/stm32f1/Libraries/STM32_ETH_Driver/src/stm32_eth.c101 symbols
com/as.infrastructure/arch/posix/openvg/vg/riMiniEGL.cpp98 symbols
com/as.tool/lua/src/lparser.c91 symbols
com/as.infrastructure/arch/stm32f1/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c91 symbols
com/as.infrastructure/diagnostic/Dcm/Dcm_Dsp.c89 symbols
com/as.tool/lua/src/lapi.c84 symbols
com/as.infrastructure/arch/posix/openvg/vg/riMath.h81 symbols
com/as.infrastructure/system/kernel/freertos/source/tasks.c73 symbols

For agents

$ claude mcp add as-deprecated \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact