- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 UML类图介绍
在软件设计与开发中,UML类图是一种极为重要的工具,它能够清晰地展示系统中类的结构、属性、方法以及类之间的关系。掌握如何绘制UML类图,对于理解系统架构、进行代码设计以及团队协作都有着不可忽视的作用。提示:以下是本篇文章正文内容,下面案例可供参考。
2025-04-04 23:50:22
653
原创 android 11--- init.rc文件介绍
在Android 11中,init.rc文件是一个关键的配置文件,它负责系统的初始设置和启动流程。提示:以下是本篇文章正文内容,下面案例可供参考续行:使用反斜杠 \ 可以将一行代码分成多行。转义:使用反斜杠或双引号转义空白字符。空白字符:rc 文件中的标记由空白字符分隔。注释:以 # 开头,用于说明代码。
2025-04-04 15:43:12
719
原创 Android 11系统启动---init进程运行
在Android 11系统中,init进程作为用户空间的第一个进程,扮演着至关重要的角色。它不仅负责初始化系统环境,还承担着启动关键服务和后续进程的重要任务,是整个Android系统启动和运行的核心驱动力之一。平台环境:系统:Android 11开发板:正点原子RK3568系统版本:userdebug (可以通过cat /proc/cmdline查看buildvariant)文件路径:system/core/init/main.cpp。
2025-03-30 21:34:59
807
1
原创 Android 11系统启动---init进程如何启动
init进程在Android系统中扮演着至关重要的角色,它是系统启动和运行的核心引擎之一,也是第一个用户级进程内核初始化前有一段汇编代码写的引导代码,这边不做介绍,有兴趣的可以去研究下(代码路径:kernel/arch/arm64/kernel/vmlinux.lds、kernel/arch/arm64/kernel/head.S);这边从start_kernel函数开始分析代码路径:kernel/init/main.c主要函数:start_kernel、rest_init、kernel_init函数结
2025-03-15 21:42:07
729
原创 RCU(Read-Copy Update)机制
在RCU(Read-Copy Update)机制中,延迟释放(deferred freeing)并不能直接保证读取到的数据是更新后的数据。RCU的主要目的是在读取密集的场景下,允许读者和写者并发执行,同时确保读者看到的是一致的数据视图。
2025-03-12 18:12:08
305
原创 Android系统框架和启动流程
在 Android 系统中,OpenGL ES 与 EGL 紧密配合,负责图形的渲染和显示。用户点击应用程序图标后,系统通过 ActivityManagerService 发送请求到 Zygote 进程,Zygote 进程会 fork 自己创建一个新进程,这个新进程就是应用程序的进程。:一个用低级代码实现的图形库,能够高效地为 Android 平台渲染图形,与 Android 图形管道的更高级组件协同工作。位于最顶层,包括系统应用和用户安装的应用,这些应用利用应用框架提供的API与底层系统交互。
2025-03-10 00:30:53
563
原创 开发入门第一个android app
在 Android Studio 中连接设备或启动模拟器,然后点击 Run 按钮(绿色三角形)运行应用时,整个过程涉及多个步骤,包括编译、打包、安装和启动应用。路径在:/data/app/~~NzsVqwQLPac_dyA5OElgoA==/com.example.myapplication-h1vAHCQXT8JaLm-YFZU_ZA==/base.apk。完成编译和打包后,Android Studio 会通过 adb 将 APK 文件安装到连接的设备或模拟器上。包含应用的核心代码和资源。
2025-02-25 23:10:17
1645
原创 selinux策略配置(RK3568平台、Android 11,sensor设备服务为例)
type:定义一个新的SELinux类型。hal_sensors_default:这是定义的类型名称,表示与hal_sensors_default相关的服务。domain:这是一个属性,表示hal_sensors_default是一个域类型,用于标记进程的运行环境。hal_server_domain:这是一个宏,用于定义hal_sensors_default服务的服务器域。hal_sensors:这可能是与传感器相关的硬件服务接口。type:定义一个新的SELinux类型。
2025-02-10 02:11:37
720
原创 通用字符设备驱动框架
通用字符设备驱动框架@TOC开发板:RK3568 系统:android 112.实现通用代码框架和核心3.实现设备驱动实现Makefile你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z
2025-01-26 21:51:59
1002
原创 网络套接字编程Socket
套接字(socket)为通信的端点,每个套接字由一个 IP 地址和一个端口号组成。通过网络通信的每对进程需要使用一对套接字,即每个进程各有一个;😇通用代码封装/*socket_wrap.h*/#ifndef __SOCKET_WRAP_H_#define __SOCKET_WRAP_H_int Socket_Wrap(int domain,int type,int protocol);int TCP_Socket_Wrap(void);int UDP_Socket_Wrap(void);in
2022-05-25 13:20:24
175
原创 简单的线程池代码(C语言)
#include <stdlib.h>#include <stdio.h>#include <pthread.h>#include <string.h>#include <unistd.h>#define MIN_THREAD_NUM (1)#define MAX_THREAD_NUM (50)/*cmd: ps -auxcmd: ps -Lf PID*//*list is first nodeitem is adde
2022-05-24 13:31:19
325
原创 linux c 替换含a=b形式的文件内容
linux c 替换含a=b形式的文件内容#include <stdio.h>#include <stdlib.h>#include <string.h>#define FILE_LINE_BYTE 1024#define FILE_LINE_NUM 512int Replace_sp_strline(char file_path,char sp_str,char rp_str){/此例行结构为=**line_buf:读取文件中的一行存入的缓冲*
2022-03-02 18:31:34
347
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人