1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình hệ nhúng: Chương 2 - Phạm Văn Thuận

27 18 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 27
Dung lượng 1,57 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 2 - Lập trình vào ra căn bản trên Linux. Những nội dung chính trong chương này gồm có: Cài đặt môi trường phát triển, cơ bản về lập trình Linux, cơ chế lập trình giao tiếp thiết bị, lập trình điều khiển led, lập trình ghép nối nút bấm.

Trang 1

Chương 2 Lập trình vào ra căn bản

2.1 Cài đặt môi trường phát triển

2.2 Cơ bản về lập trình Linux

2.3 Cơ chế lập trình giao tiếp thiết bị

2.4 Lập trình điều khiển led

Lập trình hệ nhúng

2.5 Lập trình ghép nối nút bấm

32

Trang 2

2.1 Cài đặt môi trường phát triển

§ Mô hình lập trình

§ Môi trường phát triển ứng dụng

§ Cài đặt môi trường

Lập trình hệ nhúng 33

Trang 4

Môi trường phát triển ứng dụng

§ Phần mềm

• Hệ điều hành Linux

• Cross toolchains (gcc 4.4.3): biên dịch, GDB: công cụ

debug

• gFTP: truyền nhận file Host<->KIT qua giao thức TFTP

• Telnet: kết nối KIT qua Ethernet (sử dụng cross cable)

Lập trình hệ nhúng

• Telnet: kết nối KIT qua Ethernet (sử dụng cross cable)

35

Trang 5

3.2 Cài đặt môi trường phát triển

§ Môi trường phát triển

• Hệ điều hành Linux (Ubuntu 9.04 hoặc mới hơn)

• Trình biên dịch chéo: ARM Linux GCC 4.4.3

Trang 6

Cài đặt trình biên dịch chéo

§ Bước 1: Giải nén arm-linux-gcc-4.4.3.tar.gz

tar –zxvf arm-linux-gcc-4.4.3.tar.gz

§ Bước 2: Cập nhật biến môi trường PATH

Thêm đường dẫn tới thư mục bin của

arm-linux-gcc-4.4.3 (Cập nhật biến môi trường PATH trong file

• Thông báo về phiên bản của arm-linux-gcc hiện ra

=> quá trình cài đặt thành công 37

Trang 7

Kiểm tra trình biên dịch chéo

Lập trình hệ nhúng 38

Trang 9

Kết nối sử dụng gFTP

Lập trình hệ nhúng 40

Trang 11

Cấu trúc chương trình

§ Tuân thủ cấu trúc chương trình ANSII C

Lập trình hệ nhúng 42

Trang 12

Chương trình HelloWorld

Lập trình hệ nhúng 43

Trang 13

Cách thức biên dịch chương trình

§ Cách 1: Sử dụng lệnh của cross compiler

• VD: arm-linux-gcc –g –o Hello Hello.c

• Kết quả: biên dịch ra một file thực thi có tên là Hello từ một file mã nguồn là Hello.c, file này có hỗ trợ khả năng debug

Trang 14

[tab] system command

§ target: make target

§ Dependencies: các thành phần phụ thuộc (file mã nguồn, các file object…)

§ System command: các câu lệnh (lệnh biên dịch,

lệnh linux)

45

Trang 15

VD 1: Makefile đơn giản

§Biên dịch chương trình: make all

§Xóa file sinh ra trước đó: make clear

Trang 16

VD 2: Makefile liên kết

CC =arm-linux-gcc

OUTPUT =Hello

all: Hello.o display.o

$(CC) -o $(OUTPUT) Hello.o display.o

Trang 17

Nạp file thực thi xuống KIT

§ Bước 1: sử dụng phần mềm gFTP chuyển file

Hello (đã được biên dịch trước đó) xuống KIT, ví

dụ xuống thư mục: /ktmt/bin

§ Bước 2: telnet xuống KIT, chuyển tới thư mục

/dks/bin, thực thi chương trình

Trang 18

2.3 Cơ chế lập trình giao tiếp thiết bị

§ Device files, Device number

§ Kiểm tra danh sách device driver, thiết bị

§ Cơ chế giao tiếp

Lập trình hệ nhúng 49

Trang 19

§ Device files: ls –l /dev

• Device file không phải là file thông thường, không phải là một vùng dữ liệu trên hệ thống file

• Quá trình đọc ghi device file

üGiao tiếp với device driver

Device files, Device number

Lập trình hệ nhúng

üGiao tiếp với device driver üĐọc, ghi phần cứng của thiết bị

§ Phân loại device files

• Character device: thiết bị phần cứng đọc, ghi một chuỗi các byte dữ liệu

• Block device: thiết bị phần cứng đọc, ghi một khối

Trang 20

Device files, Device number

§ Device number: mỗi thiết bị được xác định bởi hai giá trị

• Major device number: xác định thiết bị này sử

Trang 21

Kiểm tra danh sách thiết bị

§ Kiểm tra danh sách các nhóm thiết bị

• Gõ lệnh cat /proc/devices

Lập trình hệ nhúng 52

Trang 22

Kiểm tra danh sách thiết bị

§ Kiểm tra danh sách các thiết bị mount vào

hệ thống

vGõ lệnh cat /proc/mounts

vGõ lệnh mount

Lập trình hệ nhúng 53

Trang 23

Cơ chế lập trình giao tiếp thiết bị

§ Cơ chế lập trình: giao tiếp qua các device files

• Sử dụng các hàm vào ra file

üopen üclose üread

Lập trình hệ nhúng

üread üwrite

• Sử dụng hàm điều khiển vào ra: ioctl

54

Trang 24

2.4 Lập trình điều khiển led

Lập trình hệ nhúng 55

Trang 25

Lập trình điều khiển led đơn

• Điều khiển bật/tắt led đơn có số hiệu led_no

§ Driver cho led đơn:

linux-2.6.32.2/drivers/char/mini2440_leds.c

56

Trang 26

2.5 Lập trình ghép nối nút bấm

Lập trình hệ nhúng 57

Ngày đăng: 08/05/2021, 19:18

TỪ KHÓA LIÊN QUAN