FreeRTOS

FreeRTOS là hạt nhân hệ điều hành thời gian thực cho hệ thống nhúng được phát triển bởi Real Time Engineers Ltd, sáng lập và sở hữu bởi Richard Barry. Nó đã được port sang 35 nền tảng vi điều khiển và được phân phối theo giấy phép MIT.

Lịch sử 
Nhân FreeRTOS ban đầu được phát triển bởi Richard Barry vào khoảng năm 2003, sau đó được phát triển và duy trì bởi công ty của Barry, Real Time Engineers Ltd. Vào năm 2017, công ty đã chuyển quyền quản lý dự án FreeRTOS cho Amazon Web Services (AWS). Barry tiếp tục làm việc trên FreeRTOS như một phần của nhóm AWS.

Triển khai 
FreeRTOS được thiết kế nhỏ gọn và đơn giản. Nó chủ yếu được viết bằng ngôn ngữ lập trình C để dễ dàng port và bảo trì. Nó cũng bao gồm một số hàm hợp ngữ nếu cần, chủ yếu là trong các quy trình của bộ lập lịch cụ thể theo kiến trúc.

FreeRTOS cung cấp các phương thức cho đa luồng hoặc tác vụ, mutexes, semaphores và đồng hồ. Chế độ không đánh dấu được cung cấp cho các ứng dụng năng lượng thấp. Ưu tiên luồng được hỗ trợ. Các ứng dụng FreeRTOS có thể được cấp phát tĩnh, nhưng các đối tượng cũng có thể được cấp phát động với năm lược đồ quản lý bộ nhớ (cấp phát):

 chỉ cấp phát;
 phân bổ và tự do với một thuật toán rất đơn giản, nhanh chóng;
 một thuật toán tự do và phân bổ phức tạp hơn nhưng nhanh hơn với sự kết hợp bộ nhớ;
 một giải pháp thay thế cho sơ đồ phức tạp hơn bao gồm sự kết hợp bộ nhớ cho phép chia nhỏ và nhân trên nhiều vùng bộ nhớ.
 và thư viện C phân bổ và tự do với một số bảo vệ loại trừ lẫn nhau.

RTOS thường không có các tính năng nâng cao hơn thường thấy trong các hệ điều hành như Linux và Microsoft Windows, chẳng hạn như trình điều khiển thiết bị, quản lý bộ nhớ nâng cao, tài khoản người dùng. Điểm nhấn là tính nhỏ gọn và tốc độ thực thi. FreeRTOS có thể được coi như một thư viện luồng hơn là một hệ điều hành, mặc dù có sẵn giao diện dòng lệnh và tính năng trừu tượng nhập/xuất (I/O) giống POSIX.

FreeRTOS triển khai nhiều đa luồng bằng cách yêu cầu chương trình chủ gọi một phương thức đánh dấu luồng vào những khoảng thời gian ngắn đều đặn. TPhương thức đánh dấu luồng chuyển đổi các tác vụ tùy thuộc vào mức độ ưu tiên và một sơ đồ lập lịch vòng lặp. Khoảng thời gian thông thường là 1 đến 10 mili giây ( đến  giây) thông qua ngắt từ bộ hẹn giờ phần cứng, nhưng khoảng thời gian này thường được thay đổi để phù hợp với một ứng dụng nhất định.

Bản phân phối phần mềm chứa các cấu hình và trình diễn được chuẩn bị sẵn cho mọi cổng và trình biên dịch, cho phép thiết kế ứng dụng nhanh chóng. Trang web của dự án cung cấp tài liệu và hướng dẫn RTOS cũng như chi tiết về thiết kế RTOS.

Tính năng chính 

 Sách và tài liệu hướng dẫn tham khảo
 Kích thước bộ nhớ nhỏ, chi phí thấp và thực thi nhanh chóng.
 Tùy chọn ít đánh dấu cho các ứng dụng năng lượng thấp.
 Dành cho cả những người có sở thích và các nhà phát triển chuyên nghiệp làm việc trên các sản phẩm thương mại.
 Scheduler can be configured for both preemptive or cooperative multitasking.
 Hỗ trợ Coroutine (coroutines trong FreeRTOS là các tác vụ đơn giản và nhẹ với việc sử dụng ngăn xếp cuộc gọi có giới hạn)
 Hỗ trợ theo dõi thông qua macro theo dõi chung. Các công cụ như Tracealyzer, một công cụ thương mại của đối tác FreeRTOS Percepio, do đó có thể ghi lại và trực quan hóa hành vi runtime của các hệ thống dựa trên FreeRTOS để gỡ lỗi và xác minh. Điều này bao gồm lập lịch tác vụ và các cuộc gọi hạt nhân cho các hoạt động semaphore và hàng đợi.

