automotive software and its tool-chain
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.
- Communication: Can(CanFD) CanIf PduR Com SoAd J1939Tp
- Diagnostic: CanTp Dcm DoIP Dem
- System: EcuM SchM
- Memory: Fls Fee Eep Ea NvM MemIf
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
This GUI tool is the one from OpenSAR which is also developed by me, the GUI can be automatically created from xml.
- 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
- 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
- LWIP: about text:133Kb, data:11Kb
- contiki-net: about text:54Kb(including the protothread), data:4Kb
- afbinder/websock
- qemu PCI sample driver: asnet ascan asblk
- FatFS
- lwext4
- libelf: an OS independent ELF library for ELF loading&executing.
- LVGL:Littlev Graphics Libraray
- DTC/LIBFDT
Check the page as-study-platform