Interrupts and Exceptions Processing
This chapter covers interrupts and exceptions processing. It describes the operating modes of ARM processors, exception types and exception vectors. It explains the functions of interrupt controllers and the principles of interrupts processing in detail. Then it applies the principles of interrupts processing to the design and implementation of interrupt-driven device drivers. These include drivers for timers, keyboard, UARTs and SD cards, and it demonstrates the device drivers by example programs. It explains the advantages of vectored interrupts over non-vectored interrupts. It shows how to configure the Vector Interrupt Controllers (VICs) for vectored interrupts, and demonstrates vectored interrupts processing by example programs. It also explains the principles and importance of nested interrupts and demonstrates nested interrupts processing by example programs.
KeywordsInput Buffer Program Counter Interrupt Handler Secure Digital Interrupt Service Routine
- ARM Architecture: https://en.wikipedia.org/wiki/ARM_architecture, 2016.
- ARM Processor Architecture: http://www.arm.com/products/processors/instruction-set-architectures, 2016.
- ARM PL011: ARM PrimeCellUART (PL011) Technical Reference Manual, http://infocenter.arm.com/help/topic/com.arm.doc.ddi0183, 2005.
- ARMPL180: ARM PrimeCell Multimedia Card Interface (PL180) Technical Reference Manual, ARM Information Center, 1998.Google Scholar
- ARMPL181: ARM PrimeCell Multimedia Card Interface (PL181) Technical Reference Manual, ARM Information Center, 2001.Google Scholar
- ARM PL190: PrimeCell Vectored Interrupt Controller (PL190), http://infocenter.arm.com/help/topic/com.arm.doc.ddi0181e/DDI0181.pdf, 2004.
- ARM Timers: ARM Dual-Timer Module (SP804) Technical Reference Manual, Arm Information Center, 2004.Google Scholar
- ARM PL050: ARM PrimeCell PS2 Keyboard/Mouse Interface (PL050) Technical Reference Manual, ARM Information Center, 1999.Google Scholar
- Nesting Interrupts: Nesting Interrupts, ARM Information Center, 2011.Google Scholar
- SD specification: Simplified Version of SD Host Controller Spec, https://www.sdcard.org/developers/overview/host_controller/simple_spec.
- SDC: Secure Digital cards: SD Standard Overview - SD Association https://www.sdcard.org/developers/overview, 2016.
- SPI: Serial Peripheral Interface, https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus, 2016, 2016.
- Raspberry_Pi: https://www.raspberrypi.org/products/raspberry-pi-2-model-b, 2016.
- Silberschatz, A., P.A. Galvin, P.A., Gagne, G, “Operating system concepts, 8th Edition”, John Wiley & Sons, Inc. 2009.Google Scholar
- Stallings, W. “Operating Systems: Internals and Design Principles (7th Edition)”, Prentice Hall, 2011.Google Scholar
- Wang, K.C., “Design and Implementation of the MTX Operating Systems, Springer International Publishing AG, 2015.Google Scholar