그림 1. FreeRTOS의 태스크 상태머신 Fig. 1. Task State Machine in FreeRTOS
그림 2. 수퍼루프 멀티태스킹 실행 구조 Fig. 2. Super loop multitasking execution structure
그림 3. FreeRTOS 멀티태스킹 실행 구조 Fig. 3. FreeRTOS multitasking execution structure
그림 4. 수퍼루프 방식과 FreeRTOS 멀티태스킹 방식의 태스크 실행시간 비교 Fig. 4. Comparing Task Execution Times of Super Loop and FreeRTOS Multitasking
그림 5. 여러 태스크를 실행하는 수퍼루프 방식과 FreeRTOS 멀티태스킹 방식의 실행시간 비교 Fig. 5. Comparing the execution time of super loop method and FreeRTOS multitasking method that execute several tasks
그림 6. FreeRTOS 멀티태스킹 방식의 쓰레드 개수에 따른 태스크 실행시간 비교 Fig. 6. Comparison of task execution time according to the number of FreeRTOS multitasking threads
References
- Z. Cheng, Y. Li, and R. West. Qduino: A multithreaded arduino system for embedded computing. In Proceedings of the 36th IEEE Real-Time Systems Symposium (RTSS 2015), San Antonio, Texas, December 2015.
- Dong-Hwan Gong, "A Study on Open Source Hardware Performance for IoT Devices", Hansei Univ, 2017.
- T. P. Baker. Stack-based scheduling for realtime processes. Real-Time Systems, 3(1):67-99, April 1991. https://doi.org/10.1007/BF00365393
- Galadima and A. Adamu, "Arduino as a learning tool", 2014 11th International Conf. on Electronics, Computer and Computation, pp. 1-4, Sep. 2014.
- OSHA(Open Source Hardware Association), https://www.oshwa.org/
- Y. Chemin, N. Sanjaya, P. K. N. C. Liyanage, "An Open Source Hardware & Software online raingauge for real-time monitoring of rainwater harvesting in Sri Lanka." Symposium on Mainstreaming Rainwater Harvesting as a Water Supply Option, 2014.
- Freertos port for arduino. https://github.com/greiman/FreeRTOS-Arduino
- Arduino scheduler library. https://www.arduino.cc/en/Reference/Scheduler
- Nicolas Melot, "Study of an operating system : FreeRTOS", http://wiki.csie.ncku.edu.tw/embedded/FreeRTOS_Melot.pdf
- FreeRTOS, http://www.freertos.org
- Arduino Playground. http://playground.arduino.cc/
- Wikipedia, https://www.wikipedia.org/