STT | NỘI DUNG KHÓA HỌC | Thời lượng (h) |
PHẦN 1 | TỔNG QUAN VỀ KIẾN TRÚC ARM 1.1. Tổng quan về kiến trúc ARM 1.2. Giới thiệu KIT nhúng FriendlyArm Micro2440 1.3. Môi trường phát triển ứng dụng cho KIT Micro2440 1.4. Tìm hiểu sơ đồ mạch nguyên lý, cấu tạo của KIT Micro2440 1.5. Cài đặt hệ điều hành Ubuntu trên máy phát triển (Chuẩn bị trước) 1.6. Làm quen với các câu lệnh linux thường dùng | 2.5h |
PHẦN 2 | CÀI ĐẶT VÀ TÙY BIẾN HỆ ĐIỀU HÀNH NHÚNG LINUX 2.1. Tổng quan về hệ điều hành nhúng Linux 2.2. Quy trình cài đặt hệ điều hành nhúng Linux 2.3. Biên dịch nhân hệ điều hành nhúng Linux 2.4. Cài đặt hệ điều hành nhúng Linux cho KIT Micro2440 2.5. Tùy chỉnh và biên dịch nhân hệ điều hành | 2.5h |
PHẦN 3 | LẬP TRÌNH ỨNG DỤNG NHÚNG TRÊN LINUX 3.1. Môi trường phát triển ứng dụng nhúng trên Linux 3.2. Cài đặt môi trường phát triển 3.3. Lập trình ứng dụng HelloWorld 3.4 Cài đặt trình biên dịch chéo arm-linux-gcc, cấu hình biến môi trường 3.5 Viết ứng dụng đầu tiên HelloWorld, biên dịch và thực thi trên KIT 3.6 Sử dụng tham số chương trình từ dòng lệnh 3.7 Viết Makefile để biên dịch cho một project gồm nhiều file mã nguồn | 2.5h |
PHẦN 4 | LẬP TRÌNH VÀO RA CĂN BẢN TRÊN LINUX 4.1. Cơ chế lập trình giao tiếp thiết bị 4.2. Lập trình giao tiếp led đơn 4.3. Lập trình giao tiếp nút bấm 4.4. Lập trình giao tiếp GPIO sử dụng sysfs interface 4.5 Lập trình giao tiếp GPIO driver (đã có sẵn) gồm: 4.6 Chương trình điều khiển hiệu ứng led đơn 4.7 Chương trình giao tiếp (polling) nút bấm 4.8 Chương trình ghép nối led đơn và nút bấm 4.9 Lập trình giao tiếp GPIO mở rộng dùng giao diện sysfs (gpiolib), gồm: 4.10 Chương trình điều khiển hiệu ứng 7 led đơn, đếm trên led 7 thanh. 4.11 Chương trình giao tiếp nút bấm | 2.5h |
PHẦN 5 | LẬP TRÌNH VÀO RA NÂNG CAO 5.1. Giới thiệu về chuẩn RS232 5.2. Lập trình giao tiếp chuẩn RS232 5.3. Giới thiệu chuẩn USB 5.4. Lập trình giao tiếp USB Joystick trên Linux 5.5. Giới thiệu về cơ chế lập trình Device Driver 5.6 Lập trình giao tiếp chuẩn RS232 5.7 Lập trình giao tiếp thiết bị chuẩn usb joystick 5.8 Lập trình và cài đặt kernel module, device driver đơn giản | 2.5h |
PHẦN 6 | CÁC KỸ THUẬT LẬP TRÌNH NÂNG CAO 6.1. Tiến trình (Process) 6.2. Cơ chế liên lạc giữa các tiến trình 6.3. Luồng (Thread) 6.4. Lập trình ứng dụng đa luồng (multithreads) 6.5. Lập trình socket trên Linux 6.6 Bài tập lập trình tiến trình (process) đơn giản 6.7 Bài tập lập trình đa luồng (multithreads): tạo luồng, truyền tham số, … 6.8 Lập trình đa luồng cho ứng dụng giao tiếp led + nút bấm 6.9 Lập trình socket client/server | 2.5h |
PHẦN 7 | LẬP TRÌNH GIAO DIỆN ĐỒ HỌA TRÊN LINUX SỬ DỤNG NỀN TẢNG Qt 7.1. Tổng quan về Qt 7.2. Cài đặt môi trường phát triển ứng dụng Qt 7.3. Làm quen với lập trình Qt 7.4. Cơ chế signal và slot trong Qt 7.5 Cài đặt Qt SDK trên máy phát triển (Ubuntu) 7.6 Cài đặt Qt Everywhere trên KIT 7.7 Làm quen với lập trình Qt (Cú pháp C++) 7.8 Viết ứng dụng Qt đơn giản (sử dụng các điều khiển widgets): HelloQt, TextFinder | 2.5h |
PHẦN 8 | LẬP TRÌNH QT NÂNG CAO 8.1. Thiết kế giao diện, quản lý layout 8.2. Thư viện lập trình mạng trên Qt 8.3. Một số lớp thư viện Qt quan trọng 8.4. Lập trình ứng dụng ChatRoom đơn giản 8.5. Lập trình ứng dụng ImageTransfer 8.6 Viết ứng dụng BasicLayout: sử dụng các widgets và sắp xếp layout 8.7 Viết chương trình giao tiếp vào ra có giao diện Qt: LedPlayerQt, usb joystick Qt 8.8 Chương trình ChatRoom sử dụng thư viện lập trình mạng Qt 8.9 Chương trình ImageTransfer (gửi/nhận ảnh client/server) | 2.5h |
PHẦN 9 | GIAO ĐỀ TÀI, THỰC HIỆN ĐỀ TÀI & THI VÀ CẤP CHỨNG NHẬN CUỐI KHÓA Bài tập case study theo chủ đề (đăng ký chọn theo nhóm): 1. Lập trình giao tiếp ngoại vi nâng cao (rs232, usb device) 2. Lập trình mạng sử dụng thư viện Qt | 2.5h |