À propos de ce cours
4.6
8 notes
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. In this course you will need the Texas Instruments LaunchPad with the MSP432 microcontroller in order to complete the assignments. Later courses of the Specialization will continue to use this hardware tool to develop even more exciting firmware....
Globe

Cours en ligne à 100 %

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Calendar

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.
Intermediate Level

Niveau intermédiaire

Clock

Recommandé : 5-6 hours per week

Approx. 8 heures pour terminer
Comment Dots

English

Sous-titres : English
Globe

Cours en ligne à 100 %

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Calendar

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.
Intermediate Level

Niveau intermédiaire

Clock

Recommandé : 5-6 hours per week

Approx. 8 heures pour terminer
Comment Dots

English

Sous-titres : English

Programme du cours : ce que vous apprendrez dans ce cours

1

Section
Clock
2 heures pour terminer

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 vidéos (Total 69 min), 1 lecture, 1 quiz
Video9 vidéos
2. Word Size and Data Types8 min
3. Pointers8 min
4. Interacting with Memory8 min
5. Memory Alignment6 min
6. Endianness5 min
7. Compiler Attributes6 min
8. Memory Map and Registers9 min
9. Register Definition Files8 min
Reading1 lecture
Purchasing Hardware for Course 210 min
Quiz1 exercice pour s'entraîner
Week 1 Quiz20 min

2

Section
Clock
1 heure pour terminer

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 vidéos (Total 64 min), 1 quiz
Video8 vidéos
2. Bit Manipulation9 min
3. IO Port Configuration Example9 min
4. Creating Software Interfaces for Hardware10 min
5. Advanced Pointer Use6 min
6. Function Pointers6 min
7. Debugging a Microcontroller Program Part 17 min
8. Debugging a Microcontroller Program Part 28 min
Quiz1 exercice pour s'entraîner
Week 2 Quiz20 min

3

Section
Clock
1 heure pour terminer

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 vidéos (Total 57 min), 2 quiz
Video8 vidéos
2. Enumerations6 min
3. Unions6 min
4. Structures and Encapsulation7 min
5. Bit Fields8 min
6. LIFO Buffer8 min
7. Circular Buffer7 min
8. Linked List8 min
Quiz2 exercices pour s'entraîner
Week 3 Quiz min
Final Assessment min

Enseignant

Alex Fosdick

Instructor
Electrical, Computer, and Energy Engineering

À propos de 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....

Foire Aux 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.

D'autres questions ? Visitez le Centre d'Aide pour les Etudiants.