
Đồ án tốt nghiệp
Nghiên cứu và port hệ điều hành thời gian thực FreeRTOS lên vi điều khiển PIC 1
Lời cảm ơn

Đồ án tốt nghiệp
Nghiên cứu và port hệ điều hành thời gian thực FreeRTOS lên vi điều khiển PIC 2
Mục lục
Lời cảm ơn .......................................................................................................... 1
Mục lục ................................................................................................................ 2
Danh mục hình vẽ và bảng biểu ........................................................................ 4
Mở đầu ................................................................................................................ 5
Phần I: Tổng quan về hệ điều hành thời gian thực ........................................ 6
I. Tổng quan các loại hệ điều hành .............................................................. 6
1. Hệ điều hành cho Mainframe ................................................................ 7
2. Hệ điều hành cho các Server ................................................................. 8
3. Hệ điều hành đa vi xử lý ....................................................................... 8
4. Hệ điều hành cho máy tính cá nhân ...................................................... 8
5. Hệ điều hành thời gian thực .................................................................. 8
6. Hệ điều hành nhúng .............................................................................. 9
7. Hệ điều hành cho thẻ thông minh ......................................................... 9
II. Tìm hiểu hệ điều hành thời gian thực ................................................. 10
1. Hệ điều hành thời gian thực (RTOS) .................................................. 10
2. Các loại hệ điều hành thời gian thực ................................................... 13
3. Tầm quan trọng hệ điều hành thời gian thực ...................................... 14
4. Các hệ điều hành thời gian thực phổ biến ........................................... 15
Phần II: Tìm hiểu chi tiết về FreeRTOS ........................................................ 17
I. Tổng quan về FreeRTOS ........................................................................ 17
1. Khái niệm FreeRTOS .......................................................................... 17
2. Các đặc điểm của FreeRTOS .............................................................. 18
3. Các vấn đề cơ bản trong FreeRTOS ................................................... 20
4. Cách phân phối tài nguyên của FreeRTOS ......................................... 23
5. So sánh hệ FreeRTOS với hệ điều hành thời gian thực uCOS ........... 27
II. Các file trong kernel của FreeRTOS ................................................... 29
1. Các file chính trong kernel .................................................................. 29
2. Các file còn lại trongkernel của FreeRTOS ........................................ 34
III. Port FreeRTOS lên vi điều khiển PIC18F452 .................................... 35
1. Một số chú ý khi port FreeRTOS lên vi điều khiển ............................ 35
2. Các file cần để port lên vi điều khiển PIC18 sử dụng MPLAB .......... 38

Đồ án tốt nghiệp
Nghiên cứu và port hệ điều hành thời gian thực FreeRTOS lên vi điều khiển PIC 3
Phần III: Mô phỏng và giao diện hỗ trợ port FreeRTOS lên PIC .............. 42
I. Mô phỏng port FreeRTOS lên vi điều khiển PIC ................................... 42
1. Phân tích bài toán mô phỏng ............................................................... 42
2. Triển khai bài toán và kết quả mô phỏng ............................................ 43
II. Giao diện hỗ trợ port FreeRTOS lên PIC............................................ 44
1. Ý tưởng, mục đích và nhiệm vụ của giao diện hỗ trợ ......................... 44
2. Trình bày cụ thể về các bước cài đặt và chạy thử ............................... 44
Kết luận ............................................................................................................. 45
Tài liệu tham khảo ........................................................................................... 46
Phụ lục ............................................................................................................... 47
I. Giải thích rõ các file trong FreeRTOS .................................................... 47
1. Các ký hiệu viết tắt trong các hàm và biến ......................................... 47
2. Các file chính cần có trong lõi FreeRTOS .......................................... 47
3. Các file còn lại trong kernel của FreeRTOS ....................................... 57
4. Các file cần để port FreeRTOS lên vi điều khiển ............................... 59
II. Giải thích rõ về giao diện .................................................................... 62
Các tài liệu sẽ thêm .......................................................................................... 63
I. Example.ppt .......................... Lỗi! Thẻ đánh dấu không được xác định.
II. RTOS.pdf .......................... Lỗi! Thẻ đánh dấu không được xác định.
III. Rtos ppts.ppt ........................................................................................ 63
IV. Các file khác ...................... Lỗi! Thẻ đánh dấu không được xác định.
V. Làm cuối tuần .................... Lỗi! Thẻ đánh dấu không được xác định.
VI. Việc làm ngày thứ 2 .......... Lỗi! Thẻ đánh dấu không được xác định.

Đồ án tốt nghiệp
Nghiên cứu và port hệ điều hành thời gian thực FreeRTOS lên vi điều khiển PIC 4
Danh mục hình vẽ và bảng biểu
Hình 1: Sơ đồ hệ điều hành ............................................................................................. 6
Hình 2: Sơ đồ hệ thống thời gian thực trong ô tô ........................................................... 9
Hình 3: Hệ điều hành thời gian thực trong điều khiển.................................................. 11
Hình 4: Sơ đồ chức năng của hệ điều hành thời gian thực ........................................... 11
Hình 5: Trạng thái các tác vụ ........................................................................................ 12
Hình 6: Sơ đồ phát triển của FreeRTOS ....................................................................... 17
Hình 7: Sơ đồ phân chia thời gian các tác vụ thực hiện ............................................... 21
Hình 8: Sơ đồ chuyển giao các tác vụ ........................................................................... 21
Hình 9: Sơ đồ phân chia các sự kiện theo thời gian ...................................................... 23
Hình 10: Sơ đồ lập lịch của ví dụ về ưu tiên kế thừa .................................................... 26
Hình 11: Bảng so sánh thời gian đáp ứng 1 .................................................................. 28
Hình 12: Bảng so sánh thời gian đáp ứng 2 .................................................................. 28
Hình 13: Sơ đồ các file và thư mục trong gói FreeRTOS.zip tải về ............................. 29
Hình 14: Ví dụ về đánh dấu hoạt động của kernel ........................................................ 31
Hình 15: Sơ đồ chuyển đổi ngữ cảnh ............................................................................ 39
Hình 17: Mô phỏng trên Proteus ................................................................................... 44
Bảng 1: Bảng so sánh hai loại hệ điều hành thời gian thực .......................................... 13
Bảng 2: Các hỗ trợ khác nhau từ FreeRTOS và OpenRTOS........................................ 18
Bảng 3: Bảng phân phối RAM của heap1 .................................................................... 24
Bảng 4: Bảng phân phối RAM của heap2 .................................................................... 25
Bảng 5: Bảng phân chi tiết các tiến trình ...................................................................... 26
Bảng 6: So sánh lượng RAM cung cấp giữa FreeRTOS và uCOS............................... 27
Bảng 7: Mô tả chi tiết về các task mô phỏng ................................................................ 43

Đồ án tốt nghiệp
Nghiên cứu và port hệ điều hành thời gian thực FreeRTOS lên vi điều khiển PIC 5
Mở đầu
Chú thích [ PNH1] :
Nói rõ về ý nghĩa
của việc port lên VDK và sử dụng những
phần mềm free