Embedded Systems Introduction To Arm Cor
Embedded Systems Introduction To Arm Cor
ARM
INTRODUCTION TO
CORTEX-M MICROCONTROLLERS
Volume 1
Fourth Edition
Jonathan W. Valvano
ii
Jonathan Valvano
Fourth edition
May 2013
In order to reduce costs, this college textbook has been self-published. For more information about my
classes, my research, and my books, see http://users.ece.utexas.edu/~valvano/
For corrections and comments, please contact me at: [email protected]. Please cite this book as:
J. W. Valvano, Embedded Systems: Introduction to ARM Cortex-M Microcontrollers, Volume 1,
http://users.ece.utexas.edu/~valvano/, ISBN: 978-1477508992.
Copyright 2013 Jonathan W. Valvano
All rights reserved. No part of this work covered by the copyright herein may be reproduced,
transmitted, stored, or used in any form or by any means graphic, electronic, or mechanical, including but
not limited to photocopying, recording, scanning, digitizing, taping, web distribution, information
networks, or information storage and retrieval, except as permitted under Section 107 or 108 of the 1976
United States Copyright Act, without the prior written permission of the publisher.
ISBN-13: 978-1477508992
ISBN-10: 1477508996
Jonathan Valvano
Table of Contents
Preface to the Fourth Edition.................................................................... ix
Preface........................................................................................................ x
Acknowledgements ................................................................................... xi
1. Introduction to Computers and Electronics ........................................ 1
1.1. Review of Electronics..................................................................... 2
1.2. Binary Information Implemented with MOS transistors .............. 7
1.3. Digital Logic .................................................................................... 8
1.4. Digital Information stored in Memory ........................................... 16
1.5. Numbers .......................................................................................... 17
1.6. Character information .................................................................... 29
1.7. Computer Architecture................................................................... 30
1.8. Flowcharts and Structured Programming .................................... 33
1.9. Concurrent and Parallel Programming ......................................... 37
1.10. Exercises....................................................................................... 40
2. Introduction to Embedded Systems..................................................... 47
2.1. Embedded Systems........................................................................ 48
2.2. Applications Involving Embedded Systems ................................ 50
2.3. Product Development Cycle .......................................................... 53
2.4. Successive Refinement.................................................................. 57
2.5. Quality Design ................................................................................ 60
2.5.1. Quantitative Performance Measurements ....................................... 60
2.5.2. Qualitative Performance Measurements ......................................... 61
2.5.3. Attitude ................................................................................................. 61
2.6. Debugging Theory .......................................................................... 63
2.7. Switch and LED Interfaces............................................................. 66
2.8. Introduction to C............................................................................. 69
2.9. Exercises......................................................................................... 77
3. Introduction to the ARM Cortex-M Processor ............................... 79
iii
iv
Jonathan Valvano
Jonathan Valvano
vi
Jonathan Valvano
Jonathan Valvano
vii
viii
Jonathan Valvano
Jonathan Valvano
ix