Abstract
This chapter covers the ARM architecture, ARM instructions, ARM programming and development of programs for execution on ARM virtual machines. These include ARM processor modes, register banks in different modes, instructions and basic programming in ARM assembly. It introduces the ARM toolchain under Ubuntu (15.10) Linux and emulated ARM virtual machines under QEMU. It shows how to use the ARM toolchain to develop programs for execution on the ARM Versatilepb virtual machine by a series of programming examples. It explains the function call convention in C and shows how to interface assembly code with C programs. Then it develops a simple UART driver for I/O on serial ports, and a LCD driver for displaying both graphic images and text. It also shows the implementation of a generic printf() function for formatted printing to output devices that support the basic print char operation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
ARM Architectures: http://www.arm.products/processors/instruction-set-architectures, ARM Information Center, 2016
ARM Cortex-A8: “ARM Cortex-A8 Technical Reference Manual”, ARM Information Center, 2010
ARM Cortex A9 MPcore: “Cortex A9 MPcore Technical Reference Manual”, ARM Information Center, 2016
ARM926EJ-ST: “ARM926EJ-S Technical Reference Manual”, ARM Information Center, 2008
ARM926EJ-ST: “Versatile Application Baseboard for ARM926EJ-S User guide”, ARM Information Center, 2010
ARM PL011: “PrimeCell UART (PL011) Technical Reference Manual”, ARM Information Center, 2016
ARM PrimeCell Color LCD Controller PL110: “ARM Versatile Application Baseboard for ARM926EF-S”, ARM Information Center, 2016
ARM Programming: “ARM Assembly Language Programming”, http://www.peter-cockerell.net/aalp/html/frames.html
ARM toolchain: http://gnutoolchains.com/arm-eabi, 2016
QEMU Emulators: “QEMU Emulator User Documentation”, http://wiki.qemu.org/download/qemu-doc.htm, 2010
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Wang, K.C. (2017). ARM Architecture and Programming. In: Embedded and Real-Time Operating Systems. Springer, Cham. https://doi.org/10.1007/978-3-319-51517-5_2
Download citation
DOI: https://doi.org/10.1007/978-3-319-51517-5_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-51516-8
Online ISBN: 978-3-319-51517-5
eBook Packages: EngineeringEngineering (R0)