- bitrate, specific register, interrupt, polling
Interrupt vs polling: http://everything2.com/title/Polling%2520vs.%2520interrupt
2. MCU/Processor
- Architecture
- Specs (Speed, Bus, Mem)
- Endian-ness
3. memory type
NOR, NAND
Cache
NAND vs NOR: http://www.toshiba.com/taec/components/Generic/Memory_Resources/NANDvsNOR.pdf
4. Peripheral
UART
Serial
5. OS
- Real time
- VxWork vs Linux
- Preemptive
Some real-time operating systems feature preemptive kernels, which means that a process running in Kernel Mode can be interrupted after any instruction, just as it can in User Mode. The Linux kernel is not preemptive, which means that a process can be preempted only while running in User Mode; nonpreemptive kernel design is much simpler, since most synchronization problems involving the kernel data structures are easily avoided (see the section "Nonpreemptability of Processes in Kernel Mode" in Chapter 11, Kernel Synchronization).
http://oreilly.com/catalog/linuxkernel/chapter/ch10.html (pre 2.4)
http://www.linuxjournal.com/article/7477
http://www.linuxjournal.com/article/6530
6. Multithread
Semaphore
Mutex
7. Board bring up
CPU boot up sequence
http://en.wikipedia.org/wiki/Booting
uboot:
http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Introduction-to-Das-UBoot-the-universal-open-source-bootloader/
http://sourceforge.net/projects/u-boot/
8. language
volatile
http://en.wikipedia.org/wiki/Volatile_variable
register
http://www.devx.com/tips/Tip/12477
(not really abt firmware but general C/C++)
double pointer: http://www.daniweb.com/forums/thread69966.html#