Is there a formal definition for the term "driver" in the MCU world? I see the term used a lot as I read blogs and peruse library code but it seems somewhat vague. In traditional computing terms "driver" usually means something that acts as a bridge between a hardware specific interface and a hardware independent abstract interface.
Such code also generally executes (or parts of it anyway) in "kernel" mode, that is it is afforded execution privileges that are generally unavailable to "application" code, like temporarily masking interrupts, or accessing "kernel" stacks and heaps, some of these ideas though are likely the province of operating systems and if we don't have one then these terms are again rather vague.
Thoughts?
Such code also generally executes (or parts of it anyway) in "kernel" mode, that is it is afforded execution privileges that are generally unavailable to "application" code, like temporarily masking interrupts, or accessing "kernel" stacks and heaps, some of these ideas though are likely the province of operating systems and if we don't have one then these terms are again rather vague.
Thoughts?