Advanced Embedded Systems Bare-Metal Programming Ground Up

所在平台: Udemy

课程主页: https://www.udemy.com/course/embedded-systems-advance-bare-metal-programming/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:深入嵌入式系统裸机编程从基础到高级 课程概述:你是否厌倦了复制和粘贴你不理解的代码?本课程的目标是帮助你掌握裸机编程,特别是深入理解直接内存访问(DMA)外设。课程中超过50%的内容将专注于DMA,确保你在结束时精通这一外设。我们将开发以下裸机DMA驱动: - 内存到内存传输驱动 - ADC DMA常规转换驱动 - ADC DMA定时触发转换驱动 - UART RX/TX DMA驱动 - SPI RX/TX DMA驱动 - I2C RX/TX DMA驱动 - PWM DMA驱动 此外,课程还将解密实时钟(RTC)外设,涵盖其理论、能力,并开发以下驱动: - RTC日历驱动 - RTC报警驱动 - RTC时间戳驱动 - RTC窜扰检测驱动 我们还将深入学习看门狗定时器驱动的开发,理解为何任何嵌入式设备都应实现独立看门狗定时器(IWDG)。具体驱动包括: - 独立看门狗定时器驱动 - 窗口看门狗定时器驱动 了解如何将嵌入式设备置于低功耗模式并唤醒,将显著提高你开发节能嵌入式解决方案的能力。我们还会开发相关驱动: - 待机模式和唤醒引脚驱动 - 待机模式和RTC唤醒定时器驱动 调试艺术也是本课程的重点。通过掌握理论知识、功能和性能调试的技巧,以及各种工具和方法,你将能够有效解决固件中的各种问题。你将学习到的调试技巧包括: - 硬故障原因识别方法 - 捕获异常结果 - 使用定时器测量算法执行时间 - 使用逻辑分析仪测量算法执行时间 - 数组转储调试技巧 - 定时器调试技巧 该课程专为厌恶复制和粘贴的开发者设计,完全基于ARM Cortex-M微控制器,使用STMicroelectronics STM32F4-NUCLEO开发板,确保你能在实践中运用所学知识。此课程为世界著名的嵌入式系统裸机编程进阶课程,学习前需要修完基础课程。 该课程不仅教会你如何编写代码,更重要的是帮助你提升嵌入式开发技能,并自信地迈出下一步。课程已吸引8000多名学生,获得了1000多条好评,成为许多开发者的职业生涯转变的重要一步。

课程评论(0条)

课程详情

