Embedded C Memory Management

This is a self-paced GK Digital Learning product. GK Digital learning products are created by world-class production and instructional design teams to deliver an experience that feels more like a classroom than traditional e-learning with hands-on activities for real-world results. In addition to high quality video content and hands-on labs you will have access to subject matter experts to ask questions for feedback and support.

C is a powerful low-level language that allows you to directly manipulate memory with pointers and get a lot of performance from it. However, C also allows for the programming of higher-level constructs that can make programs more maintainable and concise.

In this course, you will investigate the low-level detail of pointers to data and functions. You will use this knowledge to implement higher-level constructs like abstract types, inheritance, and dynamic binding. You will also consider CPU caches when creating structures to make your programs efficient.

This online learning event is comprised of Articles to read, Labs to participate in, Videos to watch and all the time you have access to Mentors that will help you better understand pointers and data function. We estimate that the learning event will take you around 7 1/2 hrs to complete.

Pre-Requisites

The following Pre-Requisite knowledge is required:

  • Previous programming experience

Content

The online event consists of the following content:

  • Access and Manipulate Memory with Pointers - 1 hours 17 minutes 8 Activities: Article  (3)  |  Lab  (3)  |  Video  (2)
  • Manage Your Program’s Memory Usage with Heap and Stack-Based Allocations - 7 Activities: Article  (5)  |  Lab  (1)  |  Video  (1)
  • Create Abstract Data Types Using Opaque Pointers - 1 hours 21 minutes 7 Activities: Article  (5)  |  Lab  (1)  |  Video  (1)
  • Change Program Behavior at Runtime with Function Pointers - 1 hours 10 minutes 6 Activities: Article  (3)  |  Lab  (1)  |  Video  (2)
  • Write Object-Oriented Code in C - 1 hours 26 minutes 7 Activities: Article  (3)  |  Lab  (2)  |  Video  (2)
  • Consider Alignment, Packing, and Caches When Declaring Structures - 7 Activities: Article  (5)  |  Lab  (1)  |  Video  (1)

Objectives

During this online learning event delegates will have access to:

  • Implement pass-by-reference semantics using pointers
  • Manipulate a structure variable through a pointer
  • Allocate and release memory on the heap
  • Write a function that accepts a function as a parameter
  • Combine structures and functions to create higher-level constructs
  • Implement inheritance and dynamic binding
  • Work with reference counting
  • Consider alignment and caches when defining structures
  • Make interfaces more clear with const

Target Audience

This online event is aimed at programmers who want to program close to the hardware in C.