自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(298)
  • 收藏
  • 关注

原创 RK3588 Linux在uboot关机充电模式下按电源键熄屏亮屏概率出现不显示或花屏的现象

在reset之后,下发初始化代码之前,多数屏时序中会要求在reset后延时一段时间后再下发初始化代码。若不加延时,就可能出现上电时序异常导致屏驱动芯片工作不正常进而出现概率不显示或花屏现象。在dts的dsi0_panel节点中增加init-delay-ms属性并根据屏规格中上电时序对延时的要求设置延时时长,一般设置20ms以上比较合适。

2025-10-10 15:48:42 267

原创 RK3588 linux在uboot关机模式下待熄屏休眠后拔插适配器无反应屏幕也不会亮

可参考u-boot\drivers\power\charge\sgm41542_charger.c使用irq_install_handler和irq_handler_enable注册和使能中断。2,修改u-boot\drivers\power\charge_animation.c如下代码(确认休眠时打印Wfi)因charger未注册中断,在系统进入休眠状态后,拔插适配器无法产生中断唤醒系统,所以系统仍处于休眠状态导致无反应。此为规避方案,使系统在uboot充电模式不进入休眠状态。

2025-10-10 15:28:46 239

原创 VMware虚拟机ubuntu20.04共享文件夹无法使用

sudo mkdir -p /mnt/hgfs (若/mnt/hgfs目录已存在则忽略此步骤)

2025-09-22 15:15:26 354

原创 echo命令向串口设备写入字符串因换行符问题无法写入成功

那么除了会发送“good”里4个字符外,还会自动发送一些终止符,通常终止符为换行符,但有些时候也可能是其他的终止符,如果不确定后面跟的终止符是什么,而串口协议中发送的字符串又明确规定了没有终止符或有特定终止符,那么这种写入方式就可能出现发送不成功的问题。对于\r\n,对应的十六进制为0x0D 0x0A,有些系统可能会出现只需要添加\n就会发送出0x0D,0x0A两个字节数据,这样的话,就只需要这样写入:echo -ne "good\n" > /dev/ttyS0就行。

2025-08-16 11:11:22 335

原创 USB批量传输数据为端点最大数据包(比如512字节)整数倍时接收端收不到数据

USB 协议明确规定:批量传输中,当发送数据量为端点最大包大小的整数倍时,必须通过 ZLP 标记传输结束。这是应用层需要遵守的协议规范。增加ZLP(零长度数据包)发送代码后接收端即可正常接收512整数倍的数据包了。Log.d(TAG, "发送成功" + msg);Log.d(TAG, "发送成功" + msg);Log.d(TAG, "发送失败");Log.d(TAG, "发送失败");USB 协议规定,对于。

2025-08-13 18:19:22 406

原创 华大单片机HC32L110烧录程序方法

3,J-flash添加芯片支持,将HC32L110B4_C4.FLM文件拷贝至 J-Flash 安装目录的Devices/HDSC文件夹(比如:c:\Program Files (x86)\SEGGER\JLink\Devices\HDSC\)下,若没有HDSC目录,则手动创建。7,打开J-flash软件,点击 File → New Project,在 “Target device” 中选择单片机型号HDSC HC32L110B4_C4,接口选择SWD,点击OK。(或按 F9),程序即可开始运行。

2025-07-15 10:20:32 741

原创 RK3399 Android7.1增加应用安装白名单机制

DEFAULT_WHITELIST 列表中是系统默认允许安装的应用包名,用于系统预置应用的安装。若还需要其他应用安装,则可通过往/system/etc/package_whitelist.txt中添加应用包名实现。+ // ========== 新增:动态白名单校验 ==========+ // 检查白名单。+ // 精确匹配。+ // 定义默认白名单。+ //白名单文件路径。

2025-05-30 16:22:21 797

原创 RK3399 Android7.1添加系统属性

