Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

ARM Cortex M Microcontroller DMA Programming Demystified

Lập Trình DMA Trên Vi Điều Khiển ARM Cortex M - Giải Mã Mọi Thứ

Lập Trình DMA Trên Vi Điều Khiển ARM Cortex M - Giải Mã Mọi Thứ

Giải Mã Truy Cập Bộ Nhớ Trực Tiếp (DMA) với Ngoại Vi STM32 (ADC, SRAM, UART, M2M, M2P, P2M) và Bài Tập Code Embedded C

4.7
(1,537 đánh giá)
13,381 học viên
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 579.000đ -91%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
10.0 giờ video
84 bài giảng
2 bài quiz
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 18/07/2026

Bạn sẽ học được gì

Hãy xem video học thử miễn phí, bạn sẽ học được điều gì đó ngay hôm nay mà không cần đăng ký khóa học
Kiến Thức Cơ Bản Về Truy Cập Bộ Nhớ Trực Tiếp (DMA) Trong Vi Điều Khiển
Kiến Trúc Vi Điều Khiển và Các Giao Diện Bus
Ma Trận Bus của MCU dựa trên ARM Cortex M
Truy Cập Dữ Liệu Đồng Thời Từ ARM và DMA
Cấu Hình Điều Khiển DMA Như Kích Thước Burst, FIFO, Căn Chỉnh
Cấu Trúc Bên Trong và Giao Diện Bus Của Bộ Điều Khiển DMA
Các Kênh, Luồng và Độ Ưu Tiên Của Bộ Điều Khiển DMA
Truyền Dữ Liệu Bộ Nhớ Sang Bộ Nhớ (M2M) Sử Dụng DMA và Bài Tập
DMA Từ Ngoại Vi Sang Bộ Nhớ (P2M) và Từ Bộ Nhớ Sang Ngoại Vi (M2P) - Bài Tập Lập Trình
Cấu Hình DMA Cho Ngoại Vi
Ngắt DMA và Xử Lý Ngắt Của Bộ Điều Khiển
Gỡ Lỗi (Debugging)

Yêu cầu

Kiến thức cơ bản về C và Vi điều khiển sẽ là lợi thế nhưng không bắt buộc
Tư Duy Cởi Mở Với Những Ý Tưởng và Lập Luận Mới

Đối tượng phù hợp

Chuyên Gia Muốn Khám Phá Hệ Thống Nhúng
Người Đam Mê và Sinh Viên Muốn Bắt Đầu Sự Nghiệp Trong Lĩnh Vực Nhúng
Nếu bạn nghĩ về 'embedded', hãy nghĩ đến việc tham gia khóa học này. Bạn sẽ không thất vọng

Nội dung khóa học

