major bus and device used today in embbed hardware
HPI: host port interface, 16bit high speed "in board" bus, mainly used by TI DSP which will expose DSP memory to another CPU, resulting in controlling by another CPU.
memory bus: usually it is a standalone bus connecting to DDR slot. But sometimes other device may be connected on it too. Usually A embbed CPU may have 2 ports available to connect external high speed bus.
PCI/E, ISA: "in board" bus connecting peripherals, high speed.
SPI, I2C:"in board" serial bus, not very fast.
UART, McASP, McBSP: "in board" serial bus, fast.
USB, serial: "out board" bus used to connect device.
RTC: real time clock.
GP Timer: used to generated time interrupt.
Watch Dog: a special timer to watch system state.
E2ROM: electric writable rom.
DMA/EDMA controller: help transfer data between memory and device without CPU.
F-RAM: a fast RAM would not lose its state when power is off, expensive but useful to protect important data.
super capacitance: used to keep system power on for a few seconds, when main power is off.
NOR flash: high speed flash but expensive, sometimes code on it could be executed in place, that is in flash not in memory.
NAND flash: large but cheap flash device, but have block corrupt problem if power is lost when a block is being writing.
3 evaluate the system capability:
CPU: look at the pins it have for every special purpose, or special ports. For eg, if it have 40 pins dedicating to video decoder, it have a high bandwidth for video. If it keeps some high speed port, maybe another CPU could be connected to it resulting
in a double CPU system.
Memory: Bus width.
Hardware Timer: more timers should be used if a real time OS is running on it.
GPIO pins: decides if it suits high speed data gathering at field.
Standard Bus: Such as PCI-E, decides if it is easy to extend the hardware unit.