Explore chapters and articles related to this topic
Integration for Complex Consumer Robotic Systems: Case Studies and Analysis
Published in Shuzhi Sam Ge, Frank L. Lewis, Autonomous Mobile Robots, 2018
Mario E. Munich, James P. Ostrowski, Paolo Pirjanian
The HAL does this by abstracting away the details of particular hardware devices and platform-specific ways of interacting with hardware or other resources. We define a resource to be a physical device, connection point, or any other means through which the software interacts with the external environment. Resources include sensors and actuators, network interfaces, microphones and speech recognition systems, or a battery. We have also extended the notion of resources to include fundamental computational units that operate on sensory data. For example, both vSLAM and ViPR can be accessed directly as resources. This level of abstraction helps to maintain a constant level of integration complexity as discussed earlier in Section 15.5.
Sensor Networking Software and Architectures
Published in John R. Vacca, Handbook of Sensor Networking, 2015
HAA employs three sublayers, hardware presentation layer (HPL), hardware adaptation layer (HAL), and hardware interface layer (HIL). HPL is right on top of the hardware to represent the full functional capacity of the hardware. It is hardware dependent but hides the most hardware-dependent codes in order to develop a higher-level abstraction. The middle layer of HAA is HAL. HAL is built on top of HPL to build useful abstractions. In contrast to HPL, it has two key characteristics: one is that state is allowed to be maintained in this layer for performing arbitration and resource control, and the other is that hardware-specific applications can be built, as illustrated in Figure 2.12. On the other hand, the top layer HIL is doing the opposite job. It will convert the hardware-specific abstractions provided by HAL to hardware independent for cross-platform applications.
Case Study
Published in James Aweya, Designing Switch/Routers, 2023
To support the portability of FTOS across multiple platforms, Force10 implemented a hardware abstraction layer (HAL) code in FTOS as illustrated in Figures 4.10 and 4.11 [FOR10HAL08]. The HAL is an abstraction layer, implemented in software that decouples the kernel of an operating system from the specific details of the underlying hardware. It hides differences in the underlying hardware from the operating system kernel, so that most of the kernel-mode code does not need to be rewritten to run on systems with different hardware.
Performance evaluation of windows virtual machines on a Linux host
Published in Automatika, 2020
Josip Balen, Krešimir Vdovjak, Goran Martinović
Virtualization layer or platform maps requests from a virtual machine to physical requests and supports virtual environments with software approaches. Virtual environment can be provided with several different methods and at several different levels of abstractions [3]. Those levels are Instruction Set Architecture (ISA), Hardware Abstraction Layer (HAL), operating system and user level. ISA-level virtualization emulates another architecture by translating from one ISA to another, sometimes by rewriting instructions. Virtualization at HAL-level exploits the similarity in architectures between the virtual and host machines and use the native hardware to executes certain instructions without emulation. HAL-level virtualization used in experiments is hown in Figure 1.
Software architecture design, implementation, and evaluation of DCF-based MAC protocol on a low-power transceiver
Published in Journal of the Chinese Institute of Engineers, 2018
Yaw-Wen Kuo, Jane-Hwa Huang, Wei Lu
Figure 2 shows the system overview including four major parts: (a) the hardware part, (b) the hardware abstraction layer (HAL) and interrupt service routines (ISRs), (c) the MAC layer, and (d) the upper layer. The proposed software architecture requires two hardware modules: the radio frequency (RF) module and the MAC timer. The functions in HAL provide the methods to interface the hardware modules for functions in higher layers, and the functions of ISRs deal with the tasks triggered by corresponding hardware modules.