The Evolution of Android HAL: Exploring the Four Stages from HAL to HIDL
Click the card below to follow Android System Engineer
No Pain, No Gain!
1. Introduction
Learning Philosophy: Understand one knowledge point at a time
Difficulty: ★★★☆☆
Source Code Environment: Android 9.0+
Hardware Environment: Qcom
Reading Time: 2 minutes
Some classmates in the group have raised questions about HIDL and AIDL. In response to these questions, I plan to output three articles. This article is the first one, analyzing the differences between several modes of HAL and HIDL, followed by a demo to solidify the concepts.
2025-01-10
Implementing Global Floating Window in Android with AccessibilityService
This article is authorized by Afterschool Kids to be posted on the author's blog: https://www.jianshu.com/p/b3bd935f8380
Introduction
Recently, I am working on a large-screen Android project, a 70-inch full-touch screen, developed based on Android 5.0 AOSP, blocking the three major virtual keys, so I need to fix the sidebar on both sides of the screen to replace the virtual keys and achieve boot auto-start.
I have never developed such a small
Building an Endless Running Android Service
Source丨Android Bus Android Developer Portal
Link:
Raspberry Pi 4: Redefining the Gold Standard for Single-Board Computers
Hello everyone, I am Xiao Yueyue. Today we are going to talk about the newly released Raspberry Pi 4.
Speaking of Raspberry Pi, it is a series of amazing small computers that can be used in any field your imagination can reach, such as smart home or robotic production lines. It has created the gold standard for single-board computers
Designing Modular Software Architecture for Embedded Systems
1. Introduction
Modular programming design refers to dividing a large program into several smaller program modules according to functionality during program design, with each small program module completing a specific function and establishing necessary connections between these modules to complete the entire functional program
Getting Started with Arduino: Learning Methods and Future Prospects
This article is the last in this introductory tutorial series. By now, we have practiced over a dozen Arduino knowledge points and should have a basic understanding of Arduino: from what Arduino is, to how to write programs using the Arduino IDE, and how to drive some basic electronic components. Finally, I will give beginners some suggestions on learning Arduino
Rust Support in OpenWRT: A Comprehensive Guide
Prepare the environment: Install the source package and xargo.
rustup add component rust-src
cargo install xargo
Specify the OpenWRT gcc environment: Copy the toolchain to the designated directory, or leave it in the source directory, and edit the specified toolchain's bin directory in the bash script ~/.bashrc
for xargo to use.Edit build.rs to specify the lib libraries needed during linking, as follows:
use std::env;
fn main() {
let staging_dir = env::var("STAGING_DIR").unwrap();
println!(
LiteOS Raspberry Pi Porting Guide (Part 2)
Porting Introduction
For embedded devices, due to the large differences in chip models and peripherals, and limited resources, IoT operating systems cannot adapt and integrate all drivers like Windows/Linux. Therefore, typically, only part of the chips/development boards are adapted first. To run the operating system
Affordable Entry-Level Embedded CPU from China
Follow+Star Public Account Number, don’t miss exciting content
Exploring Embedded Vision Applications with AI Development Boards
Introduction: This issue of the AI Embedded Briefing for 20201120 brings you 8 news items, hoping to be of help to you~
Today's push is packed with valuable content, tailored for those who follow embedded AI~
1. Zhang Xianyi, CEO of Pengfeng Technology, explains how to use AI development boards for embedded vision application development aimed at drones.
This article is a summary of the speech by Zhang Xianyi, CEO of Pengfeng Technology at