Explore chapters and articles related to this topic
Internet of Things-Compliant Platforms for Inter-Networking Metamaterials
Published in Christos Liaskos, The Internet of Materials, 2020
FreeRTOS is a real-time operating system kernel for embedded devices. FreeRTOS is designed to be small and simple. The kernel itself consists of only three C files. To make the code readable, easy to port, and maintainable, it is written mostly in C, but there are a few assembly functions included where needed. It is an open source real-time operating system (for embedded systems). FreeRTOS supports many different architectures and compiler toolchains, and is designed to be “small, simple, and easy to use”. Like all operating systems, FreeRTOS's main job is to run tasks. Most of FreeRTOS's code involves prioritizing, scheduling, and running user-defined tasks. Unlike all operating systems, FreeRTOS is a real-time operating system which runs on embedded systems. FreeRTOS ships with all the hardware-independent as well as hardware-dependent code you’ll need to get a system up and running. It supports many compilers (CodeWarrior, GCC, IAR, etc.) as well as many processor architectures (ARM7, ARM Cortex-M3, various PICs, Silicon Labs 8051, x86, etc.). FreeRTOS implements multiple threads by having the host program call a thread tick method at regular short intervals. The thread tick method switches tasks depending on priority and a round-robin scheduling scheme.
Internal Structure of FreeRTOS
Published in Ivan Cibrario Bertolotti, Gabriele Manduchi, Real-Time Embedded Systems, 2017
Ivan Cibrario Bertolotti, Gabriele Manduchi
The most basic intertask communication and synchronization object provided by FreeRTOS is the message queue. All other objects, for instance semaphores, are built upon it. A message queue is represented by the xQUEUE data type, linked to a separate message storage zone. Table 17.2 gives a detailed list of the data structure contents, while Figure 17.6 shows a simplified summary of the state of a message queue in two distinct scenarios: when it contains 3 messages out of a maximum capacity of 6, and there are no tasks waiting to send or receive messages;when it is completely empty and there are two tasks waiting to receive a message from it.
Open-Source Tools for IoT Security
Published in Syed Rameem Zahra, Mohammad Ahsan Chishti, Security and Privacy in the Internet of Things, 2020
Anam Iqbal, Mohammad Ahsan Chishti
FreeRTOS is a freely distributed operating system under the MIT open-source license. It supports more than 40+ processor families like Cyclone V SoC, ARM Cortex-M33 simulator, and SAMV7. It is developed in C language. It includes a kernel and a huge set of libraries suitable for sorts of applications. FreeRTOS has a microkernel architecture. Tasks are executed in a multithreading environment. Since it is a real-time system, the memory allocation is dynamic, and scheduling is done in real-time on a cooperative and preemptive basis. As a power management technique, the system is sent into deep sleep mode when waiting for hardware or other resources. The FAT file system is provided for file management (Jaskani et al., 2019; Bansal and Kumar, 2020; Anon., 2020c).
Experimental validation of a wireless monitored solar still for efficient olive pomace drying and distilled water production
Published in Drying Technology, 2023
Antonio Rodríguez Orta, Roque Aguado Molina, Manuel Sánchez Raya, David Vera Candeas, Juan Antonio Gómez Galán
The software was designed to be fail-safe, using the FreeRTOS operating system that allows the user to define a series of tasks with priority. This priority is set by the programmer, ensuring that all tasks are performed within a certain time. With this implementation of the software, the system is protected against eventualities such as a failure of the Wi-Fi network. Thus, if the system recognizes that the Wi-Fi network is not accessible, it takes the necessary measurements and goes to sleep mode, waiting until the next measurement to be taken. If when the system wakes up to take the next measurement, the network becomes accessible again, it sends all the data not previously uploaded to the server. Otherwise, it waits until the network becomes available again, repeating the power cycle, taking measurements and storing them, and then putting the system in sleep mode. In addition, if the local server is offline or the transmission of data to the Ubidots server causes a failure, the system will close the connection and go into sleep mode; then it will retry the process during the next connection cycle. Figure 8 illustrates the graphs that the user can visualize during the operating stage of the system, implemented in Ubidots and accessible remotely.
A distribute and self-tuning wireless environment monitoring system for buildings based on the Wi-Fi Direct technology
Published in Science and Technology for the Built Environment, 2018
Software developing platform for the control module is based on the FreeRTOS operating system and LwIP protocol stack. FreeRTOS is one of the open-source real-time operating systems which is capable of providing the required synchronization and utilizing the resource of central processing unit (CPU) in an effective and flexible way. LwIP is a simplified and standard transmission control protocol/internet protocol (TCP/IP) stack designed for embedded sensor networks. FreeRTOS and LwIP have already been widely utilized by many users. A software development kit (SDK) is also available and brings tremendous convenience to the programming process.