Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Voice-Enabled Smart Devices: Embedded AI Interfaces from Audio to Cloud Response
Welcome
Welcome(Same as Promo) (1:44)
Course Requirements
Industry Context and Implementation Principles of Smart Devices
Why End-to-End Embedded Systems Matter Now (1:35)
Overview of the Connected Product Landscape (4:45)
The Seven System Layers (2:08)
Understanding Payloads, Events, Commands and Artifacts (1:46)
Some Architecture Anti-Patterns (1:45)
Overview of Multicore Embedded Product Design (3:03)
The IPC as Engineering Tool (2:28)
Overview of Transport, Payloads and Contracts (2:56)
Understanding Transport and Contract Pitfalls (1:56)
Reliability, Observability and Deployment Strategies (2:14)
Security and Deployment Thinking (1:49)
Product Context and Architecture of Smart Audio and Voice Devices
Voice as a Practical Product Interface (3:36)
Audio Capture Fundamentals: Sample Rate and Bit Depth (2:29)
Overview of Voice Activity Detection (VAD) (1:58)
Understanding Utterance Packaging and Transport (2:46)
The Voice Interaction Pipeline (2:11)
Streaming, Latency, Optimization and Pitfalls (2:11)
The Product Context of Voice-Enabled Smart Devices (2:52)
The Turn-Based Interaction Model (1:59)
Privacy, Fallback and Degraded Mode (2:15)
Introduction to Multicore Systems
Some Challenges in Programming Multicore Systems (2:46)
What is MultiCore Development (1:33)
Understanding the STM32H7 Dual-Core Environment
Understanding CoreMark and Dhrystone Millions of Instructions Per Second(DMIPS) (2:17)
The System Overview (4:44)
The Bus Matrix and Power Domain (4:44)
Key Features of the STM32H7 Dual Core Microcontroller (2:12)
Introduction to STM32H7 Multicore Development
Overview of Inter-Core Communication Methods (1:30)
Some Key Abbreviations (1:42)
The Inter-Processor Communication Controller (IPCC)
Understanding IPCC for Remote Service Access (1:55)
Understanding IPCC for Payload Processing (1:31)
Understanding IPCC for Event Notification (2:26)
Other Inter-Core Communication Methods
Shared Memory for Inter-Core Communication (2:18)
Overview of OpenAMP and RPMsg (4:02)
Message Buffers and Stream Buffers and for Inter-Core Communication (3:57)
Hardware Semaphore(HSEM) and Send-Event Instruction(SEV) (2:44)
DMA and MDMA for Inter-Core Communication (2:11)
Setting Up
Downloading STM32CubeIDE (2:34)
Installing STM32CubeIDE (2:38)
Getting Started with Multi-Core Development
Programming: Getting Required Documentation (5:13)
Programming: Creating a Multicore Project (3:58)
Programming: Overview of th Clock Tree (8:24)
Programming: Assigning Different Peripherals to Different CPUs (5:44)
Programming: Analyzing the Project Tree (3:36)
Programming: Analyzing the main() function of CPU1 (3:42)
Programming: Analyzing the main() function of CPU2 (7:24)
Programming: Creating the Debug Configuration for CPU1 (2:45)
Programming: Creating the Debug Configuration for CPU2 (3:57)
Programming: Implementing the Custom Code for CPU1 and CPU2 (3:43)
Programming: Testing the Multicore Application (4:30)
Programming: Resolving ST-Link Connection Issues (4:00)
Inter-Processor Communication with Hardware Semaphores(HSEM)
Programming: Analyzing the Hardware Semaphore(HSEM) Documentation (7:12)
Programming: Enabling the Project Peripherals and HSEM Interrupt (13:22)
Programming: Analyzing the Hardware Semaphore Functions (6:38)
Programming: HSEM for Notification- The CPU1 Logic (3:13)
Programming: HSEM for Notification- The CPU2 Logic (7:19)
Programming Testing the HSEM Notification Project (5:33)
Programming: Creating Another Hardware Semaphore (3:57)
Programming: Ensuring Sequential Execution with Hardware Semaphores (12:04)
Programming: Ensuring Robust Resource Sharing with Hardware Semaphores (8:03)
Inter-Processor Communication with OpenAMP and RPMsg
Programming: Configuring the OpenAMP Project(Pt.1) (7:48)
Programming: Configuring the OpenAMP Project(Pt.2) (6:36)
Programming: Troubleshooting Potential Project Creation Issues (7:16)
Programming: Locating the Base Address of the SRAM (8:02)
Programming: Defining the Memory Region for the Shared Memory and Resouce Table (6:11)
Programming: Allocating and Defining the Section for the Resource Table (3:49)
Programming: Defining Memory Regions and Section Allocation for CPU2 (2:14)
Programming: Analyzing the OpenAMP File (6:44)
Programming: Declaring the Required Variables and Flags (4:55)
Programming: Implementing the RPMSG Receive Callback (3:52)
Programming: Implementing the 'Service Created' Callback (6:04)
Debugging, Profiling, and Project Management
Some Debugging Techniques for MultiCore Systems (3:31)
Design Patterns and Testing Techniques (3:00)
Some Performance Profiling and Project Management Techniques (2:30)
Hardware Semaphore(HSEM) and Send-Event Instruction(SEV)
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock