VOOZH about

URL: https://www.coursera.org/learn/embedded-operating-system

⇱ Embedded Hardware and Operating Systems | Coursera


Embedded Hardware and Operating Systems

Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Embedded Hardware and Operating Systems

58,772 already enrolled

Included with

β€’

Learn more

Ask Coursera

Gain insight into a topic and learn the fundamentals.
4.1

629 reviews

Intermediate level
Some related experience required
Flexible schedule
2 weeks at 10 hours a week
Learn at your own pace
90%
Most learners liked this course

Gain insight into a topic and learn the fundamentals.
4.1

629 reviews

Intermediate level
Some related experience required
Flexible schedule
2 weeks at 10 hours a week
Learn at your own pace
90%
Most learners liked this course

Build your subject-matter expertise

This course is part of the Development of Secure Embedded Systems Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate

There are 4 modules in this course

All about practical programming and creating IoTs applications!

In this course, we will talk about two components of a cyber-physical system, namely hardware and operating systems. After completing this course, you will have knowledge of both hardware components and operating systems. You are able to plan and use embedded operating systems in resource-constraint devices for Internet-of-Things (cyber-physical system) applications. In addition, you can use Cooja simulation for designing and simulating wireless sensor network applications. The course offers 4 modules, each with a graded quiz in the end and finally, one peer-reviewed programming assignment. In case you have no experience with C programming, please check a practical course like: https://www.coursera.org/learn/arduino-platform. The course is actually quite fun at the end when you play around with Cooja simulation for IoTs applications. So you can create and simulate your own design for sensor network applications. A lot of features and examples of Contiki and Cooja can be explored via assignments. There are some optional assignments of wireless sensor network applications for students who want to explore more about embedded OS in IoTs applications. - Marco Ramirez /University of Turku - Igor Tcarenko/ University of Turku - Nguyen Gia Tuan /University of Turku Ideate. Innovate. Iterate with 28Digital

This week will start from the basic information about Embedded Systems. Specifically, you will learn (1) what are embedded systems and where they are applied as well as (2) the main characteristics and challenges of embedded systems. (3) You will discover how embedded systems communicate with the outer world.

What's included

6 videos5 readings1 assignment1 discussion prompt

6 videosβ€’Total 50 minutes
  • Introductionβ€’3 minutes
  • Introduction to Embedded Systemsβ€’8 minutes
  • Design characteristics and challengesβ€’11 minutes
  • Input/Output devicesβ€’8 minutes
  • Wire communication, ADC/DACβ€’12 minutes
  • Sensors, actuators, interrupts vs. pollingβ€’9 minutes
5 readingsβ€’Total 145 minutes
  • Build your own input/output system with the Arduino!β€’45 minutes
  • Build your own ADC using Arduino!β€’30 minutes
  • Learn how to use serial communication using the Arduino!β€’30 minutes
  • Create a timer for polling using the Arduino!β€’30 minutes
  • Quiz 1 assignment (to be done before Quiz 1)β€’10 minutes
1 assignmentβ€’Total 30 minutes
  • Introduction to Embedded HW (Graded quiz)β€’30 minutes
1 discussion promptβ€’Total 30 minutes
  • Module 1 Discussionβ€’30 minutes

This week we will go into details of what embedded systems consist of. Specifically you learn about the main blocks of any processing element of embedded systems. We will show you what (1) embedded processors consists of and its main features. You will learn what (3) reconfigurable architectures and FPGAs are, and what kind of (4) ready-made platforms you can use to start working with processing elements.

What's included

5 videos2 readings1 assignment1 discussion prompt

5 videosβ€’Total 49 minutes
  • Embedded processors and FPGAsβ€’9 minutes
  • Main features of embedded processorsβ€’10 minutes
  • Use-cases of micro-controller platformsβ€’9 minutes
  • Reconfigurable platforms, FPGAsβ€’10 minutes
  • Embedded processors vs. FPGAsβ€’10 minutes
2 readingsβ€’Total 60 minutes
  • Practical list of comparison of MCU vs FPGAβ€’30 minutes
  • A comparison between MCU, FPGA, DSP, ASIC from Atmelβ€’30 minutes
1 assignmentβ€’Total 30 minutes
  • Processing elements (Graded quiz)β€’30 minutes
1 discussion promptβ€’Total 60 minutes
  • Module 2 Discussionβ€’60 minutes

In this week, we start with an overview of operating systems and embedded operating systems for IoT. Primary functionalities of embedded operating systems are discussed. We learn how operating systems work: how memory is managed, how tasks are scheduled, what interrupts are and how they are handled. After this, we deepen our learning with the popular kernels for general and embedded operating systems. Linux (monolithic) kernel, micro kernel and modular kernel are presented. In addition, several popular embedded operating systems for IoT are presented. Concretely, after attending this week, you will able to (1) explain why embedded systems often require an operating system (2) describe how an embedded operating system works such as how memory is managed, how tasks are scheduled and how interrupts are handled. (3) You will be able to differentiate between popular kernels for embedded operating systems. (4) Differentiate between popular embedded operating systems for IoT.

What's included

7 videos4 readings1 assignment1 peer review1 discussion prompt

7 videosβ€’Total 52 minutes
  • Module 3 Lecture1: Embedded operating systemsβ€’7 minutes
  • Linux kernel functions and advantagesβ€’8 minutes
  • The microkernelβ€’7 minutes
  • The modular kernelβ€’5 minutes
  • Introduction to Contikiβ€’6 minutes
  • Introduction to TinyOSβ€’11 minutes
  • Introduction to RIOT OSβ€’9 minutes
4 readingsβ€’Total 100 minutes
  • In depth reading of the QNX microkernelβ€’30 minutes
  • The case for using Contiki in sensor networksβ€’20 minutes
  • TinyOS github & Documentationβ€’30 minutes
  • RiotOS for IoTβ€’20 minutes
1 assignmentβ€’Total 30 minutes
  • Embedded Operating Systems (Graded quiz)β€’30 minutes
1 peer reviewβ€’Total 90 minutes
  • Honors Assignment: TinyOS -- Hands-onβ€’90 minutes
1 discussion promptβ€’Total 20 minutes
  • Module 3 Discussionβ€’20 minutes

In this week, we start to explore the Contiki Os in detail. First we discuss about the Contiki system and its kernel architecture. Furthermore, we explore how loadable programs are actually implemented in Contiki. Second, we go through services and libraries in Contiki to see how they are built and when they can be invoked. Third, we discuss communication in Contiki via details of uIp and Rime communication stacks in Contiki. Next, prototheads are discussed to describe how application code is processed in Contiki. Furthermore, APIs of multi-threading is discussed. Last but not least, the Cooja simulator - a simulator for wireless sensor networks based on Contiki is introduced. All steps of installing and applying Cooja for a wireless sensor network applications are presented in detailed via an example application. Concretely, after attending this week, you will able to (1) describe how Contiki system and its kernel architecture are built. (2) Distinguish Contiki services and libraries in terms of how they are built, when they are invoked and why they are used. (3) Describe how communication is implemented and supported in Contiki and what protocols Contiki can support. (4) Explore how application's code is processed in Contiki and important functions of API for multithreading in Contiki (5) use Cooja for simulating wireless sensor networks applications.

What's included

8 videos1 reading1 assignment2 peer reviews1 discussion prompt

8 videosβ€’Total 63 minutes
  • Contiki and Cooja simulationβ€’9 minutes
  • The Contiki systemβ€’9 minutes
  • Contiki's kernel architectureβ€’8 minutes
  • Contiki services and librariesβ€’9 minutes
  • Communication in Contiki Iβ€’7 minutes
  • Communication in Contiki IIβ€’6 minutes
  • Protothread, multithreading and code sizesβ€’7 minutes
  • Cooja simulationβ€’9 minutes
1 readingβ€’Total 30 minutes
  • Get started with Cooja: Step-by-stepβ€’30 minutes
1 assignmentβ€’Total 30 minutes
  • Contiki and Cooja (Graded quiz)β€’30 minutes
2 peer reviewsβ€’Total 150 minutes
  • Contiki Hands-onβ€’60 minutes
  • Energy consumption estimationβ€’90 minutes
1 discussion promptβ€’Total 15 minutes
  • Module 4 Discussionβ€’15 minutes

Earn a career certificate

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

Instructors

Instructor ratings
4.1 (73 ratings)
28DIGITAL
4 Coursesβ€’90,830 learners

Explore more from Software Development

Why people choose Coursera for their career

πŸ‘ Image

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."
πŸ‘ Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
πŸ‘ Image

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."
πŸ‘ Image

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

  • 5 stars

    54.05%

  • 4 stars

    24.32%

  • 3 stars

    8.90%

  • 2 stars

    5.72%

  • 1 star

    6.99%

Showing 3 of 629

MM
Β·

Reviewed on Aug 17, 2020

Excellent training module and I am very much satisfied in the teaching process

HT
Β·

Reviewed on Mar 12, 2019

This course is very good. Even though this course teaches you basic things it will help you to explore more. You will get to know about many new things.

VN
Β·

Reviewed on Jan 10, 2023

Gives good idea on embedded systems architecture and operating systems.

Frequently asked questions

To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.

When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,

ΒΉ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.