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

ARM GNU Assembly Programming From Ground Up™

ARM GNU Assembly Programming From Ground Up™ – Lập trình Assembly ARM GNU từ Cơ bản đến Nâng cao™

ARM GNU Assembly Programming From Ground Up™ – Lập trình Assembly ARM GNU từ Cơ bản đến Nâng cao™

Assembly Language : ADC, UART, GPTM, SYSTICK, FIFOs, State Machines, Peripheral Driver Development, Algorithms etc. – Hợp ngữ: ADC, UART, GPTM, SYSTICK, FIFO, Máy trạng thái, Phát triển Driver ngoại vi, Thuật toán,...

4.6
(115 đánh giá)
1,402 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đ 1.479.000đ -97%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
15.5 giờ video
116 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 31/05/2026

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

Master the ARM Instruction Set – Nắm vững tập lệnh ARM
Master the Thumb and Thumb-2 Instruction Sets – Nắm vững tập lệnh Thumb và Thumb-2
Write Complex programs in Assembly Language – Viết chương trình phức tạp bằng Hợp ngữ
Implement State Machines in Assembly Language – Triển khai Máy trạng thái bằng Hợp ngữ
Implement Data Structures in Assembly Language – Triển khai Cấu trúc dữ liệu bằng Hợp ngữ
Write ADC Drivers in Assembly Language – Viết Driver ADC bằng Hợp ngữ
Write UART Drivers in Assembly Language – Viết Driver UART bằng Hợp ngữ
Write GPTM Drivers in Assembly Language – Viết Driver GPTM bằng Hợp ngữ
Write GPIO Drivers in Assembly Language – Viết Driver GPIO bằng Hợp ngữ

Yêu cầu

No programming experience needed - I'll teach you everything you need to know – Không cần kinh nghiệm lập trình - Tôi sẽ dạy bạn mọi thứ cần biết
No paid software required - all assembly programs will be created in STM32CubeIDE (Free, Eclipse-based) – Không cần phần mềm trả phí - tất cả chương trình hợp ngữ đều được tạo trong STM32CubeIDE (Miễn phí, nền tảng Eclipse)
I'll walk you through, step-by-step how download and install STM32CubeIDE – Tôi sẽ hướng dẫn bạn từng bước cách tải và cài đặt STM32CubeIDE
You will need the NUCLEO-F411 board for some of the practical lessons. – Bạn sẽ cần bo mạch NUCLEO-F411 cho một số bài thực hành.

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

If you are an absolute beginner to embedded programming, then take this course. – Nếu bạn hoàn toàn mới bắt đầu với lập trình nhúng, hãy tham gia khóa học này.
If you are a seasoned programmer, then take this course to to get up to speed with ARM architecture and assembly programming – Nếu bạn là lập trình viên giàu kinh nghiệm, hãy tham gia khóa học này để nhanh chóng nắm bắt kiến trúc ARM và lập trình hợp ngữ
If you are switching from other architectures such x86 to ARM then this is a fast-track way of doing it. You can get started straight away with the ARM Instruction Set. – Nếu bạn đang chuyển đổi từ các kiến trúc khác như x86 sang ARM, thì đây là cách nhanh chóng để làm điều đó. Bạn có thể bắt đầu ngay với Tập lệnh ARM.

Nội dung khóa học

