自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 Jetpack Compose 动画全解析:从基础到高级,让 UI “动” 起来

Jetpack Compose 动画全解析:从声明式语法到高级控制 摘要:Jetpack Compose 提供了一套创新的声明式动画系统,通过状态驱动实现UI的动态效果。相比传统Android动画,Compose动画具有更简洁的声明式语法、与UI状态深度绑定、可组合性强等优势。核心功能包括:animateXAsState实现简单属性动画(尺寸/颜色/透明度等)、Animatable提供精细控制(暂停/重启/连续动画),以及spring/tween等多样化动画曲线。文章还演示了如何通过协程实现复杂动画序列和物

2025-08-08 15:46:58 773

原创 Jetpack Compose 主题系统全解析:从基础配置到动态切换

本文全面解析Jetpack Compose主题系统,涵盖从基础配置到动态切换的实现方法。Compose基于Material Design 3,通过MaterialTheme提供颜色、排版和形状三大核心维度的主题配置。颜色系统包含主色调(primary)、次级色调等角色,并支持浅色/深色模式;排版系统定义13种预设文本样式;形状系统统一组件的边角样式。文章详细演示了如何创建自定义主题,包括定义颜色方案、排版方案、形状方案,并封装成可复用的主题函数。此外,还介绍了动态颜色适配Android 12+系统的实现方式

2025-08-08 14:16:13 685

原创 Jetpack Compose 常用控件

本文系统介绍了Jetpack Compose中的常用控件,分为基础展示控件和交互控件两大部分。基础控件包括Text(文本)、Image(图片)和Icon(图标),详细展示了样式配置、图片加载和矢量图标使用。交互控件部分重点讲解了Button(按钮)及其变体(文本按钮、图标按钮等)的实现方式,以及Checkbox等选择控件的状态绑定。所有示例均提供Kotlin代码片段和关键属性说明,帮助开发者快速掌握Compose UI开发的核心组件。

2025-08-08 11:21:45 589

原创 Jetpack Compose 应用布局

Jetpack Compose 采用声明式 UI 构建方式,通过可组合函数实现灵活布局设计。文章系统介绍了 Compose 的核心布局组件:基础布局(Column、Row、Box)处理线性排列和层叠关系,支持权重分配和精确定位;滚动布局(LazyColumn、LazyRow)优化长列表性能,实现按需渲染。Compose 布局遵循"描述 UI 状态"而非控制流程的原则,开发者只需定义组件结构,系统自动处理测量和布局过程。这种组合式设计大幅简化了 UI 开发,同时保持高度可定制性。

2025-08-08 10:03:30 910

原创 【RK3568 看门狗驱动开发详解】

RK3568看门狗驱动开发摘要:本文详细讲解了RK3568平台的看门狗驱动开发,包括Linux看门狗子系统的三层架构(用户空间、内核空间、硬件层),重点分析了核心层的watchdog_device和watchdog_ops数据结构。驱动实现基于DW_WDT框架,通过寄存器操作完成启动、喂狗等功能,设备树配置位于rk3568.dtsi文件。开发过程涵盖时钟控制、超时设置、复位处理等关键功能,为嵌入式系统可靠性提供了硬件级保障方案。

2025-08-02 11:24:16 488

原创 【RK3568 RTC 驱动开发详解】

本文详细介绍了RK3568平台RTC驱动开发过程。首先分析了Linux RTC子系统的三层架构设计,包括核心层、驱动层和硬件层。重点讲解了RK3568外挂RTC设备的设备树配置方法,包括I2C总线定义和引脚复用设置。针对RK809内置RTC与外挂RTC的冲突问题,提供了内核配置解决方案。最后给出了Epson RX8010SJ RTC芯片的驱动实现代码框架,包含寄存器定义、设备匹配表及中断处理等内容。整个开发过程涵盖了从硬件连接到软件实现的完整流程,为嵌入式系统中的RTC功能开发提供了实用参考。

2025-08-02 10:12:18 535

原创 【RK3568 PWM 子系统(SG90)驱动开发详解】

本文详细介绍了 RK3568 平台的 PWM 子系统,包括基础知识、软件框架和驱动开发。通过这个驱动,你可以在 RK3568 上轻松实现 PWM 控制功能,应用于 LED 调光、电机控制等场景。在实际开发中,你可能需要根据具体硬件配置调整寄存器定义和初始化参数。同时,建议通过设备树配置 PWM 参数,以提高系统的可维护性和可扩展性。

2025-07-26 21:23:49 1033

原创 【RK3568 串口驱动开发】

本文介绍了RK3568串口驱动开发的关键内容,包括串口通信基础概念(单工/双工模式、异步/同步通信、波特率等)和常见标准(TTL、RS232、RS485)。重点分析了RK3568的串口子系统架构,涵盖Linux内核串口驱动框架(8250通用驱动)、menuconfig配置方法和设备树节点配置。通过设备树文件(rk3568.dtsi、rk3568-evb1-ddr4-v10.dtsi等)详细说明了串口控制器注册、引脚复用和硬件初始化流程,为RK3568平台的串口驱动开发提供了完整的技术参考。

2025-07-26 11:23:08 804

原创 【RK3568 平台I2C协议与AGS10驱动开发】

本文介绍了RK3568平台上基于I2C协议的AGS10空气质量传感器驱动开发。主要内容包括:I2C总线协议的基础知识(双线制、主从架构、寻址机制等)、I2C通信过程详解(起始/停止条件、地址帧、应答位等)、AGS10传感器的特性与命令集(7位地址0x1A,速率≤15kHz),以及具体的驱动实现方案。驱动开发涵盖硬件连接、设备树配置(I2C3总线设置)、内核驱动开发(使用i2c_master_send/recv等API),并提供了核心代码片段。通过本文可掌握I2C通信原理及传感器驱动开发方法。

2025-07-13 14:23:00 726

原创 【RK3568 平台单总线 DS18B20 温度传感器开发】

本文介绍了基于RK3568平台开发DS18B20单总线温度传感器的详细过程。文章首先概述了单总线协议的特点和通信原理,包括初始化时序、读写时序等关键操作。随后重点分析了DS18B20温度传感器的工作原理、寄存器结构、ROM/RAM指令集,并提供了温度计算方法。在硬件实现方面,详细说明了RK3568与DS18B20的连接方式、设备树配置以及内核驱动开发,包括初始化和读写操作的代码实现。该方案展示了单总线协议在嵌入式系统中的高效应用,为物联网温度监测提供了完整的开发参考。

2025-07-12 16:12:17 999

原创 【RK3568 编译rtl8723DU驱动】

在驱动开发中,驱动的编译与集成是实现设备功能的关键环节。本文聚焦于基于 RK3568 处理器平台编译 RTL8723DU WiFi/BT 二合一模块驱动的完整流程,涵盖源码编译到驱动调试的全链条操作,旨在为开发者提供可落地的技术指南,解决驱动移植过程中常见问题。

2025-07-05 21:38:37 271

原创 【RK3568 驱动开发:实现一个最基础的网络设备】

本文介绍了在Linux平台上开发基础网络设备驱动的过程。

2025-07-05 17:16:43 738

原创 【 RK3568 平台以太网驱动设置】

在嵌入式系统开发中,以太网通信是实现设备联网的基础功能。本文将深入探讨 RK3568 平台上以太网驱动的开发,从硬件组成到软件实现,详细解析 RJ45 接口、MAC 控制器、PHY 芯片以及它们之间的协同工作原理。

2025-07-05 15:13:43 842

原创 【 Linux 输入子系统】

摘要: Linux输入子系统是人机交互的核心枢纽,负责将物理设备的原始信号转化为标准化事件。其采用三层架构:设备驱动层获取数据,核心层抽象事件,事件处理层传递给应用。文章通过虚拟按键设备的实现案例(定时上报按键值),展示了输入子系统的核心机制,包括设备注册、事件上报等流程。该系统实现跨硬件兼容,并与Android InputFlinger等组件协同工作,为上层应用提供统一的输入事件处理接口。开发者可基于此架构扩展特定硬件驱动逻辑。

2025-06-28 17:45:00 395

原创 【Pinctrl 子系统的原理与实战】

现代 SOC 的引脚通常具备多种功能,例如 RK3568 的某个引脚可能既可用作 GPIO,也能作为 UART、SPI 等外设的信号传输通道。同时,引脚还需配置上拉 / 下拉电阻、驱动强度等电气参数。

2025-06-28 14:00:24 302

原创 【Linux 设备模型框架 kobject 和 kset】

在 Linux 内核中,设备模型是连接硬件和软件的桥梁。理解 kobject 和 kset 这两个核心概念,对于开发高质量的内核驱动至关重要。本文将深入解析这两个概念,并通过实例代码展示如何在内核模块中使用它们。

2025-06-27 21:45:11 843 2

原创 【Linux 设备树DTS】

Linux设备树DTS语法解析与实战

2025-06-22 14:25:13 1216

原创 【Linux 平台总线驱动开发实战】

在 Linux 驱动开发领域,平台总线驱动是连接硬件设备与内核的重要桥梁,它通过将设备和驱动分离管理,极大提升了驱动的复用性和系统的可维护性。本文将深入剖析平台总线驱动的工作原理,并结合完整代码示例,帮助开发者掌握其核心开发流程。

2025-06-21 21:40:14 885 2

原创 【Linux 驱动中断】

本文将围绕 GIC 控制器、GPIO 中断、Tasklet、软中断、工作队列等核心内容,深入解析 Linux 驱动中断的工作原理与实践应用。

2025-06-21 17:43:34 1095

原创 【Linux 驱动中的并发与竞争】

Linux驱动中的并发与竞争问题分析

2025-06-21 13:36:09 737

原创 【Linux 驱动中的 I/O 模型】

Linux驱动中的I/O模型主要包括等待队列、非阻塞访问和I/O多路复用。等待队列允许进程在数据未就绪时休眠,通过wait_event_interruptible和wake_up_interruptible实现阻塞式I/O。非阻塞访问通过O_NONBLOCK标志实现立即返回机制,适合实时性要求高的场景。I/O多路复用通过poll方法监控多个文件描述符状态,配合select/poll/epoll实现高效事件处理。开发者应根据设备特性和应用需求选择合适的I/O模型,以优化驱动性能。

2025-06-21 10:44:56 969

原创 【 Linux 杂项设备驱动】

本文介绍了Linux杂项设备驱动的开发技术,重点分析了其特点和开发流程。作为字符设备驱动的特殊形式,杂项设备驱动具有统一管理、自动分配主设备号和轻量级开发三大优势,特别适用于小型设备驱动开发。文章详细阐述了开发流程:包括引入头文件、定义设备结构体和文件操作函数、注册设备等关键步骤,并通过计数器设备实例进行说明。最后总结了杂项设备驱动的应用场景及开发注意事项,强调其在简化开发、提高效率方面的重要价值。这种驱动方式为快速实现小型设备功能提供了有效解决方案。

2025-06-16 19:56:42 788

原创 【Linux 驱动私有数据】

Linux驱动私有数据是驱动开发中的关键机制,用于管理设备实例的专属信息。它充当"数据管家",在不同驱动函数间传递设备硬件资源(如GPIO引脚)、驱动对象(设备类/节点)和运行状态等关键数据。通过定义私有数据结构(如包含GPIO编号、设备指针的结构体),在初始化阶段分配内存并配置资源,然后将指针存储在全局变量或文件结构中。后续函数(如文件操作、中断处理)通过该指针访问设备专属信息,实现设备控制与状态维护。这种机制确保了驱动各功能模块的高效协作和设备资源的精准管理。

2025-06-16 19:44:16 621

原创 RK3568 平台 RC522 RFID 驱动开发全解析

RK3568 平台 RC522 RFID 驱动开发全解析

2025-06-15 19:56:37 993

原创 【Linux 字符设备驱动:控制 LED 灯】

本文介绍了如何在Linux系统下开发字符设备驱动来控制LED灯。

2025-06-07 14:27:57 933

原创 深入理解 Linux 驱动开发:驱动传参与符号导出

本文深入探讨了Linux驱动开发中的两个核心机制:驱动传参和驱动符号导出。

2025-06-05 20:48:25 766

原创 使用VS Code快速开发驱动程序

本文介绍了使用VS Code快速开发驱动程序的方法:1)安装VS Code开发工具;2)安装C/C++插件;3)配置c_cpp_properties.json文件,根据系统类型设置Windows或Linux路径格式(如Windows使用D:\driver\include)。配置完成后,可显著提升源代码编写效率。文中提供了详细的截图说明各个配置步骤。