13 phần • 80 bài giảng
1 Về Giảng Viên
2 Tổng Quan Khóa Học
3 Câu Hỏi Thường Gặp (FAQ)
4 Mã Nguồn
5 Lưu Ý Quan Trọng
6 Giới Thiệu DMA: Giao Tiếp Master – Slave
7 Hiểu Sơ Đồ Khối MCU
8 Hiểu Ma Trận Bus Multi AHB
9 Truyền Dữ Liệu Đồng Thời Sử Dụng ARM và DMA
10 Minh Họa: Truyền Dữ Liệu Đồng Thời Sử Dụng ARM và DMA
11 Minh Họa: Truyền Dữ Liệu Đồng Thời Sử Dụng ARM và DMA (Tiếp Theo)
1 Lưu Ý Cho Học Viên
2 Về Board Phát Triển MCU
3 Chi Tiết Board: STM32F4 Discovery và Nucleo
4 Cài Đặt Driver ST-Link
5 Nâng Cấp Firmware ST Link
1 Lưu Ý Cho Học Viên
2 Cài Đặt KEIL-MDK-5
3 Cài Đặt KEIL-MDK-5 (Tiếp Theo)
4 Cài Đặt Gói (Pack) KEIL-MDK-5
5 Tìm File Cài Đặt Gói
6 Tạo Dự Án KEIL
7 Bài Tập: Ứng Dụng Bật/Tắt LED Sử Dụng Board BSP APIs
8 Bài Tập: Ứng Dụng Bật/Tắt LED Sử Dụng Board BSP APIs - Nucleo
9 Bài Tập: Thêm Hỗ Trợ Nút Bấm Sử Dụng Board BSP APIs (Nucleo)
1 Tải Xuống OpenSTM32 System-Workbench
2 Cài Đặt OpenSTM32 System-Workbench
1 Lưu Ý Cho Học Viên
2 Cài Đặt STM32CubeMX
3 Tạo Dự Án Sử Dụng STM32CubeMX Phần 1
4 Tạo Dự Án Sử Dụng STM32CubeMX Phần 2
5 Tạo Dự Án Sử Dụng STM32CubeMX Phần 3
6 Tạo Dự Án Sử Dụng STM32CubeMX Phần 4
1 Lập Trình DMA: Các Bước Chung Cần Làm Theo
2 Bật/Tắt LED Sử Dụng DMA (Chế Độ Polling) - Phần 1
3 Bật/Tắt LED Sử Dụng DMA (Chế Độ Polling) - Phần 2
4 Bật/Tắt LED Sử Dụng DMA (Chế Độ Polling) - Phần 3
5 Bật/Tắt LED Sử Dụng DMA (Chế Độ Polling) - Phần 4
6 Bật/Tắt LED Sử Dụng DMA (Chế Độ Ngắt) - Phần 1
7 Bật/Tắt LED Sử Dụng DMA (Chế Độ Ngắt) - Phần 2
1 Tổng Quan: Truyền Dữ Liệu Từ UART Sang SRAM Sử Dụng DMA (Chế Độ Ngắt)
2 Triển Khai: Truyền Dữ Liệu Từ UART Sang SRAM Sử Dụng DMA (Chế Độ Ngắt)
3 Truyền Dữ Liệu Từ UART Sang SRAM Sử Dụng DMA (Chế Độ Ngắt) - Tiếp Theo
1 Các Cổng Master và Slave Của DMA
2 Các Luồng (Streams) DMA
3 Ánh Xạ Kênh DMA
4 Nghiên Cứu Tình Huống Ánh Xạ Kênh DMA 1: P2M
5 Nghiên Cứu Tình Huống Ánh Xạ Kênh DMA 2: M2M, M2P
1 Tổng Quan Bài Tập: ADC Sang SRAM
2 Cài Đặt Cấu Hình ADC và DMA
3 Hiểu Code ADC và DMA - Phần 1
4 Hiểu Code ADC và DMA - Phần 2
1 Bộ Phân Giải (Arbiter) và Độ Ưu Tiên Luồng DMA (Tiếp)
1 Truyền Dữ Liệu P2M
2 Truyền Dữ Liệu M2P
3 Bài Tập DMA: SRAM Sang UART2_TX Phần 1
4 Bài Tập DMA: SRAM Sang UART2_TX Phần 2
1 Giới Thiệu
2 Truyền Dữ Liệu M2P: Tạo Dự Án
3 Các Bước Khởi Tạo Nút Bấm Để Nhận Ngắt
4 Viết Code Khởi Tạo Nút Bấm Phần 1
5 Viết Code Khởi Tạo Nút Bấm Phần 2
6 Viết Code Khởi Tạo Nút Bấm Phần 3
7 Triển Khai Trình Xử Lý Ngắt Cho Nút Bấm
8 Thảo Luận Các Bước Cấu Hình Ngoại Vi UART
9 Cài Đặt Cấu Hình PINMUX Cho UART
10 Code Để Đưa Chức Năng TX RX Của UART Ra Chân GPIO
11 Thiết Lập Baudrate và Cấu Hình Các Tham Số UART
12 Kiểm Tra Giao Tiếp UART
13 Động Não Các Bước Khởi Tạo DMA
14 Xác Định Luồng DMA
15 Cấu Hình Hướng và Độ Rộng Dữ Liệu Cho Luồng DMA
16 Cấu Hình Lựa Chọn Kênh
17 Kiểm Tra Với Yêu Cầu DMA Từ UART TX
18 Thảo Luận Về Ngắt (IRQ) Luồng DMA Phần 1
19 Thảo Luận Về Ngắt (IRQ) Luồng DMA Phần 2
20 Viết Code Trình Xử Lý Ngắt (IRQ) Luồng DMA: Phần 1
21 Viết Code Trình Xử Lý Ngắt (IRQ) Luồng DMA: Phần 2
22 Lưu Ý Cho Học Viên
1 BÀI GIẢNG BỔ SUNG

Giới thiệu khóa học

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 interfaces

2) MCU Master and Slave communication over bus matrix

3) DMA internals: channel mapping / streams/ fifo /Master ports / Arbiter/etc

4) DMA different transfer modes: M2P, P2M,M2M

5) 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 board

you 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 course

Description:

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 courses

1) Master The Rust Programming Language : Beginner To Advanced

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Arm Cortex M
Hiển thị tất cả khoá học Embedded Systems
Hiển thị tất cả khoá học Microcontroller Programming
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