这里要注意下,修改完build.prop文件后要记得修改文件属性为644,不然会出现重启系统后系统无法启动的现象。如果要添加系统属性,可修改/system/build.prop文件,在文件末尾添加属性即可。另一种临时添加和修改系统属性的方法就是使用setprop命令,比如:setprop ro.hardware.gps true。有时调试或测试时可通过获取和设置系统属性验证某些系统功能。通过getprop命令可获取当前系统所有属性。这个修改临时生效,重启后失效。使用adb进入shell后,

2025-05-12 09:43:29 192

原创 ssd2828下发MIPI command配置方法

比较重要的是0xb7寄存器的配置。如果要在LP模式下发mipi command,一般需要设置0xb7寄存器为0x0340,即short packet,DCS packet,write operation,Video mode disabled,LP mode。需要注意的是要配置这个PLL时钟寄存器,需要首先设置0xb9寄存器的0位为0,即关闭PLL时钟。0xb1,0xb2,0xb3,0xb4,0xb5这几个寄存器就是用于配置屏参的,包括分辨率,HBP,HFP,HPW,VBP,VFP,VPW等。

2025-04-09 11:07:31 2397

原创 ubuntu24.04虚拟机系统中挂载rootfs.img到rootfs_dir目录,使用chroot切换根目录到roofs_dir报错

之后,切至rootfs_dir目录下,执行:sudo chroot . 即可将根目录切至rootfs_dir目录下。这个可用于对rootfs.img进行修改,比如安装应用软件等,chroot切换根目录后可直接在rootfs_dir目录下通过执行apt install进行安装。‌,主要用于在一种 CPU 架构的系统中,直接运行另一种 CPU 架构的二进制程序(如 x86_64 主机上运行 ARM 程序)。

2025-03-18 15:18:25 491

原创 ubuntu24.04安装VMware Tools

之后在虚拟机中/mnt/hgfs目录下就有刚创建的共享目录vmware_share了。虚拟机创建ubuntu24.04,安装VMware Tools,之后可以创建共享文件夹用于主机和虚拟机之间传输文件。

2025-03-18 14:50:53 1599

原创 rk3588 linux的rootfs.img挂载后通过chroot切换根目录安装应用提示空间不足

rootfs.img: 210046/532480 文件(0.1% 不连续),1958581/2107366 块。注意resize2fs后面的大小要为整数,单位可以是G,M,K等,且大小要比原大小大才行。rootfs.img 上的文件系统大小已经调整为 2124800 个块(每块 4k)。将 rootfs.img 上的文件系统调整为 2124800 个块(每块 4k)。第 1 遍:检查 inode、块,和大小。第 3 遍:检查目录连接性。第 2 遍:检查目录结构。第 4 遍:检查引用计数。

2025-03-18 11:48:46 335

原创 RK3588 Linux调试MIPI屏幕下发0x11和0x29指令不生效

部分屏幕对这两个指令的格式与一般MIPI屏不同,一般只需下发0x11即可,但部分屏幕需要下发0x11 0x00,即后面要加一个0x00的参数。0x29也是,要下发0x29 0x00。

2025-03-08 15:04:12 514

原创 RK3588 Linux播放视频过程中出现概率性屏幕不显示(黑掉)的现象

原因:显示屏的一路1.8V的电源测量在视频播放过程中出现电压波动,会有跌落现象。应该是视频播放时显示屏动态瞬时功耗变大,电源驱动能力不足导致显示异常。现象:静置画面无异常,但动态画面如视频播放过程中会概率性出现黑屏不显示的现象。解决:更换1.8V的电源输入源,提高此电源驱动能力。

2025-02-17 11:41:00 332

原创 RK3588 Linux板载RTC芯片时钟不更新时间不变化

但通过:hwclock --systohc将系统时间写入RTC可以正常写入,且写入后再次读取时间和日期也是和写入的一样。总结:RTC若出现时间不更新但供电正常,i2c通信正常,那么很可能是晶振出了问题,要么晶振损坏,要么由于某种原因不起振,要么晶振与RTC芯片的连接不通(比如虚焊)。比如RTC时间为10:00,等系统运行一段时间后系统时间变为12:00,此时若重启系统,发现系统时间又变成了10:00了,这是因为每次开机时系统时间会同步RTC时间。测量RTC芯片供电没问题,RTC电池电压正常。

