- 博客(161)
- 资源 (1)
- 收藏
- 关注
原创 OpenHarmony:ArkUI(3)Camera预览
本文介绍了基于ArkTS实现相机预览和切换功能的开发流程。首先需要申请相机相关权限,包括相机、麦克风和地理位置权限,并在配置文件中声明权限。然后通过Camera接口创建Surface模型实现数据交互,获取摄像头列表和预览能力,最终构建完整的相机应用示例。示例代码展示了如何初始化摄像头、处理权限申请、实现预览/切换/停止功能,并提供了完整的UI组件实现方案。开发过程中需注意权限管理、Surface创建和相机会话配置等关键环节。
2025-12-26 11:31:05
69
原创 OpenHarmony:ArkUI(2)Led控制
摘要:本文介绍如何在ArkTS项目中集成第三方so库(libled.so)实现LED控制功能。主要内容包括:1)创建NDK框架(NativeC++或EmptyAbility工程);2)将so文件放入对应架构的libs目录;3)建立libled目录并移动相关文件;4)在oh-package.json5中声明so库路径;5)ArkTS通过import引用so库并调用LED控制接口(getLedBrightness/setLedBrightness)。文章提供了完整的PageLED.ets示例代码,实现了一个可调
2025-12-26 09:51:04
45
原创 OpenHarmony:NDK(1)LED
摘要:本文介绍了HarmonyOS NDK(Native Development Kit)开发流程,以LED控制为例展示如何创建可供ArkTS调用的Native库。主要内容包括:1)NDK工程创建及CMake配置;2)使用Node-API实现获取/设置LED亮度的C++接口;3)Native与ArkTS的交互方式;4)调试日志输出方法;5)编译生成动态库的过程。文章详细说明了Native接口实现、CMake构建脚本编写、日志调试等关键步骤,为开发者提供了一套完整的HarmonyOS NDK开发实践方案。
2025-09-19 14:36:56
201
原创 OpenHarmony:ArkUI(1)页面跳转
摘要:本文介绍了基于OpenHarmony ArkUI框架实现页面跳转的两种方法。第一种采用页面路由方式,通过router模块实现页面跳转和返回,需在main_pages.json中注册页面路径。第二种使用List容器构建导航菜单,通过NavPathStack管理页面栈,支持点击列表项跳转不同页面并自定义样式。两种方法均展示了ArkUI框架的组件化开发特性,包括路由管理、UI构建和事件处理等核心功能,为OpenHarmony应用开发提供了灵活的页面导航解决方案。
2025-09-12 16:59:49
280
原创 RockChip Android14 修改LCD背光最大值
在调试LCD屏时时长会出现硬件不匹配,导致电流过大,屏幕发热严重。在不调整硬件的情况下,我们可以通过修改软件,降低LCD背光最大值来实现适配。我们都知道LCD屏背光是靠pwm来控制,一般来说最大值可以设置为255,针对上述问题,我们可以通过软件来降低该值,比如200,100等等。
2025-04-22 17:30:03
556
原创 Android SeLinux:设置led设备节点读写权限
在Android中由于Selinux的存在,所有应用去调用底层设备节点时都需要授权,本章将围绕如何在应用中直接读写底层设备节点并为其配置读写权限进行简单说明。
2025-03-29 10:49:37
263
原创 RK3568专题(3)Audio
在早期博主写过几篇关于声卡驱动的文章,可供参考。本文将围绕RK3568 Android14平台对Audio进行说明,主要体现不同硬件的配置,和Android部分的差异。Linux Alsa声卡驱动(1):简介_linux声卡驱动调试-CSDN博客Linux Alsa声卡驱动(2):代码分析_linxu alsa 声卡 编程-CSDN博客Linux Alsa声卡驱动(3):Machine驱动_linux声卡驱动-CSDN博客。
2025-03-26 11:30:28
233
原创 Mediatek Android13 移除Hotseat
Hotseat是位于Android系统屏幕最下方的一种布局,会放置一些常用的APP,但是在定制开发中,会将其取消以达到全屏的效果。本文将讲述Android定制需求开发中移除Hotseat的几种方法。
2025-03-21 17:06:39
291
原创 Mediatek Android13 增加Ethernet配置功能
在MTK Android13的Setting中默认是没有Ethernet配置功能,如DHCP和StaticIP。因此我们需要再Setting中增加Ethernet配置选项。Ethernet相关的文章之前写过一篇,不过是针对Android8.1的,虽然与Android13框架差距有点大,但可以略作参考,主要是将Framework层的内容移动至packages/modules/Connectivity中。
2025-01-11 09:53:43
575
原创 Mediatek Android13 ROM定制
每个密钥对包含一个私钥(.pk8)和一个公钥(.x509.pem)。私钥用于对APK进行签名,而公钥用于验证签名的有效性。在Android系统构建过程中,可以根据需要选择不同的密钥对APK进行签名,以满足不同的安全和权限需求。
2024-12-31 18:37:36
594
原创 RK3568专题(2)GMAC
关于RockChip系列CPU的GMAC配置说明在之前的多个文章中均有提及,本次不在追述,只对需要注意的问题点和RGMIIDelayline进行说明。NanoPC-T4 RK3399:DTS之EMMC,PMIC,GMAC -CSDN博客RK3588-EDGE Ethernet驱动(一)-CSDN博客RK3588-EDGE Ethernet驱动(二)-CSDN博客。
2024-11-11 15:09:14
544
1
原创 RK3568专题(1)电源管理
本章将围绕RK3568平台两种商业方案的电源设计和管理进行说明,对应的模块包含powervdd_cpupmic和io-domain其中pmic有商显方案rk809和平板方案中带充电功能的rk817。
2024-11-11 10:39:48
620
原创 OpenHarmony:内核态层
本章摘录自OpenHarmony开源社区,为了方便自己以后查阅。如需了解详细内容可自行前往阅读。OpenHarmony=OpenHarmony内核态层+OpenHarmony用户态层其中OpenHarmony内核层就是上图的紫色部分,可以看到,它主要由内核本身(如Linux Kernel,LiteOS),和一些运行在内核态的一些特性组成,比如HDF等。而OpenHarmony用户态层,在上图,就是紫色之外的部分。可以看到,由下往上看,它主要由系统服务层,框架层,应用层组成。
2024-10-24 17:08:35
419
原创 OpenHarmony:开发环境搭建
OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。编译所生成的文件都归档在out/{device_name}/目录下,结果镜像输出在out/{device_name}/packages/phone/images/ 目录下。1) 通过repo + ssh 下载(需注册公钥,请参考码云帮助中心)。(1)注册gitee,添加公钥。
2024-10-23 10:06:23
1543
原创 RockChip Android12 Launcher3启动与布局分析
Launcher本质上是一个系统应用,当Android启动到最后时需要一个用来显示应用的应用程序,这个应用程序就是Launcher,它是被ActivityManagerService启动。
2024-06-25 18:22:25
640
2
原创 RockChip Android12 System之MultipleUsers
System中的MultipleUsers不同于其他Preference采用system_dashboard_fragment.xml文件进行加载,而是采用自身独立的xml文件user_settings.xml加载。
2024-06-19 14:07:28
424
原创 RockChip Android12 System之Date&time
本文将针对Android12 Settings二级菜单System中的Date&time进行说明。
2024-06-18 18:10:09
325
原创 RockChip Android12 Settings一级菜单
在之前的文章中对Android8.1 Settings的流程进行了说明,本章将针对Android12 Settings一级菜单的加载逻辑进行详细说明,Settings版本之间的差异不是很大,有兴趣的同学可自行学习,本文不在做赘述。
2024-06-17 17:47:37
452
1
原创 RockChip Android8.1 EthernetService分析
本篇文章将围绕RK Android8.1 SDK对Ethernet做一次框架分析,包含Framework层和APP层。
2024-05-14 15:18:38
312
原创 RockChip Android13 添加/删除ListPreference方法
本章将讲述在Android添加或删除ListPreference的几种方法,并以EthernetSettingsActivity为例,添加/删除一项ListPreference:默认效果图:添加后效果图:在Activity类中使用addPreferencesFromResource()方法解析XML文件并添加Preference资源到PreferenceScreen中,因此我们可以直接在xml文件中静态添加Preference资源。 (1)静态设置ListPreference通过在ethernet
2024-05-09 17:14:52
356
原创 RockChip Uboot/Kernel开机LOGO和Android开机动画
uboot和kernel阶段的logo分别为开机显示的第一张和第二张图片,可通过替换logo文件,重新编译内核的方法修改uboot和kernel开机logo,编译后的logo文件位于boot.img中。uboot logo文件:kernel/logo.bmpkernel logo文件:kernel/logo_kernel.bmp说明:logo图片大小目前只支持8M以内的8,16,24,32位bmp格式图片(来源RK文档)
2024-05-08 16:07:53
1727
原创 Rockchip Android13 Vold(三):App层
通过前面两章,Vold框架存储设备挂载事件已经梳理了Native和Framework层的程序执行流程,接下来就开始梳理存储设备挂载事件在App层的程序执行流程。
2024-04-13 21:15:01
397
原创 Rockchip Android13 Vold(二):Framework层
书接上回,在上一章Native层分析vold框架的最后我们使用setState接口将doMount的返回结果通过binder机制调用了Framework层StorageManagerService的onVolumeStateChanged接口,所以本章将围绕vold框架在Framework层的代码进行梳理。
2024-04-13 19:23:26
408
原创 Rockchip Android13 Vold(一):Native层
Vold全称Volume Daemon是用于管理存储类设备的守护进程,负责接收驱动层设备挂载和卸载消息以及与Framework层之间的通信。Vold作为一个守护进程位于Android的Native Daemons层。
2024-04-12 17:45:17
684
1
原创 RockChip Android8.1 Settings
比较当前Activity类名是否与Settings,用于选择要要显示的layout,对于Settings的主界面mIsShowingDashboard为true即选择R.layout.settings_main_dashboard:第一个FrameLayout为显示顶部的搜索栏,第二个FrameLayout显示主要内容(一级菜单)step3:main_content是主菜单R.layout.settings_main_dashboard.xml的FrameLayout id。设置获取到的category。
2024-03-29 18:54:20
361
原创 RockChip DRM Display Driver
DRM(Direct Rendering Manager)直接渲染管理,buffer分配,帧缓冲。对应userspace库位libdrm,libdrm库提供了一系列友好的控制封装,使用户可以方便的进行显示的控制和buffer申请。DRM的设备节点为"/dev/dri/cardX",X为0~15的数值,默认使用card0。
2024-01-25 10:12:14
821
原创 U-Boot MMC:env之partitions
env地址取自default_environment:uboot_dev/include/env_default.h。
2024-01-05 16:12:25
663
原创 U-Boot DM(一):CMDLINE宏
->>parse_stream_outer:u-boot/common/cli_hush.c 解析指令。-->>setup_file_in_str:u-boot/common/cli_hush.c 获取输入指令。-->>cmd_process:最终cmd调用接口。
2023-12-25 17:36:28
445
原创 Linux Camera Driver(3):DEBUG
RKISP驱动如果加载成功,会有video及media设备存在于/dev/目录下,系统中可能存在多个/dev/vidio设备,通过/sys可以查询到RKISP注册的video节点。buildroot配置编译:buildroot/configs/rockchip/camera.config。buildroot配置编译:buildroot/configs/rockchip/debug.config。i2cdetect -y -a 1:显示i2c1挂载点下面所以地址情况,UU代表有设备成功连接。
2023-12-06 10:58:41
355
原创 Linux Camera Driver(2):CIS设备注册(DTS)
endpoint配置,必须指定data-lanes,否则无法识别为mipi类型。endpoint配置,必须指定data-lanes,否则无法识别为mipi类型。dphy需要链接到csi host节点。节点,否则会导致收不到数据;数,否则会导致收不到数据;(1)sensor节点配置。(1)sensor节点配置。(2)port节点配置。接口,导致链路建立失败。(2)port节点配置。
2023-12-04 18:36:13
560
原创 Rockchip Clock
本章节所指的时钟是给SOC各个组件提供时钟的树状框架,而非内核使用的时钟。和其他模块一样,CLOCK也有框架,用以适配不同的平台。适配层之上是客户代码和接口,也就是各模块(如需要时钟信号的外设)的驱动。适配层之下是具体的SOC的时钟操作细节。
2023-11-21 16:01:47
445
原创 Linux Alsa声卡驱动(3):Machine驱动
Simple Card是ASoC通用的machine driver,可支持大部分标准声卡。驱动:kernel/sound/soc/generic/simple-card.c。示例:cpu dai为i2s0_8ch,codec dai为rkacdc_dig。示例:DAI工作与slave模式,CODEC工作与master模式。示例:mclk为采样率的512倍。示例:bclk,lrck同时反向。I2S-TDM控制器,走。示例:i2s标准格式。
2023-11-07 16:58:36
825
原创 NanoPC-T4 RK3399:DTS之io-domain,FAN
之后所有改动均是基于rk3399-evb.dts修改以满足NanoPC-T4功能正常。NanoPC-T4开发板上有一片散热风扇,本章将讲述使风扇正常工作起来的多种方法。
2023-10-24 18:33:58
845
原创 NanoPC-T4 RK3399:DTS之EMMC,PMIC,GMAC
之后所有改动均是基于rk3399-evb.dts修改以满足NanoPC-T4功能正常。
2023-10-19 18:38:42
734
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