Tổng quan kiến trúc ARM Cortex-M

44 890 2
Tổng quan kiến trúc ARM Cortex-M

Đ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

Giới thiệu về kiến trúc ARMCortex MTrao đổi programer model của lõi Cortex_MGiới thiệu tập lệnh ARM CortexMIntroduction to ARM CortexM architecture.Describe about the programmer model in ARM CortexM.Explain on Instruction Set Archtecture.Write an example application to blink a led by using a system timer (SysTick).Update the previous exercise, the blink frequency can be changed by using the SW1 button.

EMBEDDED SYSTEM COURSE Chủ đề 4: tổng quan kiến trúc ARM Cortex-M Nguyễn Thiện Thành Trần Trung Lam 10119047 11241009 NỘI DUNG  Thông tin chung Cortex-M  Tổng quan kiến trúc ARM  Programmer Model  Kiến trúc tập lệnh sử dụng ARM Cortex  Tổng Kết NỘI DUNG  Thông tin chung Cortex-M  Tổng quan kiến trúc ARM  Programmer Model  Kiến trúc tập lệnh sử dụng ARM Cortex  Tổng Kết Thơng tin chung cortex-m THƠNG TIN CHUNG CORTEX-M THƠNG TIN CHUNG VỀ CORTEX-M THÔNG TIN CHUNG VỀ CORTEX-M Ưu điểm Cortex-M : Hiệu lượng Dễ sử dụng Hiệu suất cao NỘI DUNG  Thông tin chung Cortex-M  Tổng quan kiến trúc ARM  Programmer Model  Kiến trúc tập lệnh sử dụng ARM Cortex  Tổng Kết TỔNG QUAN KIẾN TRÚC ARM Sơ đồ khối: – Mặt nạ phổ công suất FCC đưa TỔNG QUAN KIẾN TRÚC ARM Các khối chức Cortex-M0 - ARMv6-M Thumb instruction set - NVIC: 32 external interrupt inputs - Debug: HD breakpoints, watchpoints - Bus interfaces: 32 bit AMBA-3 AHB-lite system interface Tập lệnh  ARM hỗ trợ kiến trúc nạp lưu trữ(Load/Store architecture) • Để thực lệnh xử lý liệu, toán hạng phải nạp vào tập ghi trung tâm,các phép tính phải thực ghi kết sau lưu lại nhớ Cấu trúc tập lệnh Tập lênh Thumb-2: • Các CPU ARM thực thi hai tập lệnh: – ARM 32 -bits – Thumb -16 bits  lệnh 32 bits để tăng tốc độ xử lý lệnh 16 bits để nén mã chương trình – Tập lệnh Thumb-2 pha trộn lệnh 16 bits 32 bits • Thumb-2 cải tiến 26% mật độ mã so với tập lệnh ARM 32 bits • Thumb-2 cải tiến 25% hiệu suất so với tập lệnh Thumb 16 bits Cấu trúc tập lệnh Lớp tập lệnh: • Lệnh rẽ nhánh (Branch instructions) • Lệnh xử lý liệu (Data-processing instructions) • Lệnh tải lưu trữ (Load and store instructions) • Lệnh truy cập ghi trạng thái (Status register access instructions) • Các lệnh khác (Miscellaneous instructions) Cấu trúc tập lệnh Lệnh rẽ nhánh • B – Branch –rẽ nhánh tuyệt đối đến địa mục tiêu, liên quan đến đếm chương trình (Program Counter (PC)) –+/- 256 bytes ,phạm vi hỗ trợ thi hành có điều kiện –+/- 1MB , phạm vi hỗ trợ thi hành khơng điều kiện •BL – Branch with Link –Rẽ nhánh đến chương trình con, ghi đường dẫn cập nhật –+/- 16MB , liên quan tới Program Counter (PC) Cấu trúc tập lệnh B{cond} label BL label BX Rm BLX Rm Examples B loopA ; Branch to loopA BL funC ; Branch with link (Call) to function funC, return address stored in LR BX LR ; Return from function call BLX R0 ; Branch with link and exchange (Call) to a address stored in R0 BEQ labelD ; Conditionally branch to labelD if last flag setting instruction set the Z flag, else not branch Cấu trúc tập lệnh Lệnh xử lý liệu: • Bao gồm : – Số học: ADD ADC SUB SBC RSB RSC • Các lệnh thi hành ghi, khơng nhớ • Cú pháp: {}{S} Rd, Rn Operand2 • • • • • ADCS {Rd,} Rn, Rm ADD{S} {Rd,} Rn, RSBS {Rd,} Rn, Rm, #0 SBCS {Rd,} Rn, Rm SUB{S} {Rd,} Rn, Cấu trúc tập lệnh Lệnh xử lý liệu: • Bao gồm : – Logic: AND ORR EOR BIC • Các lệnh thi hành ghi, không nhớ • Cú pháp: {}{S} Rd, Rn, Operand2 • • • • ANDS {Rd,} Rn, Rm ORRS {Rd,} Rn, Rm EORS {Rd,} Rn, Rm BICS {Rd,} Rn, Rm Examples ANDS R2, R2, R1 ORRS R2, R2, R5 ANDS R5, R5, R8 EORS R7, R7, R6 BICS R0, R0, R1 Cấu trúc tập lệnh Lệnh xử lý liệu: • Bao gồm : – So sánh: CMP CMN TST TEQ Các lệnh thi hành ghi, không nhớ • Cú pháp: {}{S} Rd, Rn, Operand2 • CMN Rn, Rm • CMP Rn, #imm • CMP Rn, Rm Cấu trúc tập lệnh Lệnh xử lý liệu: • Bao gồm : – Di chuyển liệu: MOV MVN • Các lệnh thi hành ghi, khơng nhớ • Cú pháp: {}{S} Rd, Rn, Operand2 • MOV{S} Rd, Rm • MOVS Rd, #imm • MVNS Rd, Rm Cấu trúc tập lệnh Lệnh tải lưu trữ: LDR STR Word LDRB STRB Byte LDRH STRH Halfword LDRSB Signed byte load LDRSH Signed halfword load • Memory system must support all access sizes • Cú pháp: – LDR{}{} Rd, – STR{}{} Rd, e.g LDREQB Cấu trúc tập lệnh Lệnh truy cập ghi trạng thái: MRS/MSR –di chuyển liệu general purpose register status register – MRS (Register ← Status Register) – MSR (Status Register ← Register) • Cú pháp: – LDR{}{} Rd, – STR{}{} Rd, Nội dung • General Information about the Cortex-M • Introduction to the architecture • Programmer Model • Instruction Set • Tổng kết Tổng kết  Tất vi xử lý ARM Cortex M 32-bit RISC (Reduced Instruction Set Computing) Đều có: • Thanh ghi 32-bit • Đường dẫn liệu nội 32-bit • giao diện bus 32-bit  The Cortex-M chứa thành phần cốt lõi vi xử lý như, NVIC, SysTick timer, and optionally the floating point unit (for Cortex-M4)  Tất vi xử lý ARM Cortex -M dựa công nghệ Thumb , với tập lệnh trộn 32 bits 16 bits Question & Answer Thanks for your attention ! Copyright • This course including Lecture Presentations, Quiz, Mock Project, Syllabus, Assignments, Answers are copyright by FPT Software Corporation • This course also uses some information from external sources and non-confidential training document from Freescale, those materials comply with the original source licenses

Ngày đăng: 23/06/2016, 10:32

Mục lục

    Chủ đề 4: tổng quan kiến trúc ARM Cortex-M

    Thông tin chung về cortex-m

    THÔNG TIN CHUNG VỀ CORTEX-M

    THÔNG TIN CHUNG VỀ CORTEX-M

    TỔNG QUAN KIẾN TRÚC ARM

    TỔNG QUAN KIẾN TRÚC ARM

    TỔNG QUAN KIẾN TRÚC ARM

    TỔNG QUAN KIẾN TRÚC ARM

    TỔNG QUAN KIẾN TRÚC ARM

    Mô hình lập trình

Tài liệu cùng người dùng

Tài liệu liên quan