SoC, embedded systems, microcontrollers, microprocessors... I'm always really confused.
So my current understanding is:
- Microprocessors/CPUs, generally speaking, are the computing core and are the base for everything else
- Microcontrollers = microprocessors + memory + other peripherals like UART, USB, CAN; can be a standalone device
- Embedded systems is microcontrollers programmed to do specific tasks, so normally not general-purpose
- SoC is microcontrollers + advanced components like GPU, more general-purpose compared to embedded systems; has all the ability of a computer (can run OS like Linux), just inferior in performance
Please point out if my ideas are right and add anything you want!