Kiến trúc hỗ trợ 

 Altera Nios II
 ARM architecture
 ARM7
 ARM9
 ARM Cortex-M
 ARM Cortex-A
 Atmel
 Atmel AVR
 AVR32
 SAM3, SAM4
 SAM7, SAM9
 SAMD20, SAML21
Ceva
Ceva-BXx
SensPro
Ceva-XC16
Ceva-XM6
Ceva-Xx
Ceva-XM4
 Cortus
 APS1
 APS3
 APS3R
 APS5
 FPS6
 FPS8
 Cypress
 PSoC
 Energy Micro
 EFM32
 eSi-RISC
 eSi-16x0
 eSi-32x0
 DSP Group
 DBMD7
 Espressif
 ESP8266
 ESP32
 Fujitsu
 FM3
 MB91460
 MB96340
 Freescale
 Coldfire V1, V2
 HCS12
 Kinetis
 IBM
 PPC404, PPC405
 Infineon
 TriCore
 Infineon XMC4000
 Intel
 x86
 8052
 Microchip Technology
 PIC18, PIC24, dsPIC
 PIC32
 Microsemi
 SmartFusion
 Multiclet
 P1
 NXP
 LPC1000
 LPC2000
 LPC4300
 Renesas
 78K0R
 RL78
 H8/S
 RX600
 RX200
 SuperH
 V850
 RISC-V
 RV32I
 RV64I
 PULP RI5CY
 Silicon Labs
 Gecko (ARM Cortex)
 STMicroelectronics
 STM32
 STR7
 Texas Instruments
 MSP430
 Stellaris
 Hercules (TMS570LS04 & RM42)
 Xilinx
 MicroBlaze
 Zynq-7000

Biến thể

Amazon FreeRTOS 
Amazon cung cấp một phần mở rộng của FreeRTOS, được gọi là a:FreeRTOS. Đây là FreeRTOS với các thư viện hỗ trợ Internet vạn vật (IoT), đặc biệt cho Amazon Web Services. Kể từ phiên bản 10.0.0 vào năm 2017, Amazon đã quản lý mã FreeRTOS, bao gồm mọi bản cập nhật cho hạt nhân gốc.

SAFERTOS 
SAFERTOS được phát triển như một phiên bản bổ sung của FreeRTOS, với các chức năng phổ biến, nhưng được thiết kế để thực hiện quan trọng về an toàn. FreeRTOS là đối tượng của nghiên cứu nguy cơ và khả năng hoạt động (HAZOP), và các điểm yếu đã được xác định và giải quyết. Kết quả được đưa vào vòng đời phát triển IEC 61508 SIL 3 đầy đủ, mức cao nhất cho một thành phần chỉ phần mềm.

SAFERTOS được phát triển bởi Wittenstein High Integrity Systems, hợp tác với Real Time Engineers Ltd, nhà phát triển chính của FreeRTOS. Cả SAFERTOS và FreeRTOS đều chia sẻ cùng một thuật toán lập lịch, có giao diện lập trình ứng dụng (API) tương tự và rất giống nhau, nhưng chúng được phát triển với các mục tiêu khác nhau. SAFERTOS chỉ được phát triển bằng ngôn ngữ C để đáp ứng các yêu cầu chứng nhận theo tiêu chuẩn IEC61508..

SAFERTOS chỉ có thể nằm trong bộ nhớ chỉ đọc (ROM) trên chip của bộ vi điều khiển để tuân thủ các tiêu chuẩn. Khi được triển khai trong bộ nhớ phần cứng, mã SAFERTOS chỉ có thể được sử dụng trong cấu hình gốc, được chứng nhận của nó. Điều này có nghĩa là chứng nhận một hệ thống không cần kiểm tra lại phần nhân của một thiết kế. SAFERTOS được bao gồm trong ROM của một số Vi điều khiển Stellaris từ Texas Instruments. Mã nguồn SAFERTOS không cần phải mua riêng. Trong trường hợp sử dụng này, tệp tiêu đề C được sử dụng để ánh xạ các hàm API SAFERTOS tới vị trí của chúng trong bộ nhớ chỉ đọc.

OPENRTOS 
OPENRTOS  là phiên bản Amazon FreeRTOS được cấp phép thương mại, được bán bởi WITTENSTEIN High Integrity Systems. Sản phẩm này cung cấp hỗ trợ và cho phép các công ty sử dụng hạt nhân và thư viện Amazon FreeRTOS mà không cần giấy phép a:FreeRTOS MIT.

Xem thêm 

 Hệ điều hành nhúng

Tham khảo

Liên kết ngoài 

 

Hệ điều hành tự do
Hệ điều hành nhúng
Hệ điều hành thời gian thực