16 phần • 116 bài giảng
1 Downloading our Integrated Development Environment (IDE) – Tải về Môi trường Phát triển Tích hợp (IDE)
2 Installing our Integrated Development Environment (IDE) – Cài đặt Môi trường Phát triển Tích hợp (IDE)
3 Programming : Writing a simple assembly program – Lập trình: Viết một chương trình hợp ngữ đơn giản
4 Programming : Writing a simple assembly program without a startup file – Lập trình: Viết một chương trình hợp ngữ đơn giản không có file khởi tạo
1 The Computing Device – Thiết bị máy tính
2 Number Systems – Hệ thống số
3 Translating Bits to Commands – Dịch bit thành lệnh
4 The RISC Design Philosophy – Triết lý thiết kế RISC
5 The ARM Design Philosophy – Triết lý thiết kế ARM
6 Von Nuemann and Harvard architecture – Kiến trúc Von Neumann và Harvard
7 ARM Cortex-M Registers – Thanh ghi ARM Cortex-M
8 ARM Cortex-M Vector Table – Bảng Vector ARM Cortex-M
1 The ARM,Thumb and Thumb-2 Instruction Sets – Tập lệnh ARM, Thumb và Thumb-2
2 Predefined Register Names – Tên thanh ghi được định nghĩa sẵn
3 Frequently used Directives – Các chỉ thị thường dùng
4 Overview of Binary Operators – Tổng quan về Toán tử nhị phân
5 Programming : Renaming Registers – Lập trình: Đổi tên thanh ghi
6 Programming : Allocating space in memory with the SPACE Directive – Lập trình: Cấp phát không gian trong bộ nhớ với Chỉ thị SPACE
7 Programming : Swapping Register Content – Lập trình: Hoán đổi nội dung thanh ghi
8 Source Code Download – Tải mã nguồn
1 Memory Demarcations – Phân vùng bộ nhớ
2 Frequently used Load/Store Instructions (Part I) – Lệnh Load/Store thường dùng (Phần I)
3 Frequently used Load/Store Instructions (Part II) – Lệnh Load/Store thường dùng (Phần II)
4 Notice about the next lesson – Lưu ý về bài học tiếp theo
5 Frequently used Load/Store Instructions (Part III) – Lệnh Load/Store thường dùng (Phần III)
6 Pre-Indexed Addressing – Định địa chỉ Pre-Indexed
7 Post-Indexed Addressing – Định địa chỉ Post-Indexed
8 Endianness – Thứ tự byte (Endianness)
9 Defining Memory Areas – Định nghĩa vùng nhớ
1 The Encoding of the MOV Instruction – Mã hóa của Lệnh MOV
2 Loading Constants with the LDR Instruction – Nạp hằng số bằng Lệnh LDR
3 Loading Constants with the MOVW and MOVT Instructions – Nạp hằng số bằng Lệnh MOVW và MOVT
4 Loading Labels with ADR, ADRL and LDR Instructions – Nạp nhãn bằng Lệnh ADR, ADRL và LDR
5 Programming : Solving a Simple Equation – Lập trình: Giải một phương trình đơn giản
6 Programming : Importing from C to Assembly – Lập trình: Nhập từ C sang Assembly
7 Programming : Exporting from Assembly to C – Lập trình: Xuất từ Assembly sang C
1 Flags – Cờ
2 The N and V Flags – Cờ N và V
3 The Z and C Flags – Cờ Z và C
4 Compare/Test Instructions – Lệnh So sánh/Kiểm tra
5 Overview of Boolean Operations – Tổng quan về Phép toán Boolean
6 Introduction to Shifts and Rotations – Giới thiệu về Dịch và Xoay
7 Understanding Logical Shifts – Hiểu về Dịch logic
8 Understanding Rotations – Hiểu về Xoay
9 Some Shift and Rotate Examples – Một số ví dụ về Dịch và Xoay
10 Overview Addition and Subtraction Instructions – Tổng quan về Lệnh Cộng và Trừ
11 Overview of Multiplication Instructions – Tổng quan về Lệnh Nhân
12 Multiplying by Constants – Nhân với hằng số
13 Overview of the Division Instruction – Tổng quan về Lệnh Chia
14 Bit Manipulation Instructions – Lệnh Thao tác Bit
15 Programming : Finding the Maximum Value in an Array – Lập trình: Tìm giá trị lớn nhất trong một mảng
16 Programming : Experimenting with the LSL Instruction – Lập trình: Thử nghiệm với Lệnh LSL
17 Programming : Adding Signed Numbers – Lập trình: Cộng số có dấu
18 Programming : Finding the Minimum Value in an Array – Lập trình: Tìm giá trị nhỏ nhất trong một mảng
19 Programming : Solving a More Complex Equation – Lập trình: Giải một phương trình phức tạp hơn
20 Programming : Performing Division by Subtraction – Lập trình: Thực hiện phép chia bằng phép trừ
1 Introduction to Branches and Loops – Giới thiệu về Rẽ nhánh và Vòng lặp
2 Branching – Rẽ nhánh
3 Compare and Branch – So sánh và Rẽ nhánh
4 Loops in Assembly – Vòng lặp trong Assembly
5 Conditional Execution – Thực thi có điều kiện
6 The IF-THEN Block – Khối IF-THEN
7 Programming : Computing the Factorial of a Number using the IF-THEN Block – Lập trình: Tính giai thừa của một số bằng khối IF-THEN
1 Introduction to the Stack – Giới thiệu về Stack
2 The LDM and STM Instructions – Lệnh LDM và STM
3 Syntax of the PUSH and POP Instructions – Cú pháp của Lệnh PUSH và POP
4 Programming : Pushing and Popping a Stack – Lập trình: Push và Pop một Stack
1 Overview of ARM Cortex-M General Purpose Input/Output Module – Tổng quan về Module GPIO ARM Cortex-M
2 Getting the right Documentation – Lấy tài liệu phù hợp
3 Programming : Analyzing the Chip's Memory Map – Lập trình: Phân tích Bản đồ bộ nhớ của Chip
4 Programming : Defining Addresses for Registers – Lập trình: Định nghĩa địa chỉ cho các thanh ghi
5 Programming : Setting the Pin as an Output Pin – Lập trình: Thiết lập chân làm Chân đầu ra
6 Programming : Toggling a Pin using the Output Data Register (ODR) – Lập trình: Đảo trạng thái một chân bằng Thanh ghi Dữ liệu Đầu ra (ODR)
7 Programming : Toggling a Pin using the Bit Set /Reset Register (BSRR) – Lập trình: Đảo trạng thái một chân bằng Thanh ghi Set/Reset Bit (BSRR)
8 Programming : Defining Registers for Input Driver – Lập trình: Định nghĩa thanh ghi cho Driver đầu vào
9 Programming : Implementing the Input Driver – Lập trình: Triển khai Driver đầu vào
1 Introduction to Analog to Digital Conversion – Giới thiệu về Chuyển đổi Tương tự sang Số
2 Understanding ADC Independents Modes – Hiểu về các Chế độ Độc lập của ADC
3 Programming : Planning the Project – Lập trình: Lên kế hoạch dự án
4 Programming : Implementing the Initialization Function – Lập trình: Triển khai Hàm khởi tạo
5 Programming: Implementing the ADC Read Function – Lập trình: Triển khai Hàm đọc ADC
6 Programming : Testing the ADC Driver – Lập trình: Kiểm tra Driver ADC
1 Overview of the UART Protocol – Tổng quan về Giao thức UART
2 Programming : Planning the Project – Lập trình: Lên kế hoạch dự án
3 Programming : Configuring the GPIO Pins for the UART – Lập trình: Cấu hình chân GPIO cho UART
4 Programming : Configuring the UART Parameters – Lập trình: Cấu hình tham số UART
5 Programming : Sending Characters – Lập trình: Gửi ký tự
6 Programming : Retargeting Printf – Lập trình: Định tuyến lại Printf
7 Programming : Developing the UART RX Driver – Lập trình: Phát triển Driver UART RX
1 Overview of the System Tick Timer – Tổng quan về Timer Systick
2 Programming : Implementing the Initialization Function – Lập trình: Triển khai Hàm khởi tạo
3 Programming : Implementing the Delay Function – Lập trình: Triển khai Hàm trễ
4 Programming : Implementing Milliseconds Delay – Lập trình: Triển khai trễ mili giây
1 Overview of General Purpose Timers – Tổng quan về Timer Đa năng
2 Programming : Planning the Project – Lập trình: Lên kế hoạch dự án
3 Programming : Implementing the Initialization Function – Lập trình: Triển khai Hàm khởi tạo
4 Programming : Testing the Driver – Lập trình: Kiểm tra Driver
1 Introduction to FIFOs – Giới thiệu về FIFO
2 Notice – Lưu ý
3 [OPTIONAL] Implementing the FIFO in C (Part I) – [TÙY CHỌN] Triển khai FIFO trong C (Phần I)
4 [OPTIONAL] Implementing the FIFO in C (Part II) – [TÙY CHỌN] Triển khai FIFO trong C (Phần II)
5 Programming : Implementing the Initialization Function – Lập trình: Triển khai Hàm khởi tạo
6 Programming : Implementing the FIO Put Function – Lập trình: Triển khai Hàm Put của FIFO
7 Programming : Implementing the FIO Get Function – Lập trình: Triển khai Hàm Get của FIFO
8 Programming : Implementing the FIO Size Function – Lập trình: Triển khai Hàm Size của FIFO
9 Programming : Testing the FIFO – Lập trình: Kiểm tra FIFO
1 Introduction to Moore and Mealy FSM – Giới thiệu về FSM Moore và Mealy
2 Designing Traffic Light System using Moore FSM – Thiết kế Hệ thống đèn giao thông bằng FSM Moore
3 Notice – Lưu ý
4 [OPTIONAL] Implementing a Traffic Light System using Moore FSM (Part I) – [TÙY CHỌN] Triển khai Hệ thống đèn giao thông bằng FSM Moore (Phần I)
5 [OPTIONAL] Implementing a Traffic Light System using Moore FSM in C (Part II) – [TÙY CHỌN] Triển khai Hệ thống đèn giao thông bằng FSM Moore trong C (Phần II)
6 [OPTIONAL] Implementing Moore FSM using Pointers – [TÙY CHỌN] Triển khai FSM Moore bằng Con trỏ
7 Programming : Configuring the Required Pins – Lập trình: Cấu hình các chân cần thiết
8 Programming : Implementing the State Machine – Lập trình: Triển khai Máy trạng thái
9 Programming : Testing the State Machine – Lập trình: Kiểm tra Máy trạng thái
1 Closing Remarks – Lời kết

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

