Giải thích về thời gian thực và ứng dụng của thời gian thực trong thực tế.Giới thiệu sơ bộ các thành phần chính thường gặp trong hệ điều hành RTOSCơ chế đồng bộ hay gặp trong RTOSWhat is RealTime and its application in real world?Introduce on RealTime Operating System – RTOS RTOS Kernel RTOS Tasks and Processes RTOS Scheduler RTOS NonPreemptive Kernel and Preemptive KernelBasic Synchronization in RTOS Semaphore Event Message Mailboxes Message QueueResearching the proscons on most popular RTOS in the market (VxWorks, ThreadX, FreeRTOS, Freescale MQX, uItron)
LECTURE 10: INTRODUCE TO BASIC REAL-TIME APPLICATIONS AND RTOS TABLE OF CONNTENTS Freescale MQX Overview MQX Basics: Tasks MQX Basics: Scheduling MQX Basics: Task Synchronization Additional Resources Review LECTURE 10: introduce to basic real-time applications and RTOS TABLE OF CONNTENTS Freescale MQX Overview MQX Basics: Tasks MQX Basics: Scheduling MQX Basics: Task Synchronization Additional Resources Review LECTURE 10: introduce to basic real-time applications and RTOS Freescale MQX Overview RTOS gì? RTOS viết tắt Real-Time Operating System Thuật ngữ Operating System dùng để mô tả kết hợp phần mềm để quản lý tài nguyên phần cứng hệ thống Phần mềm bao gồm tập tin mô-đun hệ thống, giao diện thành phần khác Thông thường Kernel hiểu tập tập hợp LECTURE 10: introduce to basic real-time applications and RTOS Freescale MQX Overview o MQX RTOS phát hành Freescale Semiconductor Nó nhắm tới nhiều vi điều khiển Freescale ColdFire, Kinetis Arm® CorTex M4 Freescale Power Architecture o Freescale MQX RTOS dựa MQX phiên 2.5 phát hành công ty ARC International Freescale MQX RTOS phát hành bao gồm kernel thời gian thực, thành phần lõi hệ thống, tích hợp TCP/IP network stack-RTCS, file hệ thống (MFS), USB host ngăn xếp thiết bị LECTURE 10: introduce to basic real-time applications and RTOS Freescale MQX Overview 1.MQX RTOS PSP Mã tảng đặc biệt từ /mqx/source/psp/ xây dựng chung với file lõi MQX khác Hai phần kết hợp tạo thành thư viện tĩnh chung gọi psp Khi liên quan đến ứng dụng người dùng, phải cho phép đặc tính RTOS để sử dụng LECTURE 10: introduce to basic real-time applications and RTOS Freescale MQX Overview MQX RTOS BSPs • Code từ /mqx/source/bsp/ xây dựng với file điều khiển I/O từ /mqx/source/bsp/io Tạo thành thư viện bsp • Khi liên quan đến ứng dụng người dùng, cho phép the board hệ thống hoạt động khởi động sử dụng dịch vụ điều khiển I/O • Hỗ trợ nhiều kiểu điều khiển I/O: I2C, SPI, Flex CAN, RTC, Serial, ADC, DAC, Flash, ENET,… LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Freescale MQX Overview MQX MFS MFT files từ thư viện /mfs/source xây dựng thành thư viện tĩnh Khi liên quan đến ứng dụng người dùng thư viện MFS cho phép ứng dụng truy cập điều khiển định dạng FAT12, FAT 16 FAT32 LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Freescale MQX Overview MQX RTCS MQX RTCS bao gồm thư viện RTCS TCP/IP RTCS dựa tương hợp mức độ API với phiên 2.97 phát hành ARC Files RTCS từ thư mục /rtcs/source xây dựng thành thư viện Khi sử dụng thư viện RTCS cho phép ứng dụng cung cấp tiêu thụ dịch vụ mạng họ giao thức TCP/IP LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Freescale MQX Overview MQX USB host File USB HDK từ thư mục /usb/host/source xây dựng thành thư viện Khi sử dụng thư viện USB HDK cho phép ứng dụng giao tiếp với thiết bị USB khác kết nối USB bus LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Freescale MQX Docummentation BẢO VỆ VÀ KHÔI PHỤC ĐƯỜNG 1.2 MQXRM Feference Manual 1.2.2 Function Listing Format 1.2.3 MQX Function Overview 1.2.4 MQX Data Types 1.2.5 MQX Complex Data Types in Alphabetical Order https://cache.freescale.com/files/32bit/doc/ref_manual/MQX_Refer ence_Manual.pdf LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Freescale MQX Docummentation BẢO VỆ VÀ KHÔI PHỤC ĐƯỜNG 1.3 MQXUSBHOSTAPIRM USB Host API Refrence Manual 1.3.2 USB Host API Overview 1.3.3 Host API Functions 1.3.4 Device Framework Functions 1.3.5 Data Type Descriptions http://cache.nxp.com/files/32bit/doc/ref_manual/MQX_USB_Ho st_Reference_Manual.pdf?fpsp=1&WT_TYPE=Reference %20Manuals&WT_VENDOR=FREESCALE&WT_FILE_FO RMAT=pdf&WT_ASSET=Documentation&fileExt=.pdf LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Freescale MQX Docummentation BẢO VỆ VÀ KHÔI PHỤC ĐƯỜNG 1.4 MQXUSBDEVAPI USB Devide API Reference 1.4.2 Overview 1.4.3 USB Device Layer API 1.4.4 USB Device Layer API 1.4.5 USB Descriptor API function listings 1.4.6 USB Descriptor API function listings 1.4.7 Reference Data Types http://cache.nxp.com/files/32bit/doc/ref_manual/MQX_USB_Device_Reference_Manual.pdf ?fpsp=1&WT_TYPE=Reference %20Manuals&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=D ocumentation&fileExt=.pdf LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Freescale MQX Docummentation 1.5.1 Design Overview Design Goals A Target Design Components Overview LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Freescale MQX Docummentation BẢO VỆ VÀ KHÔI PHỤC ĐƯỜNG 1.5.2 Developing Applications Compiling Freescale MQX™ USB Host Stack Host Applications LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Freescale MQX Docummentation 1.6 Freescale MQX™ I/O Drivers – User Guide LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Further andĐƯỜNG Training(Cont) BẢOReading VỆ VÀ KHÔI PHỤC MCF5225X & Freescale MQX introduction LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Further andĐƯỜNG Training(Cont) BẢOReading VỆ VÀ KHÔI PHỤC MCF5225X & Freescale MQX introduction LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Further andĐƯỜNG Training(Cont) BẢOReading VỆ VÀ KHÔI PHỤC MCF5225X & Freescale MQX introduction LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Further andĐƯỜNG Training(Cont) BẢOReading VỆ VÀ KHÔI PHỤC Introducing a modular system, Serial-to-Ethernet V1 ColdFire® MCU and Complimentary MQX™ RTOS LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Further andĐƯỜNG Training(Cont) BẢOReading VỆ VÀ KHÔI PHỤC Introducing a modular system, Serial-to-Ethernet V1 ColdFire® MCU and Complimentary MQX™ RTOS LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Further andĐƯỜNG Training(Cont) BẢOReading VỆ VÀ KHÔI PHỤC Introducing a modular system, Serial-to-Ethernet V1 ColdFire® MCU and Complimentary MQX™ RTOS LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Further Reading and Training(Cont) Introducing a modular system, Serial-to-Ethernet V1 ColdFire® MCU and Complimentary MQX™ RTOS LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Further andĐƯỜNG Training(Cont) BẢOReading VỆ VÀ KHÔI PHỤC Introducing a modular system, Serial-to-Ethernet V1 ColdFire® MCU and Complimentary MQX™ RTOS LECTURE 10: introduce to basic real-time applications and RTOS NHÓM Thanks You! [...]... cùng chia sẻ thời gian thực thi của CPU Round- Robin thuần túy không thỏa mãn yêu cầu của hệ thống thời gian thực bởi vì một hệ thống thời gian thực các task phải làm việc theo mức độ quan trong khác nhau Ví dụ : ( Hình 8) Thay vì thay thế theo độ ưu tiên, các task round –robin được phân chia thời giant thực thi theo các khoảng thời gian ( time slice) Vơi time slicing , mỗi task sẽ được thực thi trong... thực thi trong một khoảng thời gian nhất định, và theo vong trong Một bộ đếm thời gian sẽ giám sát thời gian của mỗi Task, tăng lên theo mỗi xung clock Khi thời gian thực thi một task đã hết, bộ đếm sẽ bị xóa, và task này sẽ được đặt ở cuổi cùng của chu kì ( end of circle) Nếu như một task round-robin bị thay thế bởi mọt task có độ ưu tiên cao hơn, thì bộ đếm thời gian sẽ lưu lại và phục hồi khi task bị... applications and RTOS NHÓM 6 MQX Basics: Tasks II CÁC TÁC VỤ (TASK) 2.1 KHÁI NIỆM VỀ TASK - Một hệ thống thời gian thực được gọi là điều khiển sự kiện” có nghĩa là hệ thống đó phải có chức năng chính là phản ứng lại các sự kiện xảy ra trong môi trường của hệ thống Vậy thì hệ thống phản ứng lại các sự kiện như thế nào? một giải pháp đưa ra có tên Đa nhiệm - Giải pháp này đã được chứng minh là một mô... sử dụng Lời gọi do kernel cung cấp ( Kernel – provided calls) Khả năng này dùng để thay đổi một cách linh động cho phép một ứng dụng nhúng có độ linh hoạt để ứng xử với sự kiện bên ngoài khi chúng xuất hiện, tạo ra một hệ thống thời gian thực và đáp ứng tốt Lưu ý là việc sử dụng không đúng khả năng thay đổi độ ưu tiên này có thể dẫn đến đảo độ ưu tiên ( priority inversion), vùng chết ( deadlock), và. .. minh là một mô hình chuẩn cho các hệ thống điều khiển sự kiện và hệ thống sử dụng ngắt Ý tưởng cơ bản của giải pháp này là chúng ta có thể phân chia một vấn đề lớn thành các nhánh nhỏ và đơn giản hơn để giải quyết Mỗi một vấn đề con (sub-problem) trở thành một tác vụ - task.Mỗi một tác vụ chỉ làm một việc đơn giản LECTURE 10: introduce to basic real-time applications and RTOS NHÓM 6 KHÁI NIỆM VỀ TASK -... /usb/device/source được xây dựng thành thư viện • Khi sử dụng thư viện USB DDK cho phép ứng dụng hành động như một thiết bị USB LECTURE 10: introduce to basic real-time applications and RTOS NHÓM 6 Freescale MQX Overview 7 MQX Shell Mã shell va dòng lệnh xử lý được hoàn toàn như là những thư viện tách biệt gọi là shell LECTURE 10: introduce to basic real-time applications and RTOS NHÓM 6 Freescale MQX Overview... hữu dụng) ta có thể tạo ra nhiều tác vụ từ một hàm chung Như đã nói, điều làm cho một tác vụ có thể tách biệt và khác biệt với các tác vụ khác chính là ngăn xếp của nó Cấu trúc thông thường của một task LECTURE 10: introduce to basic real-time applications and RTOS NHÓM 6 CÁC TRẠNG THÁI CỦA TASK -Mỗi tác vụ trong RTOS luôn luôn ở một trong ba trạng thái chính: 1 Running: Với ý nghĩa bộ xử lý đang thực. .. treo hệ thống ( system failure) Ví dụ: ( Hình 7) Task 1 được thay thế bởi task 2 có độ ưu tiên cao hơn, task 2 được thay thế bởi task 3 có độ ưu tiên cao hơn, khi Task 3 hoàn thành, task 2 sẽ tiếp tục thực thi trạng thái ngay trước khi bị dành quyền thực thi Tương tự, khi task 2 hoàn thanh thì Task 1 sẽ được tiếp tục thực thi (resumes) LECTURE 10: introduce to basic real-time applications and RTOS. .. real-time applications and RTOS NHÓM 6 Hầu hết các Real – time Kernel sử dụng giải thuật lịch trình thay thế theo độ ưu tiên ( preemptive priority- based scheduling) làm mặc định Các task sẽ được thực thi tại bất kì một thời điểm là task có độ ưu tiên cao nhất so với các task khác đang ở trạng thái sẵn sàng Real –Time Kernel hỗ trợ 256 cấp độ ưu tiên, với 0 là độ ưu tiên cao nhất và 255 là độ ưu tiên thấp... khác, một tác vụ bao gồm mã lệnh để thực hiện các chức năng tác vụ phải thực hiện (do người lập trình đã thiết kế) Mã lệnh được chứa trong một hàm tương tự như hàm main() trong ngôn ngữ lập trình C Điều làm nên sự khác biệt của tác vụ chính là ngữ cảnh (context) chứa trong ngăn xếp (stack) của nó Hình ảnh một task LECTURE 10: introduce to basic real-time applications and RTOS NHÓM 6 KHÁI NIỆM VỀ TASK -