An automotive safety team develops firmware for an Electronic Control Unit (ECU) managing vehicle traction and emergency braking.
The ECU control firmware is written in compiled C and assembly language rather than an interpreted language like Python. Explain two technical reasons why compiled languages are essential for automotive ECU firmware.
During track testing of an Anti-lock Braking algorithm, the brakes fail to pulse because a calculation sets SlipRatio = (VehicleSpeed - WheelSpeed) instead of dividing by VehicleSpeed. Explain why the compiler reported zero errors during compilation, and explain how an IDE debugger can be used to identify this calculation fault.
Describe the role of the IDE's Call Stack viewer and Variable Watch Window when debugging nested subroutine calculations in the ECU firmware.