Modern consumer vehicles are packed with electronic systems. These electronics include data gathering using different kinds of sensors, processing them, and making decisions according to the data to make the driving experience safe, easy and pleasant. These electronic systems are controlled by embedded systems called Electronic Control Units(ECUs). placed inside the vehicle. There could easily be over 20 ECUs in a vehicle and their control software is rapidly evolving. These ECUs may range from fuel injection to maintaining perfect cabin temperature to controlling braking and suspension. These ECUs must be thoroughly tested before releasing a new vehicle model to the market. The traditional testing method is to build an actual prototype car to do the tests. But this incurs an enormous amount of money(about $200k-$300k for a car and need at least 200 units for testing), a lot of time, and effort. Therefore car manufacturers try to shift to the digital realm with high-fidelity simulation models to reduce these high costs, time, and setting up efforts. Some of the tools that are used for these types of testing are Synopsis SILVER. and VDK. But these tools have three main problems. They are Expensive. They are Slow (about 30x slower than real-time) and they are not compatible with simulation tools such as MATLAB/SIMULINK. We try to address these problems in our project by developing an ECU emulator. with high fidelity, fast instruction execution and make compatibility with MATLAB/SIMULINK.
first, you have to go the code/core
directory.
## to compile the code
make
## to run the compiler
make run
## to clean the build files
make clean