- Level Professional
- Duration 9 hours
- Course by University of Colorado Boulder
-
Offered by
About
Welcome to the Introduction to Embedded Systems Software and Development Environments. This course is focused on giving you real world coding experience and hands on project work with ARM based Microcontrollers. You will learn how to implement software configuration management and develop embedded software applications. Course assignments include creating a build system using the GNU Toolchain GCC, using Git version control, and developing software in Linux on a Virtual Machine. The course concludes with a project where you will create your own build system and firmware that can manipulate memory. The second course in this 2 course series , Embedded Software and Hardware Architecture, will use hardware tools to program and debug microcontrollers with bare-metal firmware. Using a Texas Instruments MSP432 Development Kit, you will configure a variety of peripherals, write numerous programs, and see your work execute on your own embedded platform!Modules
Lesson 1
5
Videos
- 0. Introduction to the Course
- 1. Introduction to the Module
- 2. Introduction to Embedded Systems
- 3. Embedded Software Engineering
- 4. C-Programming Review
Lesson 2
5
Videos
- 5. Introduction to Software Configuration Management
- 6. C Standardization and Team Coding Standards
- 7. Development Environments Overview
- 8. Development Kits and Documentation
- 9. Version Control
Week 1 Assessments
1
Assignment
- Week 1 Quiz
1
Peer Review
- Week 1 Application Assignment
Compilation with GCC and GNU Make
9
Videos
- 1. Introduction to Build Systems using GNU Toolsets
- 2. Compiling and Invoking GCC
- 3. Preprocessor Directives
- 4. Creating Header and Implementation Files
- 5. Linkers
- 6. Make
- 7. Makefiles Part 1
- 8. Makefiles Part 2
- 9. Other Useful GNU Bin Tools
Week 2 Assessments
1
Assignment
- Week 2 Quiz
1
Peer Review
- Week 2 Application Assignment
Memory Types, Segments and Management
8
Videos
- 1. Introduction to Memory Organization
- 2. Memory Architectures
- 3. Memory Segments
- 4. Data Memory
- 5. Special Keywords (Const, Extern & Static)
- 6. The Stack
- 7. The Heap
- 8. Code Memory
Week 3 Assessments
2
Assignment
- Week 3 Quiz
- Programming Assignment Quiz
2
Readings
- Programming Assignment Instructions
- Programming Assignment Quiz Solution
Course 1 Final Assessment
1
Peer Review
- Expanded Build System and Memory

Instructor
Alex Fosdick