Chức năng timer của hệ điều hành thời gian thực Freescale MOX RTOS

53 870 0
Chức năng timer của hệ điều hành thời gian thực Freescale MOX RTOS

Đ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

Freescale MQX TimerGiới thiệu về module Timer trong MQXGiải thích cơ thế hoạt động khối timer trong MQX RTOSGiải thích thời gian tương đối và thời gian tuyệt đốiCác hàm quan trọng trong khối timer của MQX RTOSGiải thích về Watchdog trong MQX RTOS

LOGO EMBEDDED SYSTEM LECTURE 11: FREESCALE MQX RTOS TIMER Mục tiêu Understanding on how the MQX maintain the timing feature Introduce about the MQX timer Component Introduce about the MQX software Watdog component TABLE OF CONNTENTS MQX Timing features Deep look at how kernel handles time Absolute time and Elapsed time Time Component Watchdog GIẢI THÍCH CÁC THUẬT NGỮ  Freescale: Tên công ty đa quốc gia trụ sở Austin – Texas  NXP semiconductors (2015)  MQX RTOS: Real Time Operating System phát triển Precise Software Technologies Inc  Freescale MQX(Message Queue eXecutive)  BSP: (Board Suport package) mã thực thi nhằm cung cấp giao diện chuẩn phần cứng phần hệ điều hành BSP không trực tiếp truy cập vào phần cứng BSP cung cấp giao diện device driver cho phép kernel giao tiếp với tài nguyên phần cứng CPU, RAM, …  Thời gian thực: thời gian phản ánh độ trung thực thời gian hay không? có phải hiển thị xác đồng theo nhịp đồng hồ đếm thời gian hay không?  Thời gian thực hiểu yêu cầu hệ thống phải đảm bảo thoả mãn tính tiền định hoạt động hệ thống Tính tiền định nói lên hành vi hệ thống thực khung thời gian cho trước hoàn toàn xác định Khung thời gian định đặc điểm yêu cầu hệ thống, vài giây vài nano giây nhỏ Ở phân biệt yếu tố thời gian gắn liền với khái niệm thời gian thực  Hard Readtime: không đáp ứng yêu cầu thời gian thực, hệ thống sụp đổ hay gây hậu khôn lường (Fire System, hệ thống túi khí xe hơi, hệ thống làm mát điện hạt nhân,…)  Soft Realtime: không đáp ứng yêu cầu thời gian thực, hệ thống bị suy giảm chất lượng dịch vụ (Quality of Service – QoS) (hệ thống Video, Audio,…)  RTOS – Hệ điều hành thời gian thực: phần mềm điều khiển chuyên dụng thường dùng ứng dụng điện toán nhúng có tài nguyên nhớ hạn chế yêu cầu ngặt nghèo thời gian đáp ứng tức thời, tính sẵn sàng cao khả tự kiểm soát cách xác Ví dụ: Windows, Linux, Unix, VxWorks MQX Timing  MQX timer sử dụng cho ứng dụng sau:  Round – Robin Scheduling  Định cho hàm gọi MQX (msg_recv,…)  Tạm ngưng tác vụ/tiến trình khoảng thời gian (time delay)  chưa xác  nguyên nhân độ phân giải BSP  Date and time  Time Unit:  Second/ millisecond  Date/ Exdate  Ticks (Tick time) Round-Robin Scheduling Task 75ms Same Priority Task 50ms Time Slice = 50ms Task 60ms time Ready Task1 T0 Task2 50ms Task3 100ms Task1 Task3 150ms 200ms time Timeouts for MQX function calls And time_delay Getting Absolute Time Getting Absolute Time Setting Absolute Time Setting Absolute Time Setting Absolute Time Blocking until a future Absolute Time Timer Component Timer Component Timer Component Giới thiêệu Watchdog TẠI SAO LẠI CẦN ĐẾN WATCHDOG ? Các hệ thống nhúng: thường nằm cỗ máy kỳ vọng chạy hàng năm trời liên tục mà không bị lỗi khôi phục hệ thống gặp lỗi → CẦN MÔÔT KỸ THUÂÔT ĐẢM BẢO SỰ ỔN ĐỊNH ĐÓ Giới thiêệu Watchdog  WATCHDOG LÀ GÌ?  Watchdog timer đếm thời gian hoạt động liên tục nhằm tự động thực nhiệm vụ  Mục đích chính: phát khôi phục lại trạng thái hệ thống trường hợp hệ thống bị lỗi, phần cứng hoạt phần mềm gây Giới thiêệu Watchdog  BẢN CHẤT CỦA WATCHDOG  Watchdog bản chất định thời gian đặc biệt để định nghĩa thời gian hoạt động bình thường hệ thống  Khi có cố, hệ thống bị treo chạy quẩn, CPU không thực đúng chức năng, lúc thời gian hoạt động có sai lệch Giới thiêệu Watchdog  HOẠT ĐỘNG CỦA WATCHDOG Dựa vào yếu tố trên, nguyên tắc hoạt động của Watchdog :  Watchdog lưu lại thời gian hoạt động bình thường mạch  Nếu hệ thống hoạt động bình thường Watchdog nhận lệnh reset lại đếm sau khoảng thời gian, tiếp tục đếm lên từ  khoảng thời gian nhỏ thời gian mà Watchdog đã lưu Giới thiêệu Watchdog  HOẠT ĐỘNG CỦA WATCHDOG  Quá trình hoạt động lặp lặp lại gặp cố  Lúc CPU không chạy đúng chức năng, bị treo không gửi lại lệnh Reset cho đếm Watchdog Giới thiêệu Watchdog  HOẠT ĐỘNG CỦA WATCHDOG  Watchdog vẫn tiếp tục đếm thời gian đếm vượt thời gian hoạt động bình thường hệ thống  Watchdog gửi tín hiệu Reset đến CPU để khôi phục lại hệ thống [...]... nhúng có thể thực hiện hiệu quả mà chỉ cần một chương trình đơn giản chạy độc lập điều khiển cả hệ thống Tuy nhiên, đối với đa số các ứng dụng mang tính thương mại, một hệ nhúng cần phải có hệ điều hành thời gian thực hoặc kernel thời gian thực Một kernel thời gian thực thường nhỏ hơn rất nhiều so với một RTOS hoàn chỉnh  Trong lý thuyết về hệ điều hành, kernel chính là một phần của hệ điều hành, nó... thuật quản lý tài nguyên Mỗi một hệ thống thời gian thực đều có một kernel Mỗi hệ thống thời gian thực là một sự tổng hợp của nhiều module trong đó bao gồm kernel, file system, network protocol stack, và các module khác tùy thuộc vào yêu cầu chức năng của hệ thống Kiến trúc của hệ thống thời gian thực  Kiến trúc của một hệ thống thời gian thực sẽ quyết định các luồng được thực thi khi nào và bằng cách... của mình một cách chính xác khi nó lấy lại đươc quyền điều khiển  Một hệ thống nhúng thời gian thực phải có khả năng đáp ứng lại các tín hiệu ngõ vào hay các sự kiện một cách nhanh nhất và chính xác nhất, đây chính là các ngắt của hệ thống Ngắt của hệ thống sẽ phải làm cho vi xử lý ngưng nhiệm vụ đang thực thi để xử lý ngắt  Một ngắt sẽ được xử lý bởi ISR (interrupt service routine), nó có khả năng. .. trong lúc chương trình hoạt động  Một kernel thời gian thực sẽ cung cấp hầu hết các dịch vụ cần thiết cho các ứng dụng nhúng.Do đó chỉ là một phần của hệ điều hành và được nạp thẳng lên bộ nhớ, nên một kernel thời gian thực thường có kích thước rất nhỏ, rất phù hợp cho các bộ nhớ có dung lượng thấp trong các hệ thống nhúng  Kernel là một lõi mềm giám sát hệ thống, cung cấp các khối logic, các giải... Timer là một thành phần tùy chọn mà bạn có thể enable hoặc disable ở cấp BSP(BSP level)  Có 2 loại time: Thời gian tuyệt đối và thời gian tương đối  Bạn có thể thay đổi thời gian tuyệt đối  Resolution depends on hardware and app settings  MQX RTOS sử dụng Counter 64 – bit để đếm số lượng ngắt kể từ khi hệ thống khởi động (Cung cấp một giá trị lớn trước khi timer bị tràn, ví dụ... quan trọng của phương pháp này đó chính là nó có khả năng tạm hoãn thực thi một luồng khi có một luồng khác với mức độ ưu tiên cao hơn cần phục vụ Quá trình lưu trữ lại các thông tin hiện thời của luồng bị tạm hoãn thực thi khi có một luồng khác với mức độ ưu tiên cao hơn cần phục vụ gọi là “context switching” Quá trình này phải được thực hiện nhanh và đơn giản để luồng bị tạm hoãn có thể thực hiện... trong 1 nanosecond, timer sẽ bị tràn sau 584 năm – User manual MQX)  Sau đó giá trị trả về cho ứng dụng là 1 số 32 –bit thể hiện số lượng hardware tick kể từ lần tick cuối cùng  Thông thường MQX RTOS đọc giá trị này từ hardware counter phục vụ trong chương trình timer Kết quả nhận được thời gian một cách chính xác vì số lần “tick” có thể được xác định Cái nhìn sâu về xử lý T /gian của Kernel  Một số... trúc điều khiển vòng lặp với polling và mô hình sắp xếp ưu tiên Trong kiến trúc điều khiển vòng lặp với polling, kernel sẽ thực thi một vòng lặp vô hạn, vòng lặp này sẽ chọn ra luồng trong một mẫu được định trước  Nếu một luồng cần dịch vụ, nó sẽ được xử lý Có một vài biến thể của phương pháp này, tuy nhiên vẫn phải đảm bảo mỗi luồng đều có khả năng truy cập đến vi xử lý Hình dưới mô tả cách xử lý của. .. năng truy cập đến vi xử lý Hình dưới mô tả cách xử lý của phương pháp này  Mặc dù phương pháp điều khiển vòng lặp với polling rất dễ thực hiện, tuy nhiên nó vẫn có những hạn chế nghiêm trọng  Thứ nhất đó chính là nó sẽ mất rất nhiều thời gian, khi mà một luồng cần truy cập đến vi xử lý sẽ phải chờ đến lượt của mình, và một chương trình có quá nhiều luồng sẽ bị chậm đi rất nhiều  Thứ hai, phương pháp... ưu tiên giữa các luồng  Một phương pháp khác mà các kernel thời gian thực hay sử dụng đó chính là mô hình sắp xếp mức độ ưu tiên  Trong mô hình này, mỗi luồng sẽ đi kèm với mức độ ưu tiên của nó, lúc này, vi xử lý sẽ thiết lập đường truy cập tới luồng nào có mức độ ưu tiên cao nhất khi nó đòi hỏi được phục vụ Cũng có một vài biến thể của phương pháp này, tuy nhiên vẫn phải đảm bảo các luồng có mức

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

Từ khóa liên quan

Mục lục

  • PowerPoint Presentation

  • Mục tiêu

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • MQX Timing

  • Round-Robin Scheduling

  • Timeouts for MQX function calls And time_delay

  • Slide 11

  • Slide 12

  • Cái nhìn sâu về xử lý T/gian của Kernel

  • Slide 14

  • Slide 15

  • Slide 16

  • Kiến trúc của hệ thống thời gian thực

  • Slide 18

  • Slide 19

  • Slide 20

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

Tài liệu liên quan