Are you tired of Copying and Pasting code you don't understand?Here's an overview of what you're getting in this advanced level course. Developing bare-metal DMA Drivers:This course completely demystifies the Direct Memory Access (DMA) peripheral. Over 50% of the course is spent on this topic, so that by the end of this course you would have mastered the DMA peripheral. We shall thoroughly look at developing the following bare-metal DMA drivers. - Bare-Metal DMA Memory-to-Memory Transfer Driver - Bare-Metal ADC DMA Regular Conversion Driver - Bare-Metal ADC DMA Timer Triggered Conversion Driver - Bare-Metal UART RX/TX DMA Driver - Bare-Metal SPI RX/TX DMA Driver - Bare-Metal I2C RX/TX DMA Driver - Bare-Metal PWM DMA DriverDeveloping bare-metal RTC Drivers:The Realtime Clock (RTC) peripheral is another advanced peripheral demystified in this course. We shall study the theory of realtime clocks, take a look at the capabilies of the realtime clock on our microcontroller and then develop the following drivers for the realtime clock. - Bare-Metal RTC Calendar Driver - Bare-Metal RTC Alarm Driver - Bare-Metal RTC Timestamp Driver - Bare-Metal RTC Tamper Detection DriverDeveloping bare-metal Watchdog Timer Drivers:Watchdog Timers are an essential component of any robust embedded device. In my opinion, no embedded device should be released onto the market without the implementation of an Independent Watchdog Timer (IWDG). You will understand why I hold this opinion in the course. In this course we shall develop the following Watchdog Timer drivers: - Bare-Metal Independent Watchdog (IWDG) Timer Driver - Bare-Metal Windowed Watchdog (WWDG) Timer DriverWorking with Standby Mode and Wakeup:Knowing how to put your embedded devics into Low-power mode and coming out of it will greatly improve your ability to developer power efficient embedded solutions. This course will teach you how to put your device into Standby mode and come out of it using different methods. Specifically, we shall develop the following drivers: - Bare-Metal Standby Mode and Wakeup Pin Driver - Bare-Metal Standby Mode and RTC Wakeup Timer DriverThe Art of Debugging:Knowing how to properly debug your firmware will save you lots of time and money, and may even prolong your life because of the level of frustration and stress you will avoid.In this course you shall grasp the theoretical aspects of debugging, understand the various types of debugging such functional debugging and performance debugging, and learn the various tools and methods used in different scenarios. Some of the techniques we you will master include: - Methods of identifying the cause of HardFault - Catching anomalous results - Measuring execution time of an algorithm using a Timer - Measuring execution time of an algorithm using a Logic Analyzer - Working with arrays dumps - Debugging techniques for TimersWith a programming based approach, this course is designed to give you a solid foundation in bare-metal firmware development for ARM-based microcontrollers. The goal of this course is to teach you how to navigate the microcontroller reference manual and datasheet to extract the right information to professionally build peripheral drivers and firmware. To achieve this goal, no libraries are used in this course, purely bare-metal embedded-c and register manipulations.Still keeping it simple, this course comes in different ARM Cortex-M development boards so that students can put the techniques to practice using an ARM Cortex-M development board of their choice. This version of the course uses the STMicroelectronics STM32F4-NUCLEO which has an ARM Cortex-M4 microcontoller.This is the Advanced level course for the world famous Embedded Systems Bare-Metal Programming Ground Up™ (STM32). You have to take the Embedded Systems Bare-Metal Programming Ground Up™ (STM32) before taking this courseSo with that understood, let me tell you… Exactly What You're GettingThis is dramatically different from any course you have ever taken because it's more of a professional hands-on "field guide" to stm32 bare metal firmware development.The reason why is because there's no fluff or filler. It immediately gets down to the actual subject, showing you exactly what to do, how to do it, and why.Plus, it's easy.And you'll immediately "get" the entire mythology I personally use to build firmware for consumer devices in my professional life. It's About MORE Than Just Getting the Code to WorkSee, this course will change your professional life forever. Here is what one student had to say about the Embedded Systems Bare-Metal Programming Ground Up™ (STM32) course: "I would suggest this course for all the beginners. The concepts have been covered in the right sequence.And also the best part of this lecture series is getting to know how to explore the reference manual and datasheets."Here is what another student had to say: "Extremly helpful to get to understand the uC programming deeper! For me it is much easier from now to develop code because I undertstand the base behind, so I'm more confident and more experienced to develop and debug the code. Really, this course is very useful to link the hardware knowledge with the coding skills. This fills the gap between them. Thanks for it!:)"A third student:"I am a professional semiconductor chipset application engineer with 30 years in global embedded product design in system applications. I can say this teacher is very straight forward by sharing his many years knowledge to the students with his true heart. Yes. I love his teaching pace and style!" Taken by 8000+ Students with 1000+ ReviewsIf at least one of the following applies to you then keep reading if not then simply skip this course:" Escape From "Copying/Pasting code you don't understandUsing third party libraries and header files like HAL, LL and StdPeriphExperiencing bugs you don't understandBeing afraid of technical documentations like the reference manual and datasheet of the chipImposter syndrome" Arrive At "Building every single line of code from scratch by writing to the microcontroller's memory space directly.Using No third party libraries or header filesUnderstanding and writing every single line of code yourself- no Copy/PasteUsing the debugger effectively to analyze and resolve any bugsDeveloping proficiency in your embedded development skills and confidently take the next stepsSo like I said, there's more than just getting each piece of code to work. Here's an overview of what you're getting in this advanced level course. Developing bare-metal DMA Drivers:This course completely demystifies the Direct Memory Access (DMA) peripheral. Over 50% of the course is spent on this topic, so that by the end of this course you would have mastered the DMA peripheral. We shall thoroughly look at developing the following bare-metal DMA drivers. - Bare-Metal DMA Memory-to-Memory Transfer Driver - Bare-Metal ADC DMA Regular Conversion Driver - Bare-Metal ADC DMA Timer Triggered Conversion Driver - Bare-Metal UART RX/TX DMA Driver - Bare-Metal SPI RX/TX DMA Driver - Bare-Metal I2C RX/TX DMA Driver - Bare-Metal PWM DMA DriverDeveloping bare-metal RTC Drivers:The Realtime Clock (RTC) peripheral is another advanced peripheral demystified in this course. We shall study the theory of realtime clocks, take a look at the capabilies of the realtime clock on our microcontroller and then develop the following drivers for the realtime clock. - Bare-Metal RTC Calendar Driver - Bare-Metal RTC Alarm Driver - Bare-Metal RTC Timestamp Driver - Bare-Metal RTC Tamper Detection DriverDeveloping bare-metal Watchdog Timer Drivers:Watchdog Timers are an essential component of any robust embedded device. In my opinion, no embedded device should be released onto the market without the implementation of an Independent Watchdog Timer (IWDG). You will understand why I hold this opinion in the course. In this course we shall develop the following Watchdog Timer drivers: - Bare-Metal Independent Watchdog (IWDG) Timer Driver - Bare-Metal Windowed Watchdog (WWDG) Timer DriverWorking with Standby Mode and Wakeup:Knowing how to put your embedded devices into Low-power mode and coming out of it will greatly improve your ability to developer power efficient embedded solutions. This course will teach you how to put your device into Standby mode and come out of it using different methods. Specifically, we shall develop the following drivers: - Bare-Metal Standby Mode and Wakeup Pin Driver - Bare-Metal Standby Mode and RTC Wakeup Timer DriverBut it gets better because you will also master....The Art of Debugging:Knowing how to properly debug your firmware will save you lots of time and money, and may even prolong your life because of the level of frustration and stress you will avoid.In this course you shall grasp the theoretical aspects of debugging, understand the various types of debugging such functional debugging and performance debugging, and learn the various tools and methods used in different scenarios. Some of the techniques we you will master include: - Methods of identifying the cause of HardFault - Catching anomalous results - Measuring execution time of an algorithm using a Timer - Measuring execution time of an algorithm using a Logic Analyzer - Working with arrays dumps - Debugging techniques for Timers Specially Designed For People Who Hate Copy/PasteListen. If you don't like "Copy/Paste" you're not alone. I can't stand it either. I'd literally rather have a piece of code that I wrote from scratch that doesn't work than someone else's working code I copied and pasted.And that's why I've spent months designing and recording this course in which I show you how to locate every single register used and the meaning of every hexadecimal value written into the register.Also it comes with a money back guarantee so you have nothing to lose.

课程标签

0人关注该课程

主题相关的课程