1. Trang chủ
  2. » Giáo án - Bài giảng

Bài Giảng Hệ Thống Nhúng ( Combo Full Slides 5 Chương )

334 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 334
Dung lượng 8,59 MB

Nội dung

Chng T˚ng quan v˚ h˚ nhúng (3T) 3. Vi (6T) Chng Thi˚tk˚ph˚nc˚ngh˚ 4. trình vi Chng i˚ukhi˚n nhúng Arm Linux (15T) Chng L˚p i˚ukhi˚n (12T) Chng H˚ B{i t˚p L˚p trình vi i˚u khi˚n mô ph˚ng Proteus Thí nghi˚m H˚ nhúng Arm Linux (03 b{i)

Môn học HỆ NHÚNG Giới thiệu môn học  Hệ nhúng IT4210 (3-0-1-6)  Thời lượng: 45 LT&BT + 15 TN  Yêu cầu kiến thức tảng: • Kiến trúc m|y tính • Vi xử lý • Lập trình C  Đ|nh gi|: 30% QT + 70% CK Nội dung Chương Tổng quan hệ nhúng (3T) Chương Thiết kế phần cứng hệ nhúng (6T) Chương Vi điều khiển (6T) Chương Lập trình vi điều khiển (12T) Chương Hệ nhúng Arm Linux (15T) B{i tập: Lập trình vi điều khiển, mơ Proteus Thí nghiệm: Hệ nhúng Arm Linux (03 b{i) Mục tiêu môn học  Nắm kiến trúc tổng quan, đặc điểm v{ hoạt động hệ nhúng  Biết thiết kế hệ nhúng (nguyên lý, mạch)  Nắm kiến trúc vi điều khiển  Biết lập trình vi điều khiển từ đến n}ng cao với c|c dòng vi điều khiển phổ biến  Nghiên cứu ph|t triển hệ nhúng ARM Linux với c|c giao tiếp v{o bản, n}ng cao, chế x}y dựng device driver  L{m quen với tảng lập trình Qt cho hệ nhúng ARM Linux T{i liệu tham khảo Books: • Architecture and Programming of 8051 Microcontrollers, Milan Verle • Embedded C, Micheal J.Pont, 2002 • Designing embedded hardware, John Catsoulis, 2005 • Introduction to Embedded Systems, Lee & Seshia, UC Berkeley, 2011 • Embedded Systems Architecture: A Comprehensive Guide for Engineers and Programmers, Tammy Noergaard • Linux Device Driver • C++ GUI programming with QT  Websites: • http://www.mikroe.com • https://sites.google.com/site/embedded247 • http://www.friendlyarm.net/ • http://qt-project.org  Chương Tổng quan hệ nhúng  1.1 Giới thiệu hệ nhúng  1.2 Đặc trưng hệ nhúng  1.3 Kiến trúc tổng quan hệ nhúng 1.1 Giới thiệu hệ nhúng Hệ nhúng (Embedded System) ?  Sự kết hợp phần cứng máy tính, phần mềm, cấu khí thành phần khác để thực chức chuyên biệt (Michael Barr, Programming Embedded System in C and C++)  Một ứng dụng chứa máy tính lập trình (thường vi điều khiển, vi xử lý, …) mà người sử dụng nhìn chung thường khơng nhận thức hệ thống dựa máy tính (Michael J Pont, Embedded C) Giới thiệu hệ nhúng  Embedded Systems (ES) = information processing systems embedded into a larger product Giới thiệu hệ nhúng  Sơ đồ khái quát hệ nhúng  C|c th{nh phần tạo nên hệ nhúng: • Bộ vi xử lý • Phần mềm nhớ chính, nằm chip với vi xử lý nằm ngo{i • Tất c|c hệ nhúng chứa v{i kiểu v{o Lĩnh vực ứng dụng  C|c ứng dụng hệ nhúng sử dụng rộng r~i thực tế: • Mobile phones • Automotive applications (in cars, aerospace, traffic…) • Domestic appliances (including dishwashers, televisions, washing machines, microwave ovens, video recorders, security systems, garage door controllers) • Medical equipment (drug delivery systems, MRI scanners) • Industrial equipment • v.v… 10 C{i đặt Qt SDK  Sau c{i đặt xong Qt SDK, công cụ Qt Creator cho phép ph|t triển ứng dụng với lựa chọn mặc định biên dịch m|y tính Linux  Để biên dịch chéo ứng dụng thực thi KIT FriendlyArm (Embedded Linux) cần c{i đặt Qt Everywhere  https://sites.google.com/site/embedded247/esco urse/qtinstall HungPN-HUST Embedded System 320 Cài đặt Qt Everywhere  Bước 1: Cài đặt QT Embedded (QT Everywhere) (Xem hướng dẫn chi tiết kèm theo)  Bước 2: Copy file thư viện cần thiết xuống KIT • thư viện quan trọng (VD: copy xuống thư mục /opt/qte/lib)  libQtCore.so.4  libQtGui.so.4  libQtNetwork.so.4 • Copy fonts vào thư mục /opt/qte/lib/fonts  Bước 3: Chỉnh file cấu hình /etc/init.d/rcS, tắt Qtopia để tránh tranh chấp HungPN-HUST Embedded System 321 Cấu hình trình dịch Qmake cho Kit  Bước 4: Tạo cấu hình biên dịch cho FriendlyARM, trỏ tới Qmake đ~ biên dịch HungPN-HUST Embedded System 322 Cấu hình trình dịch Qmake cho Kit  Bước 5: Dịch chương trình QT cho KIT • Chọn biên dịch Qmake cho QT Embedded HungPN-HUST Embedded System 323 5.4.3 Làm quen với lập trình QT     Sử dụng môi trường ph|t triển Qt Creator (IDE) Chương trình HelloQt Cơ chế Signals/Slot https://sites.google.com/site/embedded247/esco urse/helloqt HungPN-HUST Embedded System 324 Môi trường ph|t triển Qt Creator IDE HungPN-HUST Embedded System 325 C|c th{nh phần Qt Creator HungPN-HUST Embedded System 326 C|c điều khiển (widgets)         QLabel QPushButton QLineEdit QTextEdit QSpinBox QComboBox Qslider V.v… HungPN-HUST Embedded System 327 Chương trình HelloQt  Tạo project HelloQt  Trong file main.c bổ sung đoạn m~:  Biên dịch, chạy chương trình: #include #include int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel *label = new QLabel("Hello Qt!"); label->show(); return app.exec(); } HungPN-HUST Embedded System 328 Chương trình HelloQt  Giải thích ?  Sửa đoạn m~ với HTML style #include #include int main(int argc, char *argv[]) { QApplication app(argc, argv); //QLabel *label = new QLabel("Hello Qt!"); QLabel *label = new QLabel("Hello " "Qt!"); label->show(); return app.exec(); } HungPN-HUST Embedded System 329 Cơ chế signals - slot  Cơ chế event – handler  Xử lý c|c kiện (sự kiện tương t|c người dùng, kiện hệ thống)  Cho phép tạo c|c kết nối (connections) kiện (signals) với h{m xử lý (slot)  Có c|ch tạo: • Tạo tự động (wizard) • Tạo tay (manual, hand-code) HungPN-HUST Embedded System 330 Minh họa chế signals/slot  Tạo code (dùng phương thức Qobject::connect) HungPN-HUST Embedded System 331 Minh họa chế Signals/Slot  Tạo code connect(sender, SIGNAL(signal), receiver, SLOT(slot));  Trong đó: sender, receiver l{ trỏ Qobjects, signal v{ slot l{ c|c tên h{m khơng có tham số • Các macro SIGNAL() SLOT() biến đổi tham số thành string VD: đồng điều khiển slider v{ spinBox HungPN-HUST Embedded System 332 Minh họa chế Signals/Slot  Tạo tự động (wizard): chuột phải vào đối tượng muốn xử lý kiện, chọn Go to slot, tìm slot hàm xử lý kiện tương ứng muốn dùng HungPN-HUST Embedded System 333 Qt Documentations  Documentation in Qt Assistant (or QtCreator)  Qt’s examples  Qt website, forum: • http://qt-project.org/ • http://www.qtcentre.org • Qt C++ GUI tutorial (youtube) HungPN-HUST Embedded System 334

Ngày đăng: 05/11/2023, 10:53