2025-06-02 20:36:07 265

原创 编译Android驱动程序

编译Android驱动程序

2025-06-02 18:10:56 651

原创 编译 Android11.0 固件

rk3568源码编译

2025-05-25 13:08:39 250

原创 【RK3568源码编译准备工作】

rk3568开发准备工作

2025-05-25 11:41:08 336

原创 Android stack corruption detected (-fstack-protector)

Abort message: 'stack corruption detected (-fstack-protector)'

2023-08-31 14:35:21 999 1

原创 Android使用OpenSLES播放与录音

Android使用OpenSLES播放与录音

2022-07-15 09:42:02 739

原创 android-VLC

android使用vlc播放rtsp流

2021-12-06 15:49:20 906

原创 Android11源码中内置搜狗输入法(Rockchip)

下载IME将下载好的APK后缀改为压缩包(zip)并解压提前APK中用到的so库将APK与lib库拷贝到源码下vendor/rockchip/common/apps/SogouIME将IME内置到系统中vendor/rockchip/common/apps/apps.mkPRODUCT_PACKAGES += \ SogouIMEvendor/rockchip/common/apps/SogouIME/Android.mk############################

2021-11-04 14:17:46 2770 3

原创 android源码中添加GPIO服务供上层调用

android源码中添加GPIO服务供上层调用指定make时需要编译进system中的服务添加源码编译添加api更新类与字段(此步骤可以通过make update-api命令更新)注册服务Context中添加字段添加源码文件启动服务编写Service源代码指定make时需要编译进system中的服务以rk源码为例,在deveice/rockchip/common/device.mk中添加服务PRODUCT_PACKAGES += \ libmoyu-jni \ #服务中用到的jni m

2021-11-03 13:23:56 2218

原创 Android音视频通话

Android音视频通话前言一、开启Socket udp服务1、二、向远端发送音视频数据三、断开连接前言Android局域网音视频通话。视频编码采用H264,音频编码采用开源库speex,以及音频消回声通过webrtc。由于音频需要编码,消回声,所以通讯方式采用c++编写。一、开启Socket udp服务1、二、向远端发送音视频数据三、断开连接...

2021-03-26 10:30:51 1742 5

原创 Android 音频降噪 webrtc 去回声

Android 音频降噪 webrtc 去回声集成AECM模块集成NS模块需要源码请留言集成AECM模块1.通过 webrtc官网下载需要模块\modules\audio_processing\aecm2.新建eclipse工程,新建jni文件夹将webrtc aecm模块拷贝到jni文件夹下3.编写本地接口package com.wrtcmy.webrtc.aecm;/** * This class supports the acoustic echo cancellation for

2020-11-12 11:22:00 3965 7

原创 Android9.0 java.lang.UnsatisfiedLinkError:No implementation found

Android9.0 java.lang.UnsatisfiedLinkError:No implementation found收集报错信息第一次刷机可用,后面安装不可用?解决安装不能用收集报错信息第一次刷机可用,后面安装不可用?解决安装不能用1.在android9.0使用so库是报错,查看错误信息。09-28 03:30:16.654 5196 5196 E app.mediaplaye: No implementation found for void com.droidlogic.a

2020-09-28 11:46:38 865

原创 Android低功耗蓝牙开发

Android Ble基础操作初始化工作蓝牙扫描、停止扫描蓝牙连接绑定、移除设备读写链接初始化工作RxBleClient rxBleClient = RxBleClient.create(context);//打开蓝牙//Intent enableBtIntent = new //Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);//int REQUEST_ENABLE_BT = 1;//context.startActivityForResult(e

2020-08-20 17:55:19 583

原创 Android apk静默安装与卸载7.0 9.0

7.0apk静默安装将 源码frameworks\base\core\java\android\app\PackageInstallObserver.java拷贝到项目并放在android.app包下/* * Copyright (C) 2014 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this fil

2020-08-20 14:23:47 2422

android_ble.rar

RxAndroidBle是一款功能强大的止痛药,可解决Android的蓝牙低功耗头痛问题。它由RxJava支持,将复杂的API实现为方便的反应式可观察对象。该库为您做: 花式异步操作支持(读,写,通知) 线程管理以满足Android合同 连接和操作错误处理

2020-08-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除