- 博客(292)
- 收藏
- 关注
原创 RK3399 Android7.1增加应用安装白名单机制
DEFAULT_WHITELIST 列表中是系统默认允许安装的应用包名,用于系统预置应用的安装。若还需要其他应用安装,则可通过往/system/etc/package_whitelist.txt中添加应用包名实现。+ // ========== 新增:动态白名单校验 ==========+ // 检查白名单。+ // 精确匹配。+ // 定义默认白名单。+ //白名单文件路径。
2025-05-30 16:22:21
689
原创 RK3399 Android7.1添加系统属性
这里要注意下,修改完build.prop文件后要记得修改文件属性为644,不然会出现重启系统后系统无法启动的现象。如果要添加系统属性,可修改/system/build.prop文件,在文件末尾添加属性即可。另一种临时添加和修改系统属性的方法就是使用setprop命令,比如:setprop ro.hardware.gps true。有时调试或测试时可通过获取和设置系统属性验证某些系统功能。通过getprop命令可获取当前系统所有属性。这个修改临时生效,重启后失效。使用adb进入shell后,
2025-05-12 09:43:29
133
原创 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
1509
原创 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
320
原创 ubuntu24.04安装VMware Tools
之后在虚拟机中/mnt/hgfs目录下就有刚创建的共享目录vmware_share了。虚拟机创建ubuntu24.04,安装VMware Tools,之后可以创建共享文件夹用于主机和虚拟机之间传输文件。
2025-03-18 14:50:53
1030
原创 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
220
原创 RK3588 Linux调试MIPI屏幕下发0x11和0x29指令不生效
部分屏幕对这两个指令的格式与一般MIPI屏不同,一般只需下发0x11即可,但部分屏幕需要下发0x11 0x00,即后面要加一个0x00的参数。0x29也是,要下发0x29 0x00。
2025-03-08 15:04:12
267
原创 RK3588 Linux播放视频过程中出现概率性屏幕不显示(黑掉)的现象
原因:显示屏的一路1.8V的电源测量在视频播放过程中出现电压波动,会有跌落现象。应该是视频播放时显示屏动态瞬时功耗变大,电源驱动能力不足导致显示异常。现象:静置画面无异常,但动态画面如视频播放过程中会概率性出现黑屏不显示的现象。解决:更换1.8V的电源输入源,提高此电源驱动能力。
2025-02-17 11:41:00
158
原创 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
356
原创 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
204
原创 RK3399 Android7.1去除屏幕顶部下拉菜单中点编辑后页面中的快捷图标
修改frameworks/base/packages/SystemUI/res/values/config.xml文件中的quick_settings_tiles_stock节点定义,如下:</string>比如去掉wifi选项,直接删除即可,如下:</string>
2025-01-15 11:53:19
194
原创 RK3399 Android7.1去掉长按设置应用后弹出的Wifi电池等快捷选项
文件为packages/apps/Settings/res/xml/shortcuts.xml,屏蔽对应的节点即可。
2025-01-15 11:49:58
219
原创 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
405
原创 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
326
原创 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
357
原创 RK3399 Linux写文件固定静态IP等网络配置
2、注释第一行source-directory /etc/network/interfaces.d。1、vim /etc/network/interfaces 打开网络配置文件后。3、写入如下内容 :示例。
2024-12-26 16:06:06
152
原创 RK3588 MIPI屏在某些图像界面显示部分区域出现很多细密条纹
后反馈给屏模组供应商,供应商提供一套初始化代码,驱动下发代码后问题仍存在,后供应商再次提供了一套初始化代码,驱动下发后问题解决。这款MIPI屏分辨率1200x1920,模组出厂时驱动芯片已烧录了初始化代码,所以驱动中不需要再次下发初始化代码。出现细密条纹现象后,尝试调整屏参,包括PCLOCK,MIPI RATE,hbp/hfp/vbp/vfp等均无效。结论:屏驱动芯片初始化配置不正确。具体意义不是很清楚。
2024-12-14 19:45:34
426
原创 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
760
原创 RK3399 CPU/GPU/DDR定频
* 切换到userspace,不一定是ff400000.gpu,根据不同的平台修改 */调试问题有时需要定频,方法有两种:一种修改内核频率配置表,一种用户层命令操作。/* 切换小核governor到userspace *//* 切换大核governor到userspace *//* 设置小核216MHz *//* 设置大核408MHz *//* 设置400MHz */只留需要定频的频率即可。/* 查看当前频率 */
2024-12-14 19:15:24
431
原创 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
591
原创 RK3588 千兆以太网卡无法link千兆只到百兆
如上,磁珠与电容因布局靠的很近,发生了谐振(或反谐振?具体原理不详)干扰了电源,使电源发生了抖动而变得不平稳。这对高速的千兆信号影响较大。临时方案就是将磁珠换成了0欧姆电阻。后期通过调整硬件和布局设计解决。这里仅提出一种可能的原因:phy电源不稳!
2024-11-19 11:25:07
593
原创 MIPI屏概率性开机严重花屏和闪屏(持续抖动)
调整过上电时序,PCLK,MIPI CLOCK等均无效,后测量电源时序时发现屏的DVDD电压过高,规格为1.7-2.0V,标准1.8V,实测约2.3V,已超规格。我有遇到过这种情况,做重启或开机测试,概率性(20次内可复现)出现开机logo明显抖动,开机界面严重花屏和抖动,但正常启动时显示又是正常的。这里只说一种可能的原因:电源电压不符合屏规格要求!后将此电源输出改为1.8V后测试问题得到解决。
2024-11-15 17:50:30
701
原创 RK3588 Linux不接TP系统休眠时死机
这句代码在goodix_ts_probe函数中是驱动初始化的一部分,初始化时判断i2c读写是否正常,若不正常则返回。probe函数中返回0代表成功,而返回负值则代表失败,且同时会将所有已申请的系统资源(如端口,接口,内存等)释放掉。返回0不会自动释放已申请的资源,这些未释放的资源就有可能会影响到后续系统程序的运行导致异常的发生。正常休眠时日志如下(DTS中打开休眠日志打印:rockchip,sleep-debug-en = <1>;现象:没有接TP,系统休眠后无法唤醒,通过日志判断为系统休眠过程中死机。
2024-11-14 16:23:22
631
原创 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
482
原创 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
1063
原创 RK3588 Linux常见错误返回值代表的意思
参考文件:kernel/include/uapi/asm-generic/errno-base.h。
2024-11-10 16:23:42
390
原创 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
684
2
原创 RK3399 各个IO电源域名称和配置
重点关注下uboot-set节点的配置,这是配置uboot中电源域的,如果不配置,可能会出现uboot中操作对应电源域的GPIO无效的问题。之后通过节点对应的电源域名称(比如APIO2_VDD)在原理图上找到所连接的电源regulator名称填到dts中即可。
2024-08-10 15:02:34
544
原创 RK3588 Linux插入HDMI后出现hdmi: i2c read time out!
如果I2C硬件上通信没问题的话,很可能是HDMI实际所用的i2c通道与dts中配置的不同。
2024-08-02 16:53:59
1023
原创 RK3588 Linux跑reboot出现RTC时间明显变快的问题
开机时系统会读取RTC时间作为系统时间,因脚本中添加了如上代码,开机后系统会再次将系统时间写入到RTC中,反复reboot就会反复写入,因RTC写入时间会产生误差(误差在1秒内),比如RTC当前时间为12:00:00:500(此处500代表500ms),如果此时我再次向RTC写入时间12:00:00(写入的时间只能精确到秒),那么RTC只需500ms就能到12:00:01,也就是比实际上快了500ms。而不是从RTC中读取的时间之后再写入RTC。
2024-08-02 16:35:45
506
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人