ARM designs the cores of microcontrollers which equip most “embedded systems” based on 32-bit processors. Cortex-M3 is one of these designs, recently developed by ARM with microcontroller applications in mind. To conceive a particularly optimized piece of software (as is often the case in the world of embedded systems) it is often necessary to know how to program in an assembly language.
This book explains the basics of programming in an assembly language, while being based on the architecture of Cortex-M3 in detail and developing many examples.
It is written for people who have never programmed in an assembly language, and is thus didactic and progresses step by step by defining the concepts necessary to acquiring a good understanding of these techniques.
1. Overview of Cortex-M3 Architecture.
2. The Core of Cortex-M3.
3. The Proper Use of Assembly Directives.
4. Operands of Instructions.
5. Instruction Set.
6. Algorithmic and Data Structures.
7. Internal Modularity.
8. Managing Exceptions.
9. From Listing to Executable: External Modularity.
Appendix A. Instruction Set – Alphabetical List.
Appendix B. The SysTick Timer.
Appendix C. Example of a “Bootstrap” File.
Appendix D. The GNU Assembler.
Vincent Mahout obtained a PhD at Toulouse University (INSA), France in 1992. He has taught automatic control and hardware computing in this establishment since 1990. He field of research is the robust control law for nonlinear systems.