├── Ch01_Intro └── README.md ├── Ch02_Architecture └── README.md ├── Ch03_Hardware ├── ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf ├── ArduinoBlockDiagramToSchematics.pdf ├── MicroMadnessTournament.xlsx ├── README.md └── UNO-TH_Rev3e_sch.pdf ├── Ch04_IOTimers ├── Atmel-2586-AVR-8-bit-Microcontroller-ATtiny25-ATtiny45-ATtiny85_Datasheet.pdf ├── Main2.svg ├── README.md ├── TI_MSP430x2xx_Users_Guide_slau144k.pdf ├── TimerCalculations.xlsx ├── TimerFlowchart.md └── stmicroelectrics-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-armbased-32bit-mcus.pdf ├── Ch05_Interrupts ├── InterruptingCowSequence.md └── README.md ├── Ch06_Flow ├── Main1_InitialLoop.svg ├── Main2_InitialLoopWithInputsOutputs.svg ├── Main3_TimerInterruptForLED.svg ├── Main4_InterruptsDoEverything.svg ├── Main5_InterruptsSendEvents.svg ├── Main6_TinyScheduler.svg ├── Main7_ActiveObjects.svg ├── MainLoopDiagrams.md └── README.md ├── Ch07_Communication ├── CommunicationDiagrams.md ├── README.md ├── SPI_clock_calculations.xlsx └── at91sam7_serial_communications.pdf ├── Ch08_Externals ├── Pipelinesxlsx.xlsx ├── README.md ├── STAN1447_software-driver-for-4-multiplexed-lcd-with-a-standard-st62-stmicroelectronics.pdf ├── STAN4894-eeprom-emulation-techniques-and-software-for-stm32-microcontrollers-stmicroelectronics.pdf ├── SpeedsAndFeedsDiagram.md ├── Speeds_and_Feeds_Throughput_Calculators.xlsx └── w25q64jv revj 03272018 plus.pdf ├── Ch09_Debugging ├── README.md ├── hardfaults.c └── stackoverflow.c ├── Ch10_Connected ├── BootloaderDiagrams.md ├── README.md └── SimplifiedBootloaderFlow.svg ├── Ch11_Resources └── README.md ├── Ch12_Math ├── Averaging.xlsx ├── README.md ├── ave ├── averaging.c ├── determiningError.xlsx ├── fake └── fakefloats.c ├── Ch13_Power ├── Power_consumption_Wordy_ring.xlsx └── README.md ├── Ch14_Movement ├── MotionProfiles.xlsx └── README.md ├── LICENSE ├── Presentations ├── 202405_Introduction_to_Embedded_Software.pdf ├── 2024_Creating_Chaos_and_Hard_Faults_Public.pdf └── README.md └── README.md /Ch01_Intro/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch01_Intro/README.md -------------------------------------------------------------------------------- /Ch02_Architecture/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch02_Architecture/README.md -------------------------------------------------------------------------------- /Ch03_Hardware/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch03_Hardware/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf -------------------------------------------------------------------------------- /Ch03_Hardware/ArduinoBlockDiagramToSchematics.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch03_Hardware/ArduinoBlockDiagramToSchematics.pdf -------------------------------------------------------------------------------- /Ch03_Hardware/MicroMadnessTournament.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch03_Hardware/MicroMadnessTournament.xlsx -------------------------------------------------------------------------------- /Ch03_Hardware/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch03_Hardware/README.md -------------------------------------------------------------------------------- /Ch03_Hardware/UNO-TH_Rev3e_sch.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch03_Hardware/UNO-TH_Rev3e_sch.pdf -------------------------------------------------------------------------------- /Ch04_IOTimers/Atmel-2586-AVR-8-bit-Microcontroller-ATtiny25-ATtiny45-ATtiny85_Datasheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch04_IOTimers/Atmel-2586-AVR-8-bit-Microcontroller-ATtiny25-ATtiny45-ATtiny85_Datasheet.pdf -------------------------------------------------------------------------------- /Ch04_IOTimers/Main2.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch04_IOTimers/Main2.svg -------------------------------------------------------------------------------- /Ch04_IOTimers/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch04_IOTimers/README.md -------------------------------------------------------------------------------- /Ch04_IOTimers/TI_MSP430x2xx_Users_Guide_slau144k.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch04_IOTimers/TI_MSP430x2xx_Users_Guide_slau144k.pdf -------------------------------------------------------------------------------- /Ch04_IOTimers/TimerCalculations.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch04_IOTimers/TimerCalculations.xlsx -------------------------------------------------------------------------------- /Ch04_IOTimers/TimerFlowchart.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch04_IOTimers/TimerFlowchart.md -------------------------------------------------------------------------------- /Ch04_IOTimers/stmicroelectrics-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-armbased-32bit-mcus.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch04_IOTimers/stmicroelectrics-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-armbased-32bit-mcus.pdf -------------------------------------------------------------------------------- /Ch05_Interrupts/InterruptingCowSequence.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch05_Interrupts/InterruptingCowSequence.md -------------------------------------------------------------------------------- /Ch05_Interrupts/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch05_Interrupts/README.md -------------------------------------------------------------------------------- /Ch06_Flow/Main1_InitialLoop.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch06_Flow/Main1_InitialLoop.svg -------------------------------------------------------------------------------- /Ch06_Flow/Main2_InitialLoopWithInputsOutputs.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch06_Flow/Main2_InitialLoopWithInputsOutputs.svg -------------------------------------------------------------------------------- /Ch06_Flow/Main3_TimerInterruptForLED.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch06_Flow/Main3_TimerInterruptForLED.svg -------------------------------------------------------------------------------- /Ch06_Flow/Main4_InterruptsDoEverything.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch06_Flow/Main4_InterruptsDoEverything.svg -------------------------------------------------------------------------------- /Ch06_Flow/Main5_InterruptsSendEvents.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch06_Flow/Main5_InterruptsSendEvents.svg -------------------------------------------------------------------------------- /Ch06_Flow/Main6_TinyScheduler.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch06_Flow/Main6_TinyScheduler.svg -------------------------------------------------------------------------------- /Ch06_Flow/Main7_ActiveObjects.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch06_Flow/Main7_ActiveObjects.svg -------------------------------------------------------------------------------- /Ch06_Flow/MainLoopDiagrams.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch06_Flow/MainLoopDiagrams.md -------------------------------------------------------------------------------- /Ch06_Flow/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch06_Flow/README.md -------------------------------------------------------------------------------- /Ch07_Communication/CommunicationDiagrams.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch07_Communication/CommunicationDiagrams.md -------------------------------------------------------------------------------- /Ch07_Communication/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch07_Communication/README.md -------------------------------------------------------------------------------- /Ch07_Communication/SPI_clock_calculations.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch07_Communication/SPI_clock_calculations.xlsx -------------------------------------------------------------------------------- /Ch07_Communication/at91sam7_serial_communications.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch07_Communication/at91sam7_serial_communications.pdf -------------------------------------------------------------------------------- /Ch08_Externals/Pipelinesxlsx.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch08_Externals/Pipelinesxlsx.xlsx -------------------------------------------------------------------------------- /Ch08_Externals/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch08_Externals/README.md -------------------------------------------------------------------------------- /Ch08_Externals/STAN1447_software-driver-for-4-multiplexed-lcd-with-a-standard-st62-stmicroelectronics.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch08_Externals/STAN1447_software-driver-for-4-multiplexed-lcd-with-a-standard-st62-stmicroelectronics.pdf -------------------------------------------------------------------------------- /Ch08_Externals/STAN4894-eeprom-emulation-techniques-and-software-for-stm32-microcontrollers-stmicroelectronics.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch08_Externals/STAN4894-eeprom-emulation-techniques-and-software-for-stm32-microcontrollers-stmicroelectronics.pdf -------------------------------------------------------------------------------- /Ch08_Externals/SpeedsAndFeedsDiagram.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch08_Externals/SpeedsAndFeedsDiagram.md -------------------------------------------------------------------------------- /Ch08_Externals/Speeds_and_Feeds_Throughput_Calculators.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch08_Externals/Speeds_and_Feeds_Throughput_Calculators.xlsx -------------------------------------------------------------------------------- /Ch08_Externals/w25q64jv revj 03272018 plus.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch08_Externals/w25q64jv revj 03272018 plus.pdf -------------------------------------------------------------------------------- /Ch09_Debugging/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch09_Debugging/README.md -------------------------------------------------------------------------------- /Ch09_Debugging/hardfaults.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch09_Debugging/hardfaults.c -------------------------------------------------------------------------------- /Ch09_Debugging/stackoverflow.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch09_Debugging/stackoverflow.c -------------------------------------------------------------------------------- /Ch10_Connected/BootloaderDiagrams.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch10_Connected/BootloaderDiagrams.md -------------------------------------------------------------------------------- /Ch10_Connected/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch10_Connected/README.md -------------------------------------------------------------------------------- /Ch10_Connected/SimplifiedBootloaderFlow.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch10_Connected/SimplifiedBootloaderFlow.svg -------------------------------------------------------------------------------- /Ch11_Resources/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch11_Resources/README.md -------------------------------------------------------------------------------- /Ch12_Math/Averaging.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch12_Math/Averaging.xlsx -------------------------------------------------------------------------------- /Ch12_Math/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch12_Math/README.md -------------------------------------------------------------------------------- /Ch12_Math/ave: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch12_Math/ave -------------------------------------------------------------------------------- /Ch12_Math/averaging.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch12_Math/averaging.c -------------------------------------------------------------------------------- /Ch12_Math/determiningError.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch12_Math/determiningError.xlsx -------------------------------------------------------------------------------- /Ch12_Math/fake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch12_Math/fake -------------------------------------------------------------------------------- /Ch12_Math/fakefloats.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch12_Math/fakefloats.c -------------------------------------------------------------------------------- /Ch13_Power/Power_consumption_Wordy_ring.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch13_Power/Power_consumption_Wordy_ring.xlsx -------------------------------------------------------------------------------- /Ch13_Power/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch13_Power/README.md -------------------------------------------------------------------------------- /Ch14_Movement/MotionProfiles.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch14_Movement/MotionProfiles.xlsx -------------------------------------------------------------------------------- /Ch14_Movement/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Ch14_Movement/README.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/LICENSE -------------------------------------------------------------------------------- /Presentations/202405_Introduction_to_Embedded_Software.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Presentations/202405_Introduction_to_Embedded_Software.pdf -------------------------------------------------------------------------------- /Presentations/2024_Creating_Chaos_and_Hard_Faults_Public.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Presentations/2024_Creating_Chaos_and_Hard_Faults_Public.pdf -------------------------------------------------------------------------------- /Presentations/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/Presentations/README.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleciawhite/making-embedded-systems/HEAD/README.md --------------------------------------------------------------------------------