1. Trang chủ
  2. » Cao đẳng - Đại học

Slide lập trình nhúng đại học bách khoa HCM

260 27 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

Nội dung

LẬP TRÌNH HỆ NHÚNG GV: Phạm Ngọc Hưng Bộ mơn Kỹ thuật Máy tính Viện CNTT&TT- ĐH BKHN email: hungpn@soict.hut.edu.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung Chương Giới thiệu lập trình hệ nhúng Chương Lập trình v{o Chương Lập trình v{o n}ng cao Chương C|c kỹ thuật lập trình n}ng cao Chương Lập trình device driver Linux Chương Lập trình tảng QT Chương Lập trình mạng Linux nhúng Chương Lập trình xử lý ảnh nhúng Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt Tài liệu tham khảo  Tài liệu tham khảo chính: • • • • • • • Micro2440 User Manual S3C2440 MicroController User’s Manual Beginning Linux Programming Advanced Linux Programming Linux Device Driver C++ GUI programming with QT Website: https://sites.google.com/site/embedded247/ Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương Giới thiệu Lập trình hệ nhúng Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung chương 1.1 Giới thiệu lập trình hệ nhúng 1.2 Giới thiệu KIT FriendlyArm micro2440 1.3 Hệ điều h{nh nhúng Linux 1.4 Mơi trường lập trình KIT FriendlyArm 2440 Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 1.1 Giới thiệu lập trình hệ nhúng  Lập trình ứng dụng hệ nhúng phụ thuộc vào tảng (platform) phần cứng, phần mềm hệ nhúng  Hệ nhúng khơng có hệ điều hành: • Thường sử dụng c|c vi điều khiển hiệu tương đối thấp (8051, ATMega, PIC, ARM7, …) • Lập trình C, ASM • Mơi trường, cơng cụ lập trình tùy theo dịng vi điều khiển (CodeVision, AVR Studio, Keil…) • Phù hợp c|c ứng dụng điều khiển v{o/ra bản, c|c giao tiếp ngoại vi Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 1.1 Giới thiệu lập trình hệ nhúng  Hệ nhúng có hệ điều hành: • Dựa c|c vi điều khiển, vi xử lý (CPU) có hiệu cao (Ví dụ: AVR 32, ARM 9, ARM 11, …) • Nhiều tảng hệ điều h{nh nhúng : uCLinux, Embedded Linux, Windows CE, … • Mơi trường, cơng cụ lập trình tùy thuộc tảng hệ điều h{nh: C/C++, QT SDK (Nokia), Net Compact FrameWork (Microsoft), … • Ứng dụng nhiều b{i to|n phức tạp: GPS Tracking/Navigator, Xử lý ảnh, ứng dụng Client/Server, … Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 1.1 Giới thiệu lập trình hệ nhúng  Các thiết bị di động thơng minh: • Xu hướng cơng nghệ • Nhiều tảng: iOS, Android, Windows Phone, Symbian OS/Memo, • Mơi trường, cơng cụ: iOS: Xcode + iOS SDK (ngôn ngữ Object-C) Android: C, Java + Android SDK, Eclipse/Netbean Windows Phone: SDK + Visual Studio (C#) • C|c ứng dụng phong phú: Google Play Store, Apple Store, Windows Market Place, … Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 1.1 Giới thiệu lập trình hệ nhúng  Mơn học n{y hướng tới: • Lập trình hệ nhúng tảng ARM + Linux • Minh họa KIT FriendlyArm micro 2440 • Lập trình C/C++, lập trình giao diện đồ họa QT  Lý do: • ARM ? > 90% thị phần thiết bị nhúng, l{ dòng vi điều khiển hiệu cao • Embedded Linux ? M~ nguồn mở, khả can thiệp, hiểu s}u hệ thống Nhiều OS kh|c (iOS, Android) dựa Linux kernel Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 1.2 Giới thiệu KIT nhúng micro2440 Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 Dãn độ tương phản Ảnh trước sau tiến hành dãn độ tương phản Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 246 8.3.5 Cân Histogram  Cân histogram phương pháp thay đổi độ tương phản ảnh cách thay đổi lược đồ phân bố mức xám chúng  Mục đích làm thay đổi biểu đồ phân bố mức xám từ phân bố ban đầu sang phân bố hướng tới  Tác dụng nhằm phát đối tượng bi che khuất ảnh ban đầu Phép biến đổi có ý nghĩa ảnh chụp bóng đêm, đối tượng thường bị mờ, hay bị che khuất bóng tối, áp dụng cân histogram làm rõ đối tượng Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 247 Cân Histogram  Công thức thực hiện: bk = (bmax – bmin)  Trong bmin, bmax giá trị chọn, pi xác suất xuất giá trị mức xám i ảnh ban đầu, với i [amin, amax] Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 248 Hàm cân Histogram  Sử dụng h{m cvEqualizeHist • Src: ma trận ảnh gốc • Dst: ma trận ảnh sau đ~ c}n Histogram Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt Demo cân Histogram Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 8.3.6 Chuyển sang ảnh nhị phân  Chuyển đổi dựa phân ngưỡng • Phân ngưỡng cố định (fixed threshold): sử dụng Histogram phân bố rõ ràng hai vùng sáng, tối với hai đỉnh rõ rệt Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 251 Chuyển sang ảnh nhị phân  Phân ngưỡng thích nghi (adaptive threshold) • Trong trường hợp lược đồ mức xám ảnh có tới >=3 đỉnh chóp, ví dụ ảnh tương ứng với số điểm ảnh có giá trị mức xám tương ứng 50, 110 180 Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 252 Chuyển sang ảnh nhị phân  Phân ngưỡng thích nghi: • Sử dụng ngưỡng động cho điểm ảnh khác • Kỹ thuật cho phép điều tiết, thích nghi với thay đổi điều kiện sáng ảnh ví dụ ảnh có sử dụng hiệu ứng rọi sáng (illumination) hay đổ bóng(shadow) Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 253 Chuyển sang ảnh nhị phân Kết (Sử dụng ngưỡng cứng) Kết (Sử dụng ngưỡng thích nghi) Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 254 Hàm chuyển sang ảnh nhị phân  Phân ngưỡng cứng • • • • Src: Ảnh ban đầu, dst: ảnh kết Threshold: ngưỡng chọn maxValue: gi| trị lớn thresholdType: kiểu ph}n ngưỡng Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt Hàm chuyển sang ảnh nhị phân  Phân ngưỡng thích nghi • Src: ảnh ban đầu, dst: ảnh kết • maxValue: gi| trị lớn • adaptiveMethod: phương ph|p tính ngưỡng thích nghi (CV_ADAPTIVE_THRESH_MEAN_C hay CV_ADAPTIVE_THRESH_GAUSSIAN_C) Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt Demo chuyển sang ảnh nhị phân Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt Phụ lục A – Các lệnh Linux  Lệnh hiển thị thông tin c|c file thư mục ls –al //hiển thị danh s|ch với đầy đủ thông tin  Lệnh thay đổi quyền cho file hay thư mục chmod vd: chmod +x Filename //Cấp thêm quyền thực thi  Lệnh để xem danh s|ch c|c file thiết bị ls –al /dev  Lệnh để xem tất c|c tiến trình chạy ps Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 258 Phụ lục A – Các lệnh Linux  Lệnh c{i đặt phần mềm từ kho chứa Linux sudo apt-get install Tên_gói_phần_mềm  Xem danh s|ch c|c major id tương ứng với c|c device driver active cat /proc/devices  Tìm kiếm file chứa dòng text grep vd: grep –r “Hello” //Tìm tất c|c file v{ hiển thị c|c dịng chứa từ khóa //Hello thư mục v{ c|c thư mục Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 259 Phụ lục B – Website quan trọng  http://www.friendlyarm.net //download  http://www.thaieasyelec.com/FriendlyARM //mua KIT, download t{i liệu  http://dientuvietnam.net //forum chia sẻ  http://eetimes.com //Tin tức công nghệ  http://www.kernel.org //download mã kernel  http://qt.nokia.com //Hỗ trợ QT SDK  qtforum.org  qtcenter.org Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 260 ... thiệu lập trình hệ nhúng Chương Lập trình v{o Chương Lập trình v{o n}ng cao Chương C|c kỹ thuật lập trình n}ng cao Chương Lập trình device driver Linux Chương Lập trình tảng QT Chương Lập trình. .. Windows Market Place, … Lập trình nhúng ARM-Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 1.1 Giới thiệu lập trình hệ nhúng  Mơn học n{y hướng tới: • Lập trình hệ nhúng tảng ARM + Linux... dung chương 1.1 Giới thiệu lập trình hệ nhúng 1.2 Giới thiệu KIT FriendlyArm micro2440 1.3 Hệ điều h{nh nhúng Linux 1.4 Mơi trường lập trình KIT FriendlyArm 2440 Lập trình nhúng ARM-Linux CuuDuongThanCong.com

Ngày đăng: 03/01/2022, 22:15

TỪ KHÓA LIÊN QUAN