Skip to content

Latest commit

 

History

History
93 lines (44 loc) · 2.12 KB

README.md

File metadata and controls

93 lines (44 loc) · 2.12 KB

Build Status :

to build the whole project, please run :

./build_project.sh build

to clean-up project, please run :

./cmake_cleanup.sh clean

to run the full demo, please run the following command :

./run_demo.sh

Miscallenous Tools:

1- Static Analysis check using cppcheck, please run :

./cmake_cleanup.sh check

2- Dynamic Analysis check using valgrind and memory leak check, please run :

./valgring_dynamic.sh

3- Performance analysis and Cachegrind call-graph build and show-up, please run :

./cachegrind_calls.sh

In order to be able to use and simulate the SAE-J1939 CAN protocol implemented in this demo, please refer to the following steps:

1- git submodule update --init --recursive

cd j1939_driver

2- build the module:

 make

3- Installing the module:

sudo -i

insmod /lib/modules/uname -r/kernel/net/can/can.ko (This step is used to avoir CAN external symbols lookup failure)

exit

sudo insmod net/can/can-j1939.ko

4- Modifying can-utils "cansend" tool code source

cd linux-can

5- Apply the patch under can-utils/0001-W-A-Support-of-SAE-J1939-protocol.patch

6- build the whole can-utils tools:

make

export PATH=$(pwd):$PATH (this to change the default cansend path to current directory instead of /usr/bin/cansend)

7- Create a new virtual CAN interface vcan1, in order to simulate J1939 send and receive:

sudo -i

insmod /lib/modules/uname -r/kernel/net/can/can-gw.ko

If vcan module is not installed, please run: sudo modprobe vcan

ip link add dev vcan0 type vcan (vcan0 will be used by our Demo executable)

ip link add dev vcan1 type vcan (vcan1 will be used by cansend in order to simulate J1939 SPN parameters)

ip link set up vcan0

ip link set up vcan1

create the virtual gateway between vcan0 and vcan1:

cangw -A -s vcan1 -d vcan0 -e (Sender Canal will be vcan1 and receiver is vcan0)

8- now, you can run the demo in one Terminal window: sudo ./HelloWorld

9- In the second window, you can run the script vcan1_simu.sh

Enjoy