"A Practitioner's Guide To The Design And Development Of Small
Microcontroller Software" (Multi-Volume Book, Work In Progress)
All source files and .PDF output for this book (a work in progress) are
available over the Internet. ("Source files" include LaTeX
source, graphics, etc.)
This file contains the major "taxonomy" of the work. Most
sections are as of yet unpopulated.
Click here to
view the _README_.HTM file for this work.
Single-Volume Work
(The single-volume work is everything rolled into one.
It hasn't been decided yet if and how the work will be broken up for
printing. For electronic distribution, the single-volume work is
preferred.)
- Volume I: Concepts (VCON0)
- Introduction To Small Microcontroller Work (CINT0)
- Introduction, Proliferation Of Embedded Software
- Embedded Software Quality Problems
- Elements Of The Domain
- Criticality Of The Embedded Software Load To The Product
- Unchangeability Of The Software And High Cost Of Software Defects
- Real-Time Performance Requirements
- Operation In An Electrically Volatile Environment
- ROM Constraints
- RAM Constraints
- CPU Cycle Constraints
- Self-Tests And Diagnostics
- The Holy Grail (CHGR0)
- Technical Goals In The Construction Of Software
- Administrative Goals
- Appendix: Quote Farm (CRJQ0)
- Appendix: Information For Authors (CIAU0)
- Volume II: Key Mathematical Frameworks And Results (VMFR0)
- Prime Numbers And Related Topics (CPRI0)
- Farey Series And Related Topics (CFRY0)
- Introduction, Definition, And History Of The Farey Series
- Properties Of The Farey Series
- Generation Of Terms Of The Farey Series
- Probabilistic Results Of The Farey Series
- Case Of Constrained h
- Choosing h And k Over A Rectangular Region Of The Integer Lattice
- Exercises
- Continued Fractions And Related Topics (CCFR0)
- Introduction, Definition, And History Of Continued Fractions
- Continued Fraction Representation Of Rational Numbers
- Euclid's GCD Algorithm
- Continued Fraction Representation Of Irrational Numbers
- Properties Of Continued Fractions
- Continued Fractions As Best Approximations
- Finding The Farey Neighbors Of An Arbitrary Rational Or Irrational Number
- Exercises
- Error-Detecting And Error-Correcting Codes, With Microcontroller
Applications (CEDC0)
- Introduction
- Coding Concepts
- Properties Of The Exclusive-OR Function
- Bits, Communication Channels, Messages, And Check Bits
- Codewords, Codes, And (n,k) Block Codes
- Hamming Distance, Minimum Hamming Distance, And Errors
- Error-Detecting Versus Error Error-Correcting Codes
- Linear Codes
- Burst Errors
- Metrics Of Goodness
- Finite Field Theory
- Linear Codes
- Definition
- The Parity Check Matrix
- The Generator Matrix
- Basic Properties Of Linear Codes
- Relationship Between Parity Check Matrix And Minimum Distance
- Relationship Between Parity Check Matrix And Burst Error
Detection Capability
- Automatic Generation Of The Parity Check Matrix
- Combinatoric Observations About (n,k) Block Codes
- Surface Area And Volume Of Packing Spheres Of Radius Rho
- Relationship Between Number Of Check Bits n-k And Minimum
Hamming Distance d
- Hamming (Sphere Packing) Bound
- Perfect Codes
- Hamming Codes
- Cyclic Codes
- Economical Implementation Of Linear Codes In Software
- d=2 Codes Useful In Microcontroller Work
- d=3 Codes Useful In Microcontroller Work
- Acknowledgements
- Exercises
- Boolean Algebra And Simplification Of Boolean Functions (CBAL0)
- Introduction, Definition, And History Of Boolean Algebra
- Simplification Of Boolean Functions By Algebraic Manipulation
- Karnaugh Maps
- The Quine-McCluskey Method
- The Scheinman Method
- The Multiple Scheinman Method (need to get back with Dr. Singh to get details).
- Exercises
- Quantization (CQUA0)
- Introduction
- Error Analysis Of Addition Of Quantized Inputs
- Error Analysis Of Subtraction Of Quantized Inputs
- Error Analysis Of Multiplication Of Quantized Inputs
- Error Analysis Of Division Of Quantized Inputs
- Error Analysis Of Arbitrary Algebraic Functions
- Error Analysis Of Rational Sweeps
- Miscellaneous Topics From Number Theory (CMTN0)
- Introduction
- Tests For Divisibility Of Integers
- Exercises
- Petri Nets (unpopulated)
- Timed Automata (unpopulated)
- Hybrid Systems (unpopulated)
- Error Detection And Correction Codes (unpopulated)
- Encryption And Security (unpopulated)
- Volume III: Construction Of Embedded Software (VCSW0)
- General Practical Construction Of Embedded Software (CPCO0)
- Measurement Of Time
- Interface Styles
- Reduction Of Combinational Mappings
- Reduction Of Sequential Mappings
- Debouncing
- Filtering
- ROM Reduction Techniques
- Initialization
- The Interrupt Subsystem
- Sleep And Wakeup
- Support Of On-Chip Peripherals And Subsystems (CSOC0)
- Hardware watchdogs
- EEPROM
- Support Of Off-Chip Peripherals And Subsystems (CSOC1)
- Potentiometers
- Ratiometric Conversion And Measurement Systems
- Motion Control Systems
- Support Of Networks And Communication Protocols (CSNC0)
- Support Of Frequently Occurring Requirements (CSFO0)
- Real-Time Analysis (CRTA0)
- Paradigms For Construction
- Rate Monotonic Analysis
- Analysis Of The Interrupt Subsystem
- Volume IV: Embedded System Algorithms And Techniques
(VALG0)
- Classic And Simple Integer Algorithms (CIL0)
- Paradigms Of Microcontroller Numerics
- Integer Addition
- Hardware Implementation Of Addition
- Addition Of Unsigned Operands
- Addition Of Signed Operands
- Addition Of Arbitrary-Size Operands
- Error Analysis Of Addition Of Quantized Inputs
- Subtraction
- Hardware Implementation Of Subtraction
- Subtraction Of Unsigned Operands
- Subtraction Of Signed Operands
- Subtraction Of Arbitrary-Size Operands
- Multiplication
- Hardware Implementation Of Multiplication
- Multiplication Of Unsigned Operands
- Multiplication Of Signed Operands
- Multiplication Of Arbitrary-Size Operands
- Division
- Hardware Implementation Of Division
- Division Of Unsigned Operands
- Division Of Signed Operands
- Division Of Arbitrary-Size Operands
- Rational Approximation (CRAT0)
- Introduction
- Frequency Division And Rational Counting Techniques
- Frequency Division With Rational Ratio a/b <= 1
- Analysis Of Approximation Error
- Model Functions
- Methods Of Error Analysis
- Error Analysis Of Model Functions
- Methods Of Choosing h And k.
- Tabulated Scaling Factors
- Implementation Techniques
- Design Examples
- Conclusion
- Acknowledgements
- Exercises
- Discrete Time And Complex Integer Algorithms (CDTA0)
- Filtering
- Integration
- Differentiation
- Non-Numerical Algorithms And Techniques (CNNU0)
- Data Swapping
- Redundant Data Storage
- Volume V: Practical, Administrative, Incidental,
And Miscellaneous Topics (VPAC0)
- Management Of Product Development Materials (CMPD0)
- Software Design Methods (SDM0, unpopulated)
- Practical Interface And Test Circuits (CPIT0)
- The CMM Capability-Maturity Model (unpopulated)
- Bad Management And Unpleasant Work Situations (CBMA0)
- Products Of Exceptional Functionality (CPXF0)
- Computer Equipment
- Office Equipment
- Open Research Questions (ORQ0)
- Volume VI: Insektengericht And Lessons Learned (VISK0)
- Interrupt-Related Software Defects And Lessons Learned (CIRD0)
- Initialization-Related Software Defects And Lessons Learned (CIND0,
unpopulated)
- State-Space-Related Software Defects And Lessons Learned (CSSD0,
unpopulated)
- Sleep- And Wakeup-Related Software Defects And Lessons Learned (CSWD0,
unpopulated)
- Product Build And Configuration-Related Software Defects And Lessons
Learned (CPBC0)
- Uncategorized Software Defects And Lessons Learned (CUCD0)
- Volume VII: IjuTools Reference Guide (VIJT0)
- Tool Set Introduction (CTIN0)
- Tcl Command Reference (CTCM0)
- Tk Command Reference (CTKM0)
- Frequently Asked Questions And Frequently Encountered Problems (CFAQ0)
- Version Control Extensions (CVCT0)
- File Transformation Extensions (CFTE0)
- CRC, Checksum, And Hash Function Extensions (CCCH0)
- Random Number Generation Extensions (CRND1)
- Long Integer Extensions (CLIE0)
- Rational Number Extensions (CRNE0)
- Number Theory Extensions (CNTH0)
- Volume VIII: Solutions Manual (VSMA0)
- Solutions: CFRY0, Farey Series And Related Topics, (CFRS0)
Sections Which Appear In Every Volume (some may be omitted from the Solutions
Manual, VSMA0)
- Title Page (in the "shared" directory)
- Preface (in the "shared" directory)
- Glossary Of Terms(CGLO0)
- Glossary Of Mathematical Notation (CGLO1)
- Index (generated for each volume)
Version
control information:
$RCSfile: index2.htm,v $
$Source: /home/dashley/cvsrep/e3ft_gpl01/e3ft_gpl01/dtaipubs/esrgubka/index2.htm,v $
$Revision: 1.8 $
$Author: dtashley $
$Date: 2002/11/21 18:02:49 $