2025-02-14 11:35:03 579

原创 RK3588 Linux插入耳机后系统卡死

之后在插入耳机的状态下,驱动会执行到adc_jack_handler函数的iio_read_channel_processed代码中,因为adc资源获取出错导致iio_read_channel_processed函数执行无法访问正确的adc资源,从而出现内存错误而报错。如果声卡用的是rockchip,multicodecs-card,那么原因可能是因为rk_multicodecs_probe函数中获取adc资源时(devm_iio_channel_get)adc资源还没有准备好。

2025-02-12 11:50:10 387

原创 RK3399 Android7.1去除屏幕顶部下拉菜单中点编辑后页面中的快捷图标

修改frameworks/base/packages/SystemUI/res/values/config.xml文件中的quick_settings_tiles_stock节点定义,如下:</string>比如去掉wifi选项,直接删除即可,如下:</string>

2025-01-15 11:53:19 243

原创 RK3399 Android7.1去掉长按设置应用后弹出的Wifi电池等快捷选项

文件为packages/apps/Settings/res/xml/shortcuts.xml,屏蔽对应的节点即可。

2025-01-15 11:49:58 265

原创 RK3399 Android7.1修改锁屏界面无操作自动灭屏的超时时长

默认为10秒,比如修改为15秒,修改如下:/***///10000;

2025-01-13 14:19:02 297

原创 RK3399 Android7.1刷完系统后第一次开机默认添加第三方应用快捷方式到桌面

快捷方式由Launcher3创建,具体修改packages\apps\Launcher3\res\xml\default_workspace_xxx.xml文件,具体是哪一个要看屏幕上桌面横竖可以放下几个快捷方式图标,比如横向放5个,竖向放5个,那就是default_workspace_5x5.xml文件。在下面favorite 里面是要添加快捷方式的应用类名和包名。另一种方式可在打开应用界面的时候执行“dumpsys activity |grep mFocused”命令确认。

2025-01-10 15:07:08 605

原创 RK3399 Android7.1删除刷系统第一次开机桌面上的应用快捷方式

packages\apps\Launcher3\res\xml\default_workspace_xxx.xml(比如:default_workspace_5x5.xml),通过屏幕上横竖可以放几个快捷方式图标确定布局。packages\apps\Launcher3\res\xml\dw_tablet_hotseat.xml(一行放超过5个快捷方式的设备用这个)packages\apps\Launcher3\res\xml\dw_phone_hotseat.xml(一行最多放5个快捷方式的设备用这个)

2025-01-10 14:54:46 384

原创 RK3399 Android7.1内核创建sys/class下文件节点与系统上层通信

以上代码执行成功后/sys/class下会创建一个demo_test文件夹,进入demo_test后,里面会创建一个test文件,读test文件(比如执行命令:cat test)会调用demo_show函数并返回_buf的内容,写test文件(比如执行命令:echo 1 > test)会调用demo_store函数并将写入的内容通过buf传递给内核。应用软件或系统需要获取驱动中的某些状态或信息,一种简单的交互方式是驱动中创建/sys/class下的文件节点供上层读写。

2025-01-09 10:42:38 403

原创 RK3399 Android7.1隐藏应用列表中的某个应用的图标

i++) {

2025-01-09 10:05:43 213

原创 RK3399 Android7.1去掉锁屏界面左上角的“没有SIM卡”提示

/} else {*/

2025-01-09 10:03:11 354

原创 RK3399 Android7.1打开开发者选项后再次隐藏开发者选项

设置-应用-设置-存储-清除数据即可。

2025-01-08 11:36:15 183

原创 RK3399 Linux写文件固定静态IP等网络配置

2、注释第一行source-directory /etc/network/interfaces.d。1、vim /etc/network/interfaces 打开网络配置文件后。3、写入如下内容 :示例。

2024-12-26 16:06:06 247

原创 RK3399 Linux固定usb网卡名字为eth0

return err;

2024-12-23 20:11:39 297

原创 RK3588 MIPI屏在某些图像界面显示部分区域出现很多细密条纹

后反馈给屏模组供应商,供应商提供一套初始化代码,驱动下发代码后问题仍存在,后供应商再次提供了一套初始化代码,驱动下发后问题解决。这款MIPI屏分辨率1200x1920,模组出厂时驱动芯片已烧录了初始化代码,所以驱动中不需要再次下发初始化代码。出现细密条纹现象后,尝试调整屏参,包括PCLOCK,MIPI RATE,hbp/hfp/vbp/vfp等均无效。结论:屏驱动芯片初始化配置不正确。具体意义不是很清楚。

2024-12-14 19:45:34 736 1

原创 RK3588 通过调整变频策略降低系统功耗

当负载超过90%时,调到最高频,当负载小于90%且大于90%-5%是维持当前频率,当负载小于90%-5%,会调到一个频率,使得负载差不多为90%-5%/2。功能说明:当系统进入某些特殊的场景时,将DDR 频率调整到该场景指定的频率,如果同时进入多个场景,最终频率取最大值,需要注意的是在SYS_ST A TUS_DUAL VIEW 和SYS_ST A TUS_DUAL VIEW 场景下,不支持DDR 变频,所以进入这两个场景后,即使再进入更高DDR 频率的场景,DDR 频率依然不变,直到退出这两个场景。

2024-12-14 19:32:07 1212

原创 RK3399 CPU/GPU/DDR定频

* 切换到userspace,不一定是ff400000.gpu,根据不同的平台修改 */调试问题有时需要定频,方法有两种:一种修改内核频率配置表,一种用户层命令操作。/* 切换小核governor到userspace *//* 切换大核governor到userspace *//* 设置小核216MHz *//* 设置大核408MHz *//* 设置400MHz */只留需要定频的频率即可。/* 查看当前频率 */

2024-12-14 19:15:24 713

原创 RK3399 修改CPU调频策略用于调试

非大小核的平台,如RK3288、RK3326、RK3328 等,所有CPU 共用一个clock,用户态接口也是相同的,在/sys/devices/system/cpu/cpufreq/policy0/目录下。大小核的平台,如RK3368、RK3399 等,包含两个cluster,每个cluster 都有独立的clock 和用户态接口,比如cluster0 是小核,对应接口在/sys/devices/system/cpu/cpufreq/policy0/目录下,cluster1 是大核,对应的接。

2024-12-14 17:57:43 770

原创 RK3588 千兆以太网卡无法link千兆只到百兆

如上,磁珠与电容因布局靠的很近,发生了谐振(或反谐振?具体原理不详)干扰了电源,使电源发生了抖动而变得不平稳。这对高速的千兆信号影响较大。临时方案就是将磁珠换成了0欧姆电阻。后期通过调整硬件和布局设计解决。这里仅提出一种可能的原因:phy电源不稳!

2024-11-19 11:25:07 903

原创 MIPI屏概率性开机严重花屏和闪屏(持续抖动)

调整过上电时序,PCLK,MIPI CLOCK等均无效,后测量电源时序时发现屏的DVDD电压过高,规格为1.7-2.0V,标准1.8V,实测约2.3V,已超规格。我有遇到过这种情况,做重启或开机测试,概率性(20次内可复现)出现开机logo明显抖动,开机界面严重花屏和抖动,但正常启动时显示又是正常的。这里只说一种可能的原因:电源电压不符合屏规格要求!后将此电源输出改为1.8V后测试问题得到解决。

2024-11-15 17:50:30 1132

原创 RK3588 Linux不接TP系统休眠时死机

这句代码在goodix_ts_probe函数中是驱动初始化的一部分,初始化时判断i2c读写是否正常,若不正常则返回。probe函数中返回0代表成功,而返回负值则代表失败,且同时会将所有已申请的系统资源(如端口,接口,内存等)释放掉。返回0不会自动释放已申请的资源,这些未释放的资源就有可能会影响到后续系统程序的运行导致异常的发生。正常休眠时日志如下(DTS中打开休眠日志打印:rockchip,sleep-debug-en = <1>;现象:没有接TP,系统休眠后无法唤醒,通过日志判断为系统休眠过程中死机。

2024-11-14 16:23:22 820

原创 RK3588 Linux软件限制屏幕背光最大亮度

这是因为pwm驱动中计算占空比时的分母是用的亮度表中的最大值,而不是255。比如上面修改后的亮度表,那么分母就会使用230,如果系统亮度调至最大值(255),对应亮度表中的数值为230,那么驱动中计算占空比时就是用230/230,所以结果仍为100%。现在系统调节到最大亮度值(255)时对应亮度表中的值为255,通过驱动可知255计算出的PWM占空比为100%,即亮度最大。这样系统调至最大亮度(255)后,对应亮度表中的数值为230,那么驱动中计算占空比就是用230/255=0.9(90%)。

2024-11-14 15:43:50 634

原创 RK3588 PWM背光调节流程

state.period”指的是PWM周期,即对应dts中的“25000”,单位ns。“pb->levels”就是上面说的背光亮度调节表,如果有这个亮度表,“duty_cycle”就使用系统调节亮度值(0-255)作为索引值获取亮度调节表中的数值,若没有设置这个亮度表,“duty_cycle”就直接使用系统调节亮度值(0-255)。“brightness-levels”节点是亮度调节表,对应到系统中背光亮度条的调节范围(0-255),驱动中根据表格里的数据调整PWM的占空比,进而实现调节背光亮度的作用。

2024-11-14 15:12:18 1416

原创 RK3588 Linux常见错误返回值代表的意思

参考文件:kernel/include/uapi/asm-generic/errno-base.h。

2024-11-10 16:23:42 468

原创 Linux清除历史命令

删除对应用户目录下的.bash_history文件即可。

2024-11-08 09:45:38 231

原创 RK3588 Linux禁止系统进入休眠

执行命令后系统打印日志如下:Created symlink from /etc/systemd/system/hybrid-sleep.target to /dev/null.执行命令后系统打印日志如下:Removed symlink /etc/systemd/system/hybrid-sleep.target.未禁用状态如下:static;static;static;static;禁用状态如下:bad)bad)bad)bad)

