Description
Why this is important
Modern automotive software development requires early verification of embedded software to meet performance and safety standards. Engineers must validate control algorithms long before physical ECUs are available. Processor in the Loop (PIL) verification bridges this gap by executing auto-generated embedded C code on a virtual processor while checking for functional equivalence and timing compliance. This challenge mirrors the real-world V-Model verification process used by OEMs and Tier 1 suppliers, offering hands-on experience in model-based design, embedded code generation, and in-the-loop testing on a virtual Arm Cortex M7 core.Modern vehicles demand rigorous, early-stage verification of embedded software to satisfy safety, performance and homologation requirements. Waiting for physical ECUs delays feedback and drives up cost; virtual processor testing closes this gap.
Project summary
Start with a prebuilt Simulink automotive control model and drive it through a complete model-based development and verification workflow. This includes defining detailed software requirements, designing test scenarios, generating C code from the controller subsystem, running processor-in-the-loop (PIL) tests on a virtual Arm Cortex M7 processor, analyzing execution time, and publishing a complete verification report.
Prequisites
- MATLAB & Simulink License
- Familiarity with C/C++, Simulink, Stateflow and Embedded Coder
- Familiarity with Processor-in-the-Loop (PIL), Code Profile Analyzer
- Understanding of automotive software development such as V-Model lifecycle methodology.
Resources from Arm and our partners
- Built-in Simulink Automotive Example: Automatic Climate Control
- Built-in Simulink Automotive Example: Tire Pressure Monitoring System (TPMS)
- Built-in Simulink Automotive Example: Anti-Lock Braking System (ABS)
- Define Requirements: Requirements Toolbox™
- Code Generation: MathWorks Embedded Coder®
- Model-in-the-Loop Test: Simulink Test™
- Measure Code Coverage: Simulink Coverage™
- Hardware Implementation: Arm Cortex M7 (Fast Model), Embedded Coder Support Package for Arm Cortex M Fast Models
- Conduct Execution Profiling: Code Profile Analyzer
- Perform Static Code Analysis: Polyspace®
- Documentation: MATLAB and Simulink for Verification and Validation
- Documentation: ARM Cortex-M Support from Embedded Coder
- Documentation: Arm Fast Models
Support Level
This project is designed to be self-serve but comes with opportunity of some community support from Arm Ambassadors, who are part of the Arm Developer program. If you are not already part of our program, click here to join.
Benefits
Standout project contributions will result in preferential internal referrals to Arm Talent Acquisition (with digital badges for CV building). And we are currently discussing with national agencies the potential for funding streams for Arm Developer Labs projects, which would flow to you, not us.
To receive the benefits, you must show us your project through our online form. Please do not include any confidential information in your contribution. Additionally if you are affiliated with an academic institution, please ensure you have the right to share your material.