Let's suppose to use PWM (e.g. to control the 'speed' of a motor)
What would be the possible way to generate a PWM signal?
On the one extreme, there is pure software techniques where 'a programmer typically writes a value to a memory-mapped register to set the duty cycle' [Lee & Seshia, Introduction to Embedded Systems]. On the other extreme, there is dedicated PWM Peripheral. What are the other ways to genrate a PWM?