Danh mục

Bài giảng Hệ thống nhúng (2019): Phần 2

Số trang: 145      Loại file: pdf      Dung lượng: 7.41 MB      Lượt xem: 25      Lượt tải: 0    
10.10.2023

Xem trước 10 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Nối tiếp phần 1, Bài giảng Hệ thống nhúng (2019): Phần 2 tiếp tục trình bày những nội dung về phát triển hệ thống nhúng dựa trên hệ vi xử lý nhúng; kiến trúc của hệ vi xử lý nhúng ARM; giới thiệu về dòng vi xử lý ARM Cortex và ARM Cortex M3; thiết lập hệ điều hành nhúng trên nền ARM; lập trình điều chế độ rộng xung - PWM (Pulse-width modulation);... Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ thống nhúng (2019): Phần 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG NGUYỄN NGỌC MINH LƯƠNG CÔNG DUẨN BÀI GIẢNGHỆ THỐNG NHÚNG HÀ NỘI – 10.2019 1 CHƯƠNG 5: PHÁT TRIỂN HỆ THỐNG NHÚNG DỰA TRÊN HỆ VI XỬ LÝ NHÚNG5.1 Giới thiệu chungTrong các hệ thống nhúng hiện nay, vi xử lý lõi ARM được sử dụng rộng rãi nhất. Trongchương này, các kiến thức căn bản về kiến trúc vi xử lý lõi ARM và tập lệnh ARM đượcgiới thiệu. Sau đó, các kiến thức căn bản về việc thiết kế các thành phần căn bản của hệthống nhúng được đề cập. Phần cuối sẽ tập trung vào thiết lập hệ điều hành nhúng trênnền ARM.5.2 Kiến trúc của hệ vi xử lý nhúng ARMLõi ARMKiến trúc của ARM được thiết kế chuyên dụng cho các ứng dụng nhúng. Do đó, hiệnthực hóa chip ARM được thiết kế để cho các ứng dụng nhỏ nhưng có hiệu năng cao, tiêuthụ ít năng lượng.Lõi ARM được thiết kế theo kiến trúc RISC, nó chứa các kiến trúc RISC chung • Các thanh ghi đồng dạng. • Kiến trúc dạng Load-Store. Các địa chỉ Load/Store chỉ được xác định từ nội dung thanh ghi và các chỉ lệnh • Các kiểu đánh địa chỉ đơn giản. • Các chỉ lệnh có độ dài cố định và đồng dạng, do đó đơn giản hóa việc giải mã các câu lệnh • Thay vì chỉ dùng 1 chu kì xung nhịp cho tất cả các chỉ lệnh, ARM thiết kế để sao cho tối giản số chu kì xung nhịp cho một chỉ lệnh, do đó tăng được sự phức tạp cho các chỉ lệnh đơn lẻ. Ngoài ra, kiến trúc ARM có thể cung cấp: • Điều khiển cả khối logic số học (ALU) và bộ dịch chuyển (shifter) trong các lệnh xử lý dữ liệu để tối đa hóa việc sử dụng ALU và bộ dịch chuyển. • Các chế độ địa chỉ tự tăng hoặc tự giảm để tối ưu hóa các lệnh vòng lặp • Các lệnh nhân Load/Store để tối đa dữ liệu truyền qua. Nhờ các tối ưu trên nền kiến trúc RISC căn bản, lõi ARM có thể đạt được một sự cân bằng giữa hiệu năng cao, kích thước mã nguồn ít, công suất tiêu thụ thấp. 133Thanh ghi và các chế độ hoạt độngLõi ARM có 37 thanh ghi trong đó có 31 thanh ghi đa dụng. Tuy nhiên tại một thời điểmchỉ có 16 thanh ghi đa dụng và 2 thanh ghi trạng thái hiển thị. Các thanh ghi khác ở dạngẩn, chỉ hiển thị ở một số chế độ hoạt động riêng.Các thanh ghi đa dụng có thể dùng để lưu dữ liệu hoặc địa chỉ. Các thanh ghi này đượcđánh dấu bằng ký hiệu r. Tất cả các thanh ghi đều là 32 bit.Trong các thanh ghi đa dụng trên, có 3 thanh ghi còn được dùng để các chức năng hoặcnhiệm vụ đặc biệt riêng: r13, r14, r15. • Thanh ghi r13 được dùng làm stack pointer (SP) • Thanh ghi r14 được gọi là thanh ghi kết nối (LR) chưa địa chỉ quay lại của chương trình khi chương trình chạy một hàm con. • Thanh ghi r15 là bộ đếm chương trình (pc) và chưa địa chỉ của lệnh tiếp theo.Hai thanh ghi trạng thái bao gồm thanh ghi trạng thái chương trình hiện tại (CPSR) dùngđể giám sát các trạng thái hoạt động hiện tại và thanh ghi trạng thái chương trình lưu(SPSR) dùng để lưu trữ giá trị của CPSR khi có một trường hợp ngoại lệ xảy ra. Thanh ghi trạng thái chương trình hiện tại (CPSR) : CPSR có 4 trường, mỗi trườngcó 8 bit: cờ, trạng thái, mở rộng và điều khiển. Hiện tại phần trạng thái và mở rộng đượcdự trữ cho các thiết kế tương lai. Hình 5. 1: Cấu trúc của thanh ghi trạng thái chương trình hiện tạiCác cờ của CPSR như sau: • N: Negative- cờ này được bật khi bit cao nhất của kết quả xử lý ALU bằng 1. • Z: Zero- cờ này được bật khi kết quả cuối cùng trong ALU bằng 0. • C: Carry- cờ này được bật khi kết quả cuối cùng trong ALU lớn hơn giá trị 32bit và tràn. • V: Overflow-cờ báo tràn sang bit dấu. 134 Các thanh ghi hiện r0 Abort Mode r1 r2 r3 Các thanh ghi ẩn r4 r5 r6 User FIQ IRQ SVC Undef r7 r8 r8 r9 r9 r10 r10 r11 r11 r12 r12 r13 r13 r13 r13 r13 r13 (sp) r14 r14 r14 r14 r14 (sp) r14 (lr) r15 (lr) cpsr spsr spsr spsr spsr spsr Hình 5. 2: Các thanh ghi của ...

Tài liệu được xem nhiều: