Embedded Software and Hardware Architecture is a first dive into understanding embedded architectures and writing software to manipulate this hardware. You will gain experience writing low-level firmware to directly interface hardware with highly efficient, readable and portable design practices. We will now transition from the Host Linux Machine where we built and ran code in a simulated environment to an Integrated Development Environment where you will build and install code directly on your ARM Cortex-M4 Microcontroller. Course assignments include writing firmware to interact and configure both the underlying ARM architecture and the MSP432 microcontroller platform. The course concludes with a project where you will develop a circular buffer data structure.



Embedded Software and Hardware Architecture

Instructor: Alex Fosdick
Access provided by Coursera Learning Team
50,555 already enrolled
(503 reviews)
What you'll learn
Describe relationship between ARM architecture and C-Programming memory interactions
Construct specialized embedded system data structures including circular buffers, LIFO Buffers, and Linked Lists
Identify techniques to manipulate memory
Skills you'll gain
Details to know

Add to your LinkedIn profile
4 assignments
See how employees at top companies are mastering in-demand skills


Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review

There are 3 modules in this course
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.
What's included
9 videos1 reading1 assignment
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.
What's included
8 videos1 assignment
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.
What's included
8 videos2 assignments
Instructor

Offered by
Why people choose Coursera for their career




Learner reviews
503 reviews
- 5 stars
69.24%
- 4 stars
19.44%
- 3 stars
6.74%
- 2 stars
1.98%
- 1 star
2.57%
Showing 3 of 503
Reviewed on Nov 24, 2020
This was excellent. The instructor is very clear and easy to understand. The hardware was never needed though?
Reviewed on Feb 7, 2024
I had a great learnings from this course, could have be more elaborative but still this is a very good course
Reviewed on May 2, 2020
This course makes my basic embedded knowledge very strong .This course will definitely helps me pursue my goal.
Recommended if you're interested in Physical Science and Engineering
University of Colorado Boulder
EIT Digital
University of Colorado Boulder

Open new doors with Coursera Plus
Unlimited access to 10,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