460 likes | 1.85k Views
FreeRTOS. G23. 9961256 9960114 9961217. Outline. PART1 Introduction PART2 Architecture PART3 Application Future View Conclusion. PART. I. Introduction. 9961257 王偉一. FreeRTOS. A R eal T ime O perating S ystem Written by Richard Barry & FreeRTOS Team
E N D
FreeRTOS G23 9961256 99601149961217 王偉一 江哲維 洪心為
Outline • PART1 • Introduction • PART2 • Architecture • PART3 • Application • Future View • Conclusion 王偉一,江哲維,洪心為
PART I Introduction 9961257王偉一
FreeRTOS • A Real Time Operating System • Written by Richard Barry & FreeRTOS Team • Owned by Real Time Engineers Ltd but free to use • Huge number of users all over the world • 6000 Download per month • Simple but very powerful 王偉一,江哲維,洪心為
Real-Time Operating System ? • A type of an operating system • It’s all about scheduler : • multi user operating system(UNIX)- fair amount of the processing time • desk top operating system(Windows)- remain responsive to its user • …… • RTOS scheduler focuses on predictable execution pattern 王偉一,江哲維,洪心為
Why using FreeRTOS Abstract out timing information Maintainability/Extensibility Modularity Cleaner interfaces Easier testing (in some cases) Code reuse Improved efficiency? Idle time …... …… 王偉一,江哲維,洪心為
When to use FreeRTOS 王偉一,江哲維,洪心為
License of FreeRTOS • Modified GPL 王偉一,江哲維,洪心為
History of FreeRTOS FreeRTOS v5.0.0 FreeRTOS v1.0.1 FreeRTOS v2.0.0 FreeRTOS v3.0.0 FreeRTOS v4.0.0 +Scalability +New Task API +API Changes +Directory Names Changed +Changes in Kernel +Co-routines +API Changes 王偉一,江哲維,洪心為
What is the current version? FreeRTOS v7.6.0 + Tick Suppression + Queue sets + Port optimized task selection http://www.freertos.org/History.txt 王偉一,江哲維,洪心為
PART II Architecture 9961217洪心為
Architecture Overview • Tasks (50%) • task.cand task.h do all the heavy lifting for creating, scheduling, and maintaining tasks. • Communication (40%) • queue.c and queue.h handle FreeRTOS communication. Tasks and interrupts use queues to send data to each other and to signal the use of critical resources using semaphores and mutexes. • Hardware Interfacing (6%) 王偉一,江哲維,洪心為
TaskStates (1/3) • Running • Ready • Blocked • Suspended 王偉一,江哲維,洪心為
Task Priorities (2/3) Each task is assigned a priority from 0 to ( configMAX_PRIORITIES - 1 ). Low priority numbers denote low priority tasks. The idle task has priority zero (tskIDLE_PRIORITY). The task placed into the Running state is always be the highest priority task that is able to run. Ready state tasks of equal priority share the available processing time using a time sliced round robin scheduling scheme. 王偉一,江哲維,洪心為
Idle Task (3/3) Created automatically when the RTOS scheduler is started to ensure there is always at least one task that is able to run. Responsible for freeing memory allocated by the RTOS to tasks that have since been deleted. An idle task hook is a function that is called during each cycle of the idle task. 王偉一,江哲維,洪心為
Communication & Synchronization Queues Binary Semaphores Counting Semaphores Mutexes Recursive Mutexes 王偉一,江哲維,洪心為
Hardware Interfacing • Hardware Independent • The same code runs whether FreeRTOS is running on the humble 8051 or the newest, shiniest ARM core. • FreeRTOS software layers 王偉一,江哲維,洪心為
PART III Application & Future View 9960114江哲維
Applications & Future view Because of the basic kernel of FreeRTOS, it’s more flexible for users to attach other expanded modules on OS to get more applications. New cloud managed service, file system API, TCP/IP, safety certified kernel… 王偉一,江哲維,洪心為
FreeRTOS+Nabto FreeRTOS+Nabtois a small piece of C code. Each Internet of Things (IoT) device has a unique URL over the Internet, and the technology allows secure, authenticated and extremely low bandwidthP2Pconnections. accessible over a local network in the absence of Internet connectivity. combined with FreeRTOS's special low power features, makes FreeRTOS a natural choice for implementing the Internet of Things. 王偉一,江哲維,洪心為
Benefits A resolvable URL for each device Remote access over the Internet from computer, tablet or smart phone No firewall hassles No embedded file system, TCP/IP stack necessary Low bandwidth for enhanced performance Increased privacy and security Reduced hardware and software cost 王偉一,江哲維,洪心為
Conclusion An Free Real-Time OS with essential kernel of low power(Tick-less kernel) & high efficiency. Support many architecture. Ex. ARM, Altera, Xilinx, IBM, Intel, Cortus… Co-routine – multitasking by coding Open source, implantable, flexible and easy learning 王偉一,江哲維,洪心為
Reference The Architecture of Open Source Applications (Volume 2): FreeRTOS http://www.aosabook.org/en/freertos.html FreeRTOS official Website http://www.freertos.org/ 王偉一,江哲維,洪心為