kingers Posted Monday at 12:59 PM Report Share Posted Monday at 12:59 PM Mastering Microcontroller And Embedded Driver Development Last updated 1/2023 MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz Language: English | Size: 8.43 GB | Duration: 28h 33m(MCU1) Learn bare metal driver development using Embedded C: Writing drivers for STM32 GPIO,I2C,SPI,USART from scratch What you'll learn Understand Right ways of Handling and programming MCU Peripherals Develop Peripheral drivers for your Microcontroller Understand complete Driver Development steps right from scratch for GPIO,SPI,I2C and USART. Learn Writing peripheral driver headers, prototyping APIs and implementation Explore MCU data sheets, Reference manuals, start-up Codes to get things done Learn Right ways of handling/configuring Interrupts for various peripherals Learn about Peripheral IRQs/Vector table/NVIC interfaces and many Learn about Configuration/status/Control registers of various Peripherals Demystifying behind the scene working details of SPI,I2C,GPIOs,USART etc. Explore hidden secretes of MCU bus interfaces, clock sources, MCU clock configurations, etc. Understand right ways of enabling/configuring peripheral clocks/serial clocks/baud rates of various serial protocols Learn about MCUs AHB, APB bus protocols Learn about different MCU clocks like HCLK, PCLK, PLL,etc Learn to capture/decode/analyze traces of serial protocols on Logic analyzer Learn about Quick ways of debugging peripheral issues with case studies Requirements Basic knowledge of C programming If you are completely new to MCU and C programming language then you are advised to finish our "Embedded C" course for absolute beginners first Description >> Your Search for an in-depth microcontroller programming course ends here !!<<<Course code: MCU1Learn bare-metal driver development using Embedded C : Writing drivers for STM32 GPIO,I2C, SPI,USART from scratchEnglish Subtitles/CCs are enabled for this course.Update 6: videos are updated with the latest STM32CUBEIDEUpdate 5: All drivers are developed in a live session with step-by-step coding and added stm32-Arduino communication exercises using SPI and I2C.Update 4: Dedicated support team is assigned to address student's Q/AUpdate 3: English Closed captions are fixedUpdate 2 : Added Bus matrix / memory map /vector table /interrupt design discussion with code examples.Update 1: Eclipse IDE setup for ARM Cortex M based MCUs addedThe course is designed for beginners to advanced audiences.Brief Description:This course Demystifies the internal working of the Microcontroller and its Peripherals.Coding for the Peripherals STEP-BY-STEP and Developing software drivers entirely from scratch by extracting maximum information from Datasheets, Reference manuals, specs, etcProtocol Decoding Using logic analyzers, Debugging, Testing along with Hints and Tips.Long Description:Learning Embedded System Programming can be a challenge. Since it's a relatively complex field, there's no actual gold standard yet for how things are practiced, or taught, which can frustrate people who are just trying to learn new things and couldn't connect the dots.This is the motivation behind creating this course to help engineers and students learn different aspects of embedded systems by providing high-quality advanced lectures at a relatively low price.Master Behind the Scene working;created this course because I believe your time is precious, and you shouldn't have to hunt around to get a practical foundation In Embedded System Programming. In this course, you will learn to write your peripheral driver for most commonly used peripherals such as GPIOs, I2C, SPI, USART, etc., and the exciting thing is that you will learn everything from scratch.No 3rd party libraries!No blind coding!Write your driver APIs by dealing with the peripheral registers of the MCU!Code and Implement APIs from scratch, diving into the datasheet and reference manual of the MCU. I will thoroughly explain how to extract the maximum information from datasheets, Technical Reference manuals to configure and handle peripherals. These techniques you can go and apply to any MCUs you have at your hand.In this course, I will walk you through step-by-step procedures on configuring various Peripherals like GPIOs, SPI, USART, I2C by taking you into the reference manual and datasheet. We will develop a fully working driver code, interrupt handlers, sample application everything from scratch to understand the big picture.In each lecture, I assure you that you will learn something new to use in your work or projects. You'll find yourself handling these peripherals with much more clarity. You will be able to speculate and debug the problem quickly. I'll show you tricks and tips to debug the most common issues using debugging tools such as logic analyzers.This is not the Arduino style of programming:I believe Arduino is for quick prototyping of projects/products but not for mastering the working of micro-controllers and their peripherals. Unlike Arduino programming, where you develop a quick solution and prototyping of products using third-party libraries, this course is entirely different. In this course, no 3rd party libraries are used. Everything we will code by referring to the technical reference manual of the MCU and will create our own library. The Power of this approach is that you can quickly speculate problems and debug like a pro when things go wrong in your project due to bugs. If one thing me and my students are good at is "debugging,." To achieve good debugging skills, it's essential to code by understanding how things work behind the scene but not by blindly using some third-party libraries, and that's the biggest TAKE away from this course.The course is designed and explained so that it is generic across any microcontroller. The code we develop can be used as templates to quickly build a peripheral driver for your MCUs on-chip peripherals.Software/Hardware used:In this course, the code is developed so that it can be ported to any MCU you have at your hand. If you need any help porting these codes to different MCUs, you can always reach out to me! The course is strictly not bound to any 1 type of MCU. So, if you already have any Development board that runs with an ARM-Cortex M3/M4 processor, I recommend you continue using it. But if you don't have any development boards, then check out the below Development boards.1. STM32F407xx based Discovery board ( This is the board used in this course)MCU Vendor: STMicroelectronicsIDE: STM32CUBEIDE (Free)My promise:I am confident that this course will save you many hours of studying/experimenting/googling time to learn about MCU programming. I will personally answer your questions about this material, either privately or in a group discussion. If you are not satisfied, for any reason, you can get a full refund from Udemy within 30 days. No questions asked. But I am confident you won't need to. I stand behind this course 100% and am committed to helping you.Learning order of FastBit Embedded Brain Academy Courses,If you are a beginner in the field of embedded systems, then you can take our courses in the below-mentioned order.This is just a recommendation from the instructor for beginners.1) Microcontroller Embedded C Programming: absolute beginners(Embedded C)2) Embedded Systems Programming on ARM Cortex-M3/M4 Processor(ARM Cortex M4 Processor specific)3) Mastering Microcontroller with Embedded Driver Development(MCU1)4) Mastering Microcontroller: TIMERS, PWM, CAN, RTC,LOW POWER(MCU2)5) Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL(MCU3)6) Embedded System Design using UML State Machines(State machine)7) Mastering RTOS: Hands-on FreeRTOS and STM32Fx with Debugging(RTOS)8) ARM Cortex M Microcontroller DMA Programming Demystified(DMA)9) STM32Fx Microcontroller Custom Bootloader Development(Bootloader)10) Embedded Linux Step by Step using Beaglebone Black(Linux)11) Linux device driver programming using Beaglebone Black(LDD1) Overview Section 1: Notes and Information Lecture 1 About the instructor Lecture 2 Important Note Lecture 3 What is this course all about ?? Lecture 4 Source Code and Slides Lecture 5 Rating and Review Section 2: Development board used in our courses Lecture 6 About MCU Development board Section 3: Hardware/Software Requirements Lecture 7 Hardware/Software Requirements Section 4: IDE installation Lecture 8 Downloading STM32CUBEIDE Lecture 9 Installation-Windows Lecture 10 Installation-Ubuntu Lecture 11 Embedded Target Lecture 12 Documents required Section 5: Creating a project using STM32CUBEIDE Lecture 13 Creating Hello-World project Lecture 14 SWV working principle Lecture 15 Testing Hello-World through SWV Lecture 16 OpenOCD and Semihosting to use printf Section 6: Embedded Code Debugging Tips and tricks Lecture 17 Debugging options Lecture 18 Single stepping Lecture 19 Disassembly and Register windows Lecture 20 Breakpoints Lecture 21 Expression and variable windows Lecture 22 Memory browser windows Lecture 23 Call stack and fault analyzers Lecture 24 Data watch-points Lecture 25 SFR windows Lecture 26 Other basic features of IDE Section 7: Understanding MCU Memory Map Lecture 27 Understanding Memory Map of the MCU: Part 1 Lecture 28 Understanding Memory Map of the MCU: Part 2 Lecture 29 Understanding Memory Map of the MCU: Part 3 Section 8: MCU Bus Interfaces Lecture 30 MCU Bus Interfaces Explanation Part 1: I-Code/D-Code/S-Bus Lecture 31 MCU Bus Interfaces Explanation Part 2: AHB/APB1/APB2 Lecture 32 MCU Bus Interfaces Explanation Part 3: Q/A session Lecture 33 Understanding MCU Bus Matrix Section 9: Understanding MCU Clocks and Details Lecture 34 Understanding MCU Clocking System:Part1 Section 10: Understanding MCU Clock tree Lecture 35 Understanding MCU clock sources and HSE Lecture 36 HSI and RCC registers Lecture 37 Peripheral clock configuration Lecture 38 Exercise : HSI measurements Lecture 39 About USB logic analyzer Lecture 40 Code implementation Lecture 41 Exercise : HSE measurements Section 11: Understanding MCU Vector table Lecture 42 Understanding MCU Vector Table Section 12: Understanding MCU interrupt Design , NVIC, Interrupt handling Lecture 43 Understanding MCU interrupt Design , NVIC, Interrupt handling: Part 1 Lecture 44 Understanding MCU interrupt Design , NVIC, Interrupt handling: Part 2 Lecture 45 Understanding MCU interrupt Design , NVIC, Interrupt handling: Part 3 Section 13: Importance of "Volatile" Keyword Lecture 46 Importance of "Volatile" Keyword: Part-1 Lecture 47 Importance of "Volatile" Keyword-Part 2 Section 14: GPIO Must know concepts Lecture 48 GPIO pin and GPIO port Lecture 49 GPIO behind the scene Lecture 50 GPIO input mode with high impedance state Lecture 51 GPIO input mode with pull-up/down state Lecture 52 GPIO output mode with open drain state Lecture 53 GPIO output mode with push pull state Lecture 54 Optimizing I/O power consumption Section 15: GPIO Programming structure and Registers Lecture 55 GPIO programming structure Lecture 56 Exploring GPIO PORT and pins of STM32F4xx Discovery board Lecture 57 GPIO Mode register(used to set mode for a pin) Lecture 58 Input configuration of a Microcontroller's GPIO Pin Lecture 59 Output Configuration of a GPIO Pin in Push pull mode Lecture 60 Output Configuration of a GPIO Pin in open drain mode Lecture 61 Input stage of a GPIO pin during output configuration Lecture 62 Alternate functionality Configuration of a GPIO pin Lecture 63 GPIO out put type register explanation Section 16: GPIO Registers : SPEED, PULL UP/DOWN, IDR and ODR Lecture 64 GPIO output speed register and its applicability Lecture 65 GPIO Pull up and Pull down register Lecture 66 GPIO input data register Lecture 67 GPIO output data register and summary of various modes discussed Section 17: GPIO Alternate functionality register and example of usage Lecture 68 Alternate functionality settings of a GPIO pin with example : Part 1 Lecture 69 Alternate functionality settings of a GPIO pin with example : Part 1 Lecture 70 Request for Review Section 18: GPIO peripheral clock control Lecture 71 Enabling and disabling GPIO peripheral clock Section 19: GPIO driver development overview and Project creation Lecture 72 GPIO driver development overview Lecture 73 MCU Specific header file and its contents Lecture 74 New project creation and creating MCU specific headerfile Lecture 75 Include path settings Lecture 76 Important note on IDE usage Section 20: Updating MCU specific header file with bus domain and peripheral details Lecture 77 Writing base address C macros for MCU's embedded memories : Part 1 Lecture 78 Writing base address C macros for MCU's embedded memories : Part 2 Lecture 79 Defining base addresses of different bus domains Lecture 80 Defining base addresses of AHB1 Peripherals Lecture 81 Defining base addresses of APB1 and APB2 Peripherals Lecture 82 Defining base addresses conclusion Section 21: Structuring peripheral registers Lecture 83 Address of peripheral registers Lecture 84 Structuring peripheral registers Lecture 85 Peripheral definition macros Section 22: Writing Clock enable and disable macros Lecture 86 Writing peripheral clock enable and disable C Macros Lecture 87 Project include settings and build Section 23: GPIO driver API requirements and handle structure Lecture 88 Creating GPIO driver header and source file Lecture 89 Defining GPIO handle and configuration structure Lecture 90 Driver API requirements and adding API prototypes Lecture 91 Driver API input parameters and return types Lecture 92 Driver empty API implementation and documentation Section 24: GPIO driver API Implementation : Clock control Lecture 93 Implementation of GPIO peripheral clock control API Section 25: GPIO driver API Implementation : GPIO init and de-init Lecture 94 Writing user configurable macros Lecture 95 Implementation of GPIO init API Lecture 96 Implementation of GPIO init API contd. Lecture 97 Configuring Alternate function registers Lecture 98 GPIO de-init API implementation Section 26: GPIO driver API Implementation : GPIO data read and write Lecture 99 Implementation of GPIO input port read and input pin read APIs Lecture 100 Implementation of GPIO output port write and output pin write APIs Lecture 101 Implementation of GPIO pin toggle API Section 27: Exercise Lecture 102 Exercise : LED toggling with PUSH PULL configuration Lecture 103 Exercise : LED toggling with OPEN DRAIN configuration Lecture 104 Exercise : Handling on board LED and Button Lecture 105 Exercise : Connecting external button and circuit explanation Lecture 106 Exercise : Testing button interface Lecture 107 Exercise : Button interrupt introduction Section 28: GPIO pin Interrupt configuration Lecture 108 GPIO pin Interrupt configuration coding : Part 1 Lecture 109 GPIO pin Interrupt configuration coding : Part 2 Lecture 110 GPIO pin Interrupt configuration coding : Part 3 Lecture 111 GPIO pin Interrupt configuration coding : Part 4 Lecture 112 GPIO pin Interrupt configuration coding : Part 5 Lecture 113 GPIO pin Interrupt configuration coding : Part 6 Lecture 114 GPIO pin Interrupt configuration coding : Part 7 Section 29: Exercise : GPIO interrupts Lecture 115 Exercise : External button interrupt implementation Lecture 116 Exercise : Debugging the application : Part 1 Lecture 117 Exercise : Debugging the application : Part 2 Section 30: MCU I/O Pin specifications Lecture 118 STM32 Pin specifications Lecture 119 Pin current characteristics Lecture 120 Logic levels Section 31: SPI introduction and bus details Lecture 121 Introduction to SPI Bus Lecture 122 SPI comparison with other protocols Lecture 123 Importance of SPI slave select pin Lecture 124 SPI Minimum bus configuration Lecture 125 SPI behind the scene data communication principle Section 32: SPI bus configuration and functional block diagram Lecture 126 SPI bus configuration discussion : full duplex, half duplex and simplex Lecture 127 SPI functional block diagram explanation Section 33: STM32 NSS pin settings and management Lecture 128 NSS settings in STM32 master and slave modes Lecture 129 STM32 SPI hardware and software slave managements Section 34: SPI CPOL and CPHA discussion Lecture 130 SPI CPOL and CPHA discussion Lecture 131 SPI CPOL and CPHA waveform example Section 35: SPI serial clock discussion Lecture 132 SPI peripherals of your Microcontroller Lecture 133 SPI Serial clock frequency Section 36: SPI Driver : API requirements and configuration structure Lecture 134 SPI API requirements and configuration items Lecture 135 updating MCU specific header file with SPI related details Lecture 136 SPI adding API prototypes to driver header file Section 37: SPI Driver API Implementation : Clock control Lecture 137 Implementation of SPI peripheral clock control API Section 38: SPI Driver API Implementation : SPI init Lecture 138 SPI user configuration options writing and register bit definition macros Lecture 139 Implementation of SPI init API : Part 1 Lecture 140 Implementation of SPI init API : Part 2 Section 39: SPI Driver API Implementation : Send Data Lecture 141 Implementation of SPI send data API : Part 1 Lecture 142 Implementation of SPI send data API : Part 2 Lecture 143 Implementation of SPI send data API : Part 3 Lecture 144 Implementation of SPI send data API : Part 4 Section 40: Exercise : SPI Send Data Lecture 145 Exercise to test SPI Send Data API Lecture 146 Finding out microcontroller pins to communicate over SPI2 Lecture 147 Exercise : Code implementation : Part 1 Lecture 148 Exercise : Code implementation : Part 2 Lecture 149 Exercise : Code implementation : Part 3 Lecture 150 Exercise : Testing Section 41: Exercise : STM32 master and Arduino Slave communication Lecture 151 Exercise : Communicating with Arduino slave Lecture 152 Exercise : Coding Part 1 Lecture 153 Exercise : Coding Part 2 Professionals interested in exploring Embedded systems,Hobbyists and students who want to start their career in Embedded world,If you think about 'embedded' then think about taking this course. you will not be disappointe,This Course may not be suitable for those people who are looking for quick prototyping using boards such as ArduinoRapidGatorhttps://rapidgator.net/file/17bdb5bcbd5784aa35d52762272f9c31/yxusj.Udemy.-.Mastering.Microcontroller.and.Embedded.Driver.Development.part1.rarhttps://rapidgator.net/file/f3c18d21d410466e0c1ada0ec0f1f2ab/yxusj.Udemy.-.Mastering.Microcontroller.and.Embedded.Driver.Development.part2.rarhttps://rapidgator.net/file/4076d2dd3988eca66071fe62f486f07f/yxusj.Udemy.-.Mastering.Microcontroller.and.Embedded.Driver.Development.part3.rarhttps://rapidgator.net/file/dffa4eb7fdf1f3fea4c480f97417b9e4/yxusj.Udemy.-.Mastering.Microcontroller.and.Embedded.Driver.Development.part4.rarhttps://rapidgator.net/file/7002eb58f88bc3f87df824ad557fe09d/yxusj.Udemy.-.Mastering.Microcontroller.and.Embedded.Driver.Development.part5.rarNitroFlarehttps://nitroflare.com/view/3F0EF30EB767BE4/yxusj.Udemy.-.Mastering.Microcontroller.and.Embedded.Driver.Development.part1.rarhttps://nitroflare.com/view/8DB145DDAA1F8B2/yxusj.Udemy.-.Mastering.Microcontroller.and.Embedded.Driver.Development.part2.rarhttps://nitroflare.com/view/D69928DDFF24DEA/yxusj.Udemy.-.Mastering.Microcontroller.and.Embedded.Driver.Development.part3.rarhttps://nitroflare.com/view/4F185E2DB7B2547/yxusj.Udemy.-.Mastering.Microcontroller.and.Embedded.Driver.Development.part4.rarhttps://nitroflare.com/view/AB6BF4975BC1E1B/yxusj.Udemy.-.Mastering.Microcontroller.and.Embedded.Driver.Development.part5.rarDDownloadhttps://ddownload.com/p4s04hflixyr/yxusj.Udemy.-.Mastering.Microcontroller.and.Embedded.Driver.Development.part1.rarhttps://ddownload.com/n1zd81ddf30y/yxusj.Udemy.-.Mastering.Microcontroller.and.Embedded.Driver.Development.part2.rarhttps://ddownload.com/mpptd5vuozb8/yxusj.Udemy.-.Mastering.Microcontroller.and.Embedded.Driver.Development.part3.rarhttps://ddownload.com/v5a2e58tqzmz/yxusj.Udemy.-.Mastering.Microcontroller.and.Embedded.Driver.Development.part4.rarhttps://ddownload.com/bfsj9qp73d7e/yxusj.Udemy.-.Mastering.Microcontroller.and.Embedded.Driver.Development.part5.rar Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now