2024-10-24 17:35:08 900 2

原创 麒麟系统修改默认语言

修改/etc/default/locale文件如下:中文:英文:

2024-10-22 16:01:29 1360

《android和Linux系统烧录文件说明》

android和Linux系统烧录文件说明

2023-12-28

《RK3588-kernel中显示模组驱动代码解析》

RK3588_kernel中显示模组驱动代码解析

2023-12-05

<RK3588-uboot中显示模组驱动代码解析>

RK3588_uboot中显示模组驱动代码解析

2023-11-30

《RK3588-kernel中背光驱动代码解析》

RK3588_kernel中背光驱动代码解析

2023-11-29

《rk3588-uboot中背光驱动代码解析》

rk3588_uboot中背光驱动代码解析

2023-11-27

《RK3588-kernel中按键驱动代码解析》

RK3588_kernel中按键驱动代码解析

2023-11-25

《RK3588-uboot中按键驱动代码解析》

RK3588_uboot中按键驱动代码解析

2023-11-22

《RK3588-uboot中RK806驱动代码解析》

RK3588_uboot中RK806驱动代码解析

2023-11-21

《RK3588-kernel中RK806驱动代码解析》

RK3588_kernel中RK806驱动代码解析

2023-11-21

《RK3588-kernel中charger驱动代码解析》

以bq25700为例解析驱动代码

2023-11-17

《RK3588-kernel中gauge驱动代码解析》

RK3588_kernel中gauge驱动代码解析,以bq3060驱动为例对驱动代码进行解析和说明

2023-11-11

《RK3588-uboot中charger驱动代码解析》

对uboot中charger驱动代码进行说明和解析

2023-11-08

《RK3588-uboot中guage驱动代码解析》

将uboot中常用电量计bq3060的驱动代码解析一下

2023-11-08

《RK3588-Android关机充电流程》

开机到android中充电动画显示的大致流程解析

2023-11-08

《RK3588-UBOOT关机充电流程》

从uboot代码分析uboot充电动画的显示流程

2023-10-27

空空如也

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

TA关注的人

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