About this Course
4.4
16 ratings
1 reviews
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Hours to complete

Approx. 8 hours to complete

Suggested: 5-6 hours per week...
Available languages

English

Subtitles: English
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Hours to complete

Approx. 8 hours to complete

Suggested: 5-6 hours per week...
Available languages

English

Subtitles: English

Syllabus - What you will learn from this course

Week
1
Hours to complete
2 hours to complete

Interfacing C-Programs with ARM Core Microcontrollers

Module 1 will introduce the learner to how software/firmware can interface with an embedded platform and the underlying processor architecture. Embedded Software engineers must be very knowledgeable about the architecture in order to write efficient and bug free code. This requires knowledge of processor architecture. memory systems, microcontroller peripherals and more advanced use of the compiler. This module will continue to enforce good software design techniques with a focus on portability and maintainability without reducing your hardware’s performance....
Reading
9 videos (Total 69 min), 1 reading, 1 quiz
Video9 videos
2. Word Size and Data Types8m
3. Pointers8m
4. Interacting with Memory8m
5. Memory Alignment6m
6. Endianness5m
7. Compiler Attributes6m
8. Memory Map and Registers9m
9. Register Definition Files8m
Reading1 reading
Purchasing Hardware for Course 210m
Quiz1 practice exercise
Week 1 Quiz20m
Week
2
Hours to complete
1 hour to complete

Manipulating Memory

Module 2 will introduce the learner to more advanced firmware techniques as well move us into some hands on firmware for the microcontroller. We start by building our own memory access methods that will allow a programmer to manipulate peripheral memory bit fields to configure microcontroller peripherals and core architecture concepts. This will include more complex use of pointers for register definition files and function pointers for interrupt vector tables The module concludes with an in-depth look into the features of on-target debugging on a microcontroller and a hands-on example. ...
Reading
8 videos (Total 64 min), 1 quiz
Video8 videos
2. Bit Manipulation9m
3. IO Port Configuration Example9m
4. Creating Software Interfaces for Hardware10m
5. Advanced Pointer Use6m
6. Function Pointers6m
7. Debugging a Microcontroller Program Part 17m
8. Debugging a Microcontroller Program Part 28m
Quiz1 practice exercise
Week 2 Quiz20m
Week
3
Hours to complete
1 hour to complete

Designing Embedded Data Structures

Module 3 will introduce the learner to efficient and maintainable ways of organizing data. Most microcontroller programs require some use of structured data in order to track and manipulate the control flow or data in a program. These can be as simple as unions, enumerations or structures, but can be more complex with the use of abstract data structures. While abstract data structures are often discussed in higher level software, there are many simple examples that are used frequently in embedded system software....
Reading
8 videos (Total 57 min), 2 quizzes
Video8 videos
2. Enumerations6m
3. Unions6m
4. Structures and Encapsulation7m
5. Bit Fields8m
6. LIFO Buffer8m
7. Circular Buffer7m
8. Linked List8m
Quiz2 practice exercises
Week 3 Quiz0
Final Assessment0

Instructor

Avatar

Alex Fosdick

Instructor
Electrical, Computer, and Energy Engineering

About University of Colorado Boulder

CU-Boulder is a dynamic community of scholars and learners on one of the most spectacular college campuses in the country. As one of 34 U.S. public institutions in the prestigious Association of American Universities (AAU), we have a proud tradition of academic excellence, with five Nobel laureates and more than 50 members of prestigious academic academies....

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.