Welcome to the ARM GNU Assembly Programming From Ground Up™  course.

This is the GNU version of the popular ARM Assembly Programming From Ground Up™ 1 &2 courses. This version of the courses use the platform agnostic GNU syntax supported by the GNU assembler (as).


Unlike the ARM Assembly Programming From Ground Up™ 1 &2 courses which use Keil uVision which available on the Windows operating system only, the  ARM GNU Assembly Programming From Ground Up™  course teaches you how to write assembly programs for the GNU assembler which is available on Windows, OSX and Linux.


Covering ARM Systems Design, Architecture and Practical Assembly Programming,  this is the most comprehensive ARM assembly course online.


I'll take you step-by-step through engaging and fun video tutorials and teach you everything you need to know to succeed as an ARM embedded developer.


By the end of this course you will master the ARM Instruction Set, the Thumb Instruction Set and the Thumb-2 Instruction Set. You will be able to create data structures such as FIFOs in assembly. You will also be able to create Finite  State Machines such as the Moore Machine using only assembly code. 


Furthermore, this course teaches 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 ARM Assembly Language. You will be able to write peripheral drivers in assembly-ADC, UART, SYSTICK, GPIO, GPTM.


                                                                 Specially Designed For People Who Hate Copy/Paste

Listen. 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.



REMEMBER : I have no doubt you will love this course. Also it comes with a  FULL money back guarantee for 30 days!  So put simply, you really have nothing to loose and everything to gain.

Sign up and lets start writing some low level code.

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
Hiển thị tất cả khoá học Assembly Language
Hiển thị tất cả khoá học Embedded Systems
Hiển thị tất cả khoá học System Programming
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