Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Embedded SDK Development from the Ground Up™
Introduction
Welcome(Same as Promo) (12:48)
Course Requirement
Orientation and Success Criteria
Why SDKs? The Enterprise View (2:14)
What You Will Ship: A v0.1 SDK (0:57)
The SDK Mental Model and Folder Architecture
Objectives: The Public vs. Private Contract (1:21)
The Iceberg Model: Public vs. Private Internals (2:18)
Overview of Lab1: Scaffolding the SDK Skeleton and Header Test (4:15)
Programming: Implementing the Project Tree (3:26)
Programming: Creating The SDK API Header and Source Files (1:09)
Programming: Implementing the SDK Initialization Function (2:03)
Programming: Compiling the Project to Avoid Hidden Dependencies Issues (7:24)
Understanding Object, Archive and Partial Link
Objectives: The Artifacts of Compilation (1:36)
Understanding the Object File and the Archive File (3:48)
Overview of Lab2: Building Our First Artifacts (1:15)
Programming: Creating the SDK Features and SDK Core Files (3:28)
Programming: Implementing the SDK Features Header File (3:00)
Programming: Implementing the SDK Core File (5:38)
Programming: Implementing the SDK Features Source File (1:42)
Programming: Creating the Static Archive Using the Required Object Files (7:50)
Programming: Creating a Thin Archive (1:50)
Programming: Creating the Relocatable Bundle Using the Required Object Files (5:31)
The Toolchain Targets and ABI Matrix
Objectives:Building for a Diverse World (1:37)
Targeting the Core with '-mcpu' (1:45)
Understanding the ABI Contract: How Functions Talk About Floats (2:40)
Overview of Lab3: Producing SDK SKUs (1:48)
Programming: Creating the SDK Math Module and Support-matrix (3:56)
Programming: Implementing the SDK Math Module (2:33)
Programming: Creating the SKU Subdirectories Inside the 'obj' and 'lib' Folders (2:55)
Programming: Building the Cortex-M4 Hardware FPU SKU Library (7:47)
Programming: Building the Cortex-M4 Software FPU SKU Library (2:25)
Programming: Building the Cortex-M0 Hardware FPU SKU Library (1:41)
Testing the Library
Programming: Adding the Correct Library Files to the Project (8:07)
Programming: Creating the FP-ABI Test Project (3:58)
Programming: Configuring the Project to Use the Library (5:07)
Programming: Proving the Function Executes Successfully Without the .c File (6:48)
API Surface, Namespacing, and Compatibility Policy
Key Techniques for Writing Robust APIs (4:27)
Objectives: Designing for the Future (1:25)
Overview of Lab4: Carving a Minimal and Stable API (1:52)
Programming: Creating the SDK Internal File and API Policy File (3:34)
Programming: Updating the SDK API .h File wth 'c' Guards and Versioning Macros (4:09)
Configuration System and Build Profiles
Objectives: Control and Predictability (1:43)
Understanding the Mechanisms of the Configuration File (3:45)
Overview of Lab5: Implementing and Verify the Three Profiles (1:26)
Linker Integration Contracts
Objectives: Implementing Painless Integration (1:56)
Understanding the Problem: The User's Sacred Linkerscript (2:10)
Creating and Integrating Custom Sections (3:27)
Overview of Lab6: Placing Data Deterministically (1:22)
Size and Performance Control
Objectives: Understanding Size and Performance Control (1:45)
Isolating and Eliminating Unused Sections (2:27)
Comparing Standard Builds to LTO Builds (1:08)
Overview of Lab7: The Bloat Postmortem Challenge (1:43)
Programming: Implementing the SDK Math Module
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock