Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Master Firmware Updates with In-Application Programming(IAP)
Welcome
Intoduction (Same as Promo) (2:02)
Course Requirements
Introduction In-Application Programming(IAP)
What is In-Application Programming? (8:33)
Relationship between In-Application Programming(IAP) and Bootloaders (2:20)
Common Misconceptions of IAPs and Bootloaders (3:02)
Best Practices for Developing IAPs and Bootloaders (6:24)
Parts of an IAP System (3:06)
Setting Up
Downloading CubeIDE (2:34)
Installing CubeIDE (2:38)
Getting the required documentation (7:41)
Getting the required package for bare-metal development (21:19)
Testing the project setup (15:54)
Laying the foundation: Developing some System Drivers
About this Section
Programming : Enabling the Floating Point Unit (FPU) (18:00)
Programming : Developing a UART Driver - Analyzing the Documentation (11:35)
Programming : Developing a UART Driver - Listing out the steps (4:00)
Programming : Developing a UART Driver - Implementing the Initialization functi (22:13)
Programming : Developing a UART Driver - Implementing the Write function (5:39)
Programming : Developing a UART Driver - Testing the Driver (6:39)
Programming : Developing the System Timebase - Analyzing the Documentation (8:28)
Programming : Developing the System Timebase - Implementing the Init. function (9:52)
Programming : Developing the System Timebase - The rest of the functions (12:15)
Programming : Developing the System Timebase - Testing the Timebase (5:34)
Programming : Developing a BSP for the Dev Board - Required functions (7:55)
Programming : Developing a BSP for the Dev Board - The LED Driver (5:01)
Programming : Developing a BSP for the Dev Board - The Button Driver (4:00)
Programming : Developing a BSP for the Dev Board - Testing the BSP (3:35)
Programming : Developing an ADC Driver - Analyzing the Documentation (5:21)
Programming : Developing an ADC Driver - Listing out the steps. (5:27)
Programming : Developing an ADC Driver - The Initialization function (13:21)
Programming : Developing an ADC Driver - The Read function (14:05)
Python Essential Training
About this Section
Setting Up Python (6:37)
Printing a Statement (5:41)
Working with Variables (6:41)
Working with Lists (3:37)
Experimenting with Arithmetic Operators (7:31)
Working with Conditions (7:35)
Working with Loops (14:46)
Working with Functions (5:56)
Dictionaries (8:15)
Implementing Classes (5:17)
Adding more Methods to the Class (4:45)
Understanding the Class Init Method (4:47)
Inheriting from a Class (8:02)
More on Inheritance (10:42)
Setting Up an IDE for Python Development (5:27)
Overview of the IAP System
The Host-Target Communication (8:02)
Analyzing the IAP Protocol Commands (11:08)
Setting Up the Workspace for the Project (1:15)
Complete Source Code Download
Host-Target Communication Layer
Programming : Developing the Target Command Driver (17:00)
Programming : Developing the Debug UART Driver (18:07)
Programming : The Host - Detecting Serial Devices (9:58)
Programming : The Host - Getting the Port Number of Devices (4:09)
Programming : The Host - Receiving Data from the Target (8:39)
Programming : The Host - Sending Data to the Target (12:08)
Programming : Receiving and Transmitting Buffers of Data (7:54)
Programming : The Host - Developing the UART Transport Class (8:30)
Developing the IAP System- Interface File
Programming : Defining ENUM Types to hold Parameters of the Protocol (12:14)
Programming : Defining the Protocol Commands (2:59)
Programming : The Host - Defining the Protocol Commands (21:24)
Developing the IAP System- Target Implementation File
Programming : Jumping to the Default Application (15:15)
Programming : Testing the Bootloader (31:51)
Programming : Sending the ACK and NACK (8:42)
Programming : Handling the Get Protocol Version Command (6:11)
Programming : Handling the Get Help Command (5:18)
Programming : Handling the Get MCU ID Command (7:59)
Programming : Handling the Get RDP Command (8:25)
Programming : Handling the the GO TO ADDRESS Command (10:07)
Programming : Handling the Sector Erase Command (24:50)
Programming ; Handling the "Disable" Read/Write Protection Command (4:33)
Programming : Handling the Sector Write Command (14:37)
Programming : The Command Processing State Machine (24:39)
Developing the IAP System- HOST Application Implementation
Programming: Implementing the Protocol Menu (3:41)
Programming: Implementing the Commands Processor File (11:02)
Programming: Handling the GET_VERSION Command (19:43)
Programming: Implementing a Helper function for Sending Bytes (4:36)
Programming: Testing the Commands Handler (13:50)
Programming: Handling the GET HELP Command (9:13)
Programming: Handling the GET Chip ID Command (7:31)
Programming: Handling the GET RDP Command (4:46)
Programming: Extracting Bytes from Words (9:34)
Programming: Handling the GO_TO-ADDRESS Command (10:42)
Programming: Handling the FLASH_ERASE Command (17:42)
Programming: Handling the DISABLE_WRP Command (6:30)
Programming: Getting the Size of a Binary File (6:15)
Programming: Handling the SECTOR_WRITE Command (15:48)
Programming: Writing a New Firmware to the Target Using the IAP (Part I) (10:07)
Programming: Writing a New Firmware to the Target Using the IAP (Part II) (26:14)
Teach online with
Implementing Classes
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock