University of Colorado Boulder
Introduction to Embedded Systems Software and Development Environments
University of Colorado Boulder

Introduction to Embedded Systems Software and Development Environments

Taught in English

Some content may not be translated

117,284 already enrolled

Course

Gain insight into a topic and learn the fundamentals

Alex Fosdick

Instructor: Alex Fosdick

4.5

(602 reviews)

Intermediate level
Some related experience required
9 hours to complete
3 weeks at 3 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • Classify the parts of an embedded systems developer’s Source Configuration Management (SCM)

  • Implement a build system using GNU’s Make and GCC compiler toolsets

  • Write C-programs to define data in different memory regions

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

4 quizzes

See how employees at top companies are mastering in-demand skills

Placeholder
Placeholder

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV

Share it on social media and in your performance review

Placeholder

There are 4 modules in this course

Module 1 will introduce the learner to the components of your embedded system software development process. This module will be a quick overview for many topics with detailed analysis to follow in later modules and courses. We start with defining the hardware and software building blocks of Embedded Systems which will include a C-programming refresher. Next you will learn about the important tools a developer will need to use to help design, build and manage their designs. This includes development environments, version control and the hardware kits to install on. Learners will install and use a Virtual machine to complete Week 1 Application Assignment.

What's included

10 videos1 quiz1 peer review

Module 2 will introduce the learner to the software development build system. Most software engineers are very knowledgeable about their build system as we need them to translate our high-level software languages to our architecture specific implementations. There are some important platform and architecture concepts that are introduced in the build system to help enforce good software design techniques. Learners will create their own build systems and utilize build tools to analyze their embedded software implementations.

What's included

9 videos1 quiz1 peer review

Module 3 will begin to introduce important embedded concepts like the memory systems in their design. Learners will understand how the software to hardware mapping occurs for their designs including differentiating between your program code and your program data. Memory systems have many platform and architecture dependencies, and you will begin to learn about some of the fundamental concepts a software engineer needs to know to utilize all parts of an embedded system’s memory.

What's included

8 videos2 readings2 quizzes

During this week you are to going to combine what you have learned in modules 1-3 to write some memory manipulation software, incorporate into your build system and then run some test functions. At the end of the assignment you will perform a detailed code review of other learners’ software. Reviewing other learners code is very important for both your growth of software design but also for the coder to gain valuable feedback. Professional software engineering regularly go through software reviews when developing code.

What's included

1 peer review

Instructor

Instructor ratings
4.6 (130 ratings)
Alex Fosdick
University of Colorado Boulder
2 Courses139,635 learners

Offered by

Recommended if you're interested in Electrical Engineering

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

Showing 3 of 602

4.5

602 reviews

  • 5 stars

    70.08%

  • 4 stars

    19%

  • 3 stars

    4.95%

  • 2 stars

    2.47%

  • 1 star

    3.47%

VL
5

Reviewed on Jul 24, 2021

SK
5

Reviewed on Oct 9, 2019

MF
5

Reviewed on Jun 21, 2018

Placeholder

Open new doors with Coursera Plus

Unlimited access to 7,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions