1 / 14

Free RTOS

Free RTOS. Nguyễn Đăng Khoa 50701136 Nguyễn Cao Trọng Luân 50701396 . Nội dung. Giới thiệu FreeRTOS Đặc điểm Các đối tượng Các kiến trúc support. Giới thiệu FreeRTOS. Đ ược nghiên cứu bởi Richard Barry với tên ban đầu là FRTOS07

ted
Download Presentation

Free RTOS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Free RTOS NguyễnĐăngKhoa 50701136 Nguyễn Cao TrọngLuân 50701396

  2. Nội dung • GiớithiệuFreeRTOS • Đặcđiểm • Cácđốitượng • Cáckiếntrúc support

  3. GiớithiệuFreeRTOS • Đượcnghiêncứubởi Richard Barry vớitên ban đầu là FRTOS07 • FreeRTOSlàhệthờigianthực, preemtivevàhướngđếncácthiếtbịnhúngMiễnphí, mãnguốnmở • Làmột portable, open source, mini real-time kernel cóthểvậnhànhtrongchếđộưutiêntrướccũngnhưcósựphốihợp • Phiênbảnmớinhất V7.0.0 (04/2011) • License: Modified GPL • Trangchủ: http://www.freertos.org/

  4. License

  5. Đặcđiểm • Thờigianthực • Vậnhànhtheopreemtivehoặc cooperative • Dynamic Scheduling • Giaotiếptiếntrình: Queuing vàSynchronizition • Tránh blocking và deadlock • Xửlý Critical Section • Scheduler Suspension • Cấpphátbộnhớ • Đảongượcđộưutiên

  6. Task Management • TCB (Task Control Block)

  7. Task Management • Cáctrạngtháicủa Task

  8. Co-routines • Cócácđặcđiểmnhưmột task • Đượcsửdụngtrênnhữngkiếntrúc processor nhỏvàcó dung lượng RAM hạnchế. • Cáctrạngtháicủa Co-routine

  9. Queue • Liênlạcgiữacác task • Gửithông tin giữacác task, hoặc interrupt với task

  10. Binary Semaphore • Đượcsửdụngchomụcđíchloạitrừnhauvàđồngbộ. • Tuynhiên Binary Semaphore thườngđượcsửdụngchomụcđíchđồngbộ.

  11. Counting Semaphore • Đếmsựkiện • Quảnlýtàinguyên

  12. Mutexes • Làmột Binary Semaphore, cócơchếthừakếđộưutiên • Sửdụng 1 “token” đểbảovệtàinguyên • Sửdụngchungcáchàm API vớicác Semaphore • Một task muốnsửdụngtàinguyênphảicó “token”, nếukhôngcósẵnsẽrơivàotrạngthái block.

  13. Recursive Mutexes • Mutexsẽkhông available chođiếnkhiđượcgọihàmxSemaphoreGiveRecursive()chomỗilầnlấythànhcôngxSemaphoreTakeRecursive() • Các task mộtkhiđãlấy semaphore thìnhấtthiếtphảitrảlạikhimà task đókhôngsửdụngsemaphrenữa • Khôngđượcsửdụngtrong interrupt service routines

  14. Cáckiếntrúchỗtrợ • HiệntạiFreeRTOSđãhỗtrợđến 27 kiếntrúc: • Altera: NIOS II • Atmel: SAM3, SAM7, AT91,AVR32 • Microchip: PIC32,PIC24 dsPIC, … • NXP: LPC1700, LPC2000 • Renesas: RX600, SH,H8 • ST: STM32, STR7,STR9 • … • Cómộtcộngđồng support rộnglớn • http://sourceforge.net/projects/freertos/forums • http://www.freertos.org/

More Related