Thông báo

Collapse
No announcement yet.

RTOS và atmega128

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • RTOS và atmega128

    Em đang có đề tài liên quan đến 2 cái này, em đã đọc qua các tài liệu trên diễn đàn, nhưng đa số nói quá mang tính lý thuyết. Bác nào làm rồi cho em một ví dụ đơn giản về việc sử dụng RTOS.

    RTOS là gì? hệ điều hành thời gian thực
    vậy nó để làm gì ? nạp vào vi điều khiển ? vậy sao ko dùng cách thông thường, cứ code rồi nạp vào vi đk ,dùng RTOS làm gì cho nó tốn tài nguyên
    Người ta bảo là dùng cái này thì quản lý, tài nguyên, quản lý, phần cứng, quản lý các tiến trình(task) các scheduler ? rồi chạy các task song song..

    Bây giờ em cần làm một project với atmega128 thì cần những gì?
    Em đã tìm được, code của RTOS dùng WinAvr để dịch< thấy nó bảo thế, đủ loại RTOS, em dùng cái freeRTOS>

    Với 1 project vđk bình thường, kit phát triển, phần mềm lập trình, biên dịch, phần mềm mô phỏng?
    tương tự, giả sử em muốn nạp 1 thằng rtos có mỗi task nháy led, thì làm như thế nào ? thiết kế, lập trình, mô phỏng...??

  • #2
    chào bạn. Mình đang nhá cái món uC/OS II rtos, nếm với cái atmega128 như của bạn.
    Có một số ý kiến thế này:
    1. rtos cũng là một ứng dụng chạy trên vi đk thôi, tức là nó cũng code rồi nạp vào vđk
    2. người ta đã mất công viết ra rtos (quả thật ko đơn giản) thì nó phải có tác dụng chứ. Tuy nhiên, có lúc nó có tác dụng tốt, có lúc không bằng việc viết quách như bình thường. Ví dụ như, với uCOS thì nên dùng với vđk 16bit trở lên và có bộ nhớ lớn.
    Nếu mà dự án của bạn chỉ chạy 1 2 tác vụ, hay 1 2 ứng dụng thì dùng RTOS làm gì cho vất vả, phức tạp.
    3. làm một proj với atmega128 (hay bất kỳ loại nào khác) nói nôm na, giống như việc ta cài Win, rồi sau dó cài phần mềm. Trước hết cần kiểm tra xem vđk có đủ điều kiện để chạy cái rtos hay ko? trình biên dịch có hỗ trợ các mã lệnh của rtos hay ko? có rồi thì công việc còn lại là phải làm cho cái rtos nó tương thích với vđk đó (bởi vì mỗi loại vđk có hệ thống thanh ghi, bộ nhớ, ngăn xếp .... khác nhau) công việc này khó nhất. Xong cái này thì mọi chuyện đơn giản; chúng ta viết các ứng dụng của chúng ta như bình thường nhưng có khai báo phù hợp với cái RTOS yêu cầu. Tiếp theo, dùng các hàm trong RTOS để khởi tạo và quản lý cái mà ta vừa tạo. Thế là nó chạy thôi. (nhưng mà cái thế là này cũng ko hề đơn giản, chỉ lỗi một tí thôi là ốm đòn với nó đấy)

    Comment


    • #3
      Nguyên văn bởi popeye Xem bài viết
      Người ta bảo là dùng cái này thì quản lý, tài nguyên, quản lý, phần cứng, quản lý các tiến trình(task) các scheduler ? rồi chạy các task song song..
      trước đây nghe thấy scheduler rồi là lập lịch thật là khó hiểu. Cứ nói quách nó là hàm để xác định xem cái nào được chạy tiếp (what next?), thế có đơn giản hơn ko.

      Với uCOSII nguyên lý của nó như sau: tạo một nguồn ngắt tuần hoàn có tần số thích hợp (ko quá nhanh hay quá chậm) mỗi nhịp ngắt được gọi là "clock tick"; trước khi hệ điều hành chạy, các tác vụ được khởi tạo hết, mỗi tác vụ được gán một mức ưu tiên; mỗi khi có ngắt "clock tick" nó lưu ngữ cảnh lại, check xem tác vụ nào có mức ưu tiên cao nhất đang đòi chạy, lôi ngữ cảnh của nó ra và cho nó chạy, và lại đến "clock tick" tiếp theo ... các tác vụ đang chạy lại liên lạc với nhau bằng hộp mailbox, rồi dùng chung tài nguyên và ... phát sinh ra đủ thứ lằng nhằng mà RTOS cần giải quyết. Và cách giải quyết của các RTOS là khác nhau, vì thế tôi nghĩ là cũng chỉ nên hiểu nguyên lý của nó thôi rồi học cách sử dụng, chứ đi sâu vào thì quả là nhức đầu mà chưa chắc có kết quả

      Comment


      • #4
        http://www.freertos.org/tutorial/index.html
        Đây là 1 bài phân tích rất hay của FreeRTOS về các cách viết ct trên hệ thống
        embeded
        Phiên bản mới của WEB không có link tới.Không hiểu sao nó làm vậy.
        May là mình có lưu lại bookmark.

        Sông dài, Thuyền lớn, Biển rộng bao la.
        Tháo neo ngôn ngữ, lèo lái con thuyền kiến thức nhân loại.

        Comment

        Về tác giả

        Collapse

        popeye Tìm hiểu thêm về popeye

        Bài viết mới nhất

        Collapse

        Đang tải...
        X