|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/microcontroller-dma-programming-fundamentals-to-advanced/
课程评论:没有评论
课程名称:ARM Cortex M微控制器DMA编程解密 课程概述: 本课程旨在揭示微控制器DMA控制器的内部原理及其与各种外设的编程。适合嵌入式系统和编程领域的初学者到中级学生。本课程通过对DMA各个方面的深入讨论,帮助学生理解微控制器的数据传输机制,提高他们在嵌入式应用中的自信心。 您将学习的主要内容包括: 1) 多个AHB总线矩阵和ARM Cortex M总线接口。 2) MCU主从设备在总线矩阵上的通信。 3) DMA内部结构:通道映射/流/ FIFO/主端口/仲裁器等。 4) DMA的不同传输模式:内存到外设(M2P)、外设到内存(P2M)以及内存到内存(M2M)。 5) DMA与外设(如ADC、GPIO、UART接收/发送等)的结合使用。 6) 从零开始的DMA编程,帮助您排查其他微控制器或处理器平台上的DMA问题。 7) 还会添加许多关于循环模式、突发传输、实时操作系统(RTOS)等的视频内容。 所用硬件: - STM32F446RE Nucleo64开发板,您也可以使用其他STM32开发板,如Discovery板、评估板或任何其他支持的板子。 所用软件: 1) KEIL MDK V5(免费版,适用于Windows) 2) Openstm32系统工作台(适用于Windows/Linux/Mac)(免费) 3) ST公司的CubeMx软件(免费) 课程描述: 本课程全面理解微控制器的直接内存访问控制器(DMA),以及如何在嵌入式应用中使用DMA。课程使用基于ARM Cortex M的STM32微控制器进行理论讨论和编码练习,您将在此过程中掌握DMA的基本概念,进而应用到其他微控制器上。 课程通过清晰、通用的解释和练习,帮助学生逐步掌握DMA相关知识。我们将讨论DMA的必要性及其对ARM数据传输工作的好处,学习不同类型的DMA传输及其配置,尤其对初学者和中级学生来说,本课程将显著提升您在嵌入式应用中成功使用DMA的能力。 若您是嵌入式系统领域的初学者,建议按下列顺序学习FastBit Embedded Brain Academy的课程: 1) 微控制器嵌入式C编程:绝对初学者(Embedded C) 2) ARM Cortex-M3/M4处理器的嵌入式系统编程 3) 微控制器及嵌入式驱动开发的精通 4) 微控制器精通:定时器、PWM、CAN、RTC、低功耗 5) 微控制器精通:STM32-LTDC、LCD-TFT、LVGL 6) 使用UML状态机的嵌入式系统设计 7) RTOS精通:动手实践FreeRTOS和STM32Fx调试 8) ARM Cortex M微控制器DMA编程解密 9) STM32Fx微控制器自定义引导程序开发 10) 使用Beaglebone Black逐步学习嵌入式Linux 11) 使用Beaglebone Black进行Linux设备驱动编程 其他编程课程: 1) 掌握Rust编程语言:从初级到高级
The course aims to demystify the Microcontroller DMA controller internals and its programming with various peripherals. Suitable for beginners to intermediate students in the field of Embedded Systems and programming. Please go through the description below to understand the course offering.Key things you learn,1) The Multi AHB bus matrix and ARM Cortex M Bus interfaces2) MCU Master and Slave communication over bus matrix3) DMA internals: channel mapping / streams/ fifo /Master ports / Arbiter/etc4) DMA different transfer modes: M2P, P2M,M2M5) DMA with peripherals like ADC, GPIO, UART_RX/TX and many other peripherals will be updated in this course.6) DMA programming from scratch. Helps you to troubleshoot DMA issues on other microcontroller or processor platforms. You can speculate and debug problems more quickly when you learn the hard way.7) And lots of other videos about circular mode/burst transfer /RTOS etc. will be added shortly.Hardware used:1) STM32F446RE Nucleo64 boardyou can also use other STM32 boards such as the discovery board, evaluation board, or any other board.Software used:1) KEIL MDK V5 (free version, for windows)2) Openstm32 system workbench ( windows/linux/mac) (free)3) CubeMx software from ST (free)The installation procedure is covered in the courseDescription:This course is all about understanding the Direct Memory Access Controller of the Micro-controller and how to use it in the embedded applications.The course uses ARM Cortex M based STM32 Micro-controller for all theory discussion and code exercises. The course discusses generic details of the DMA which you can leverage to other Micro-controllers but you have made changes to the code in order to run on your target if it's not an ST's 32-bit Micro-controller.The course will help you to raise your confidence in handling your MCU's DMA controller and connecting dots by going through the various levels of discussion.I really tried to simplify the subject with clean/generic explanations and exercises.We will discuss why DMA is required and how it benefits ARM to offload data transfer work with exercises.We will learn different types of DMA transfers like M2M, P2M, and M2P (M: Memory P: Peripheral) and various DMA configurations. Please go through "What will I learn?" section above.For the beginners/intermediate students, the course will indeed add huge advantage and helps to use DMA successfully in Embedded applications.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)Other programming courses1) Master The Rust Programming Language: Beginner To Advanced