- 博客(248)
- 收藏
- 关注
原创 RK3588 使用YT8521百兆通信正常千兆不通
我们有个项目在设计时将32脚的1.2V电源输出外部串了电感以后又串了磁珠,可能是两者串一起后使电源产生了轻微振荡。而千兆网络因为速率较高,更容易受到这种振荡的影响,导致千兆始终无法正常link。解决:参考YT8521的参考电路将磁珠换成电阻即可。百兆测试link后速率正常,吞吐率正常。但千兆始终无法link成功。可能的一种原因:电源问题。
2024-05-06 18:01:40 176
原创 RK3588 使用HYM8563 RTC时间不准(比如24小时后比北京时间快或慢几秒)
RTC时间不准确很可能与RTC的参考时钟有关系,HYM8563使用的晶振频率为32.768KHz,可实际测量晶振频率是否准确,是否有偏差。如果实际频率偏离32.768KHz,可以调整晶振的匹配电容大小进行修正解决。
2024-04-24 17:36:30 138
原创 RK3588 Android12 拔出耳机后一段时间后系统才检测到耳机拔出的状态
需要注意的一点是,HP_DET对应主控芯片的GPIO设置的模式对上拉电阻的大小是有影响的。如果完全由外部上拉,可将HP_DET设置为内部无上下拉的模式(pcfg_pull_none),若只使用内部上拉,也可以将GPIO设置为内部上拉模式(pcfg_pull_up)。耳机检测引脚HP_DET的上拉电阻阻值过大,因硬件设计耳机未插入时HP_DET为高电平,耳机插入后为低电平。将耳机检测引脚HP_DET的上拉电阻阻值适当改小,阻值越小,驱动电流越大,电平转换的速度越快。
2024-04-17 15:08:27 203
原创 RK3588S Android12驱动设置GPIO输出电平概率性不生效
首先检查下dts中是否有重复配置此GPIO端口,若没有,有可能是IO引脚功能复用的原因。RK芯片很多引脚都是多功能复用的,配置为GPIO时若没有明确将此引脚配置为GPIO功能且此引脚复用的功能也有配置使用的话就可能会出现GPIO控制不生效的问题。在dts中配置GPIO的节点中明确配置此引脚为GPIO功能。
2024-04-17 11:58:39 245 1
原创 RK3588S Android12使用bq25700或南芯系列充电芯片出现ACOK中断不停上报的问题
如果硬件上对ACOK的电平状态做了反向设计(比如增加了MOS),那么读取AC_STAT为1时适配器处于插入状态,但CPU端的ACOK对应GPIO为低电平,此时驱动中仍设置下次中断触发的有效电平为低电平就会出现中断不停触发的现象,且代码只会一直跑中断函数中的if和else中其中1个。一般bq25700等充电芯片可以通过读取状态寄存器的值判断当前AC接入的状态,若ACOK引脚电平状态为高电平,寄存器AC插入状态位的值为1,反之则为0。解决方法很简单,将驱动代码中的下次有效出发电平反向就可以了。
2024-04-17 10:10:38 439
原创 RK3588S Android12查看系统本次开机的时长
它依次显示下列信息:当前时间、系统已经运行了多长时间、有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
2024-04-07 10:46:40 207
原创 RK3399 Android7.1查询本地保存的日志
对应的app源码路径为:vendor/rockchip/common/tools/log_capture/logcatext/logcat.cpp。本地保存的日志文件路径:/data/logs/aplog。
2024-04-07 10:41:37 101
原创 RK3399 Android7.1本地OTA升级失败
将OTA升级包放至存储根目录下,重启后弹出提示升级,系统显示正在更新系统,完成后自动重启进入系统,然后就弹出提示升级失败。1,接着适配器,电池电量低于15%2,未接适配器,电池电量低于20%
2024-04-07 10:34:56 225
原创 RK3399 Android7.1在uboot中设置GPIO的上下拉模式
如果dts中设置gpio的上下拉在uboot中不生效,可以考虑使用uboot中的函数来设置GPIO的上下拉模式。函数为gpio_pull_updown(u-boot\drivers\gpio\rk_gpio.c)。(可能要先request一下)gpio_test=GPIO_BANK1|GPIO_A1;(GPIO口为GPIO1_PA1)GPIOPullDown:下拉。PullDisable:浮空。GPIOPullUp:上拉。
2024-03-21 09:54:51 243
原创 RK3588S Android12使用typec扩展HDMI播放视频速度加快(像2倍速)
使用去除音轨的视频文件测试如果速度正常,原因很可能是没有注册hdmi声卡。
2024-02-27 10:21:14 242
原创 RK3588S Android12使用typec扩展HDMI播放视频无声音
原因是未注册HDMI声卡,比如typec0接口的解决如下:dts中添加如下节点:
2024-02-27 10:13:32 254
原创 RK3588S Android12配置使用或不使用某类传感器(sensor)
在device/rockchip/rk3588/rk3588s_s/BoardConfig.mk中配置对应宏定义的开关即可。
2024-02-26 10:41:46 215
原创 RK3588S Android12去掉相册照片分享中的蓝牙选项
这里仅分享在硬件配置无蓝牙或需求不需要蓝牙功能时的简单修改,直接删除Bluetooth.apk应用即可。单独删除Bluetooth就可以了,BleutoothMidiService如果不用的话也可以删除。重编后烧录系统若发现这个应用还在,那么就clean后全编一下。
2024-02-22 15:45:39 208
原创 RK3588S Android12概率性检测不到电池在线
解决该问题的方法是重新设置GPIO内部的上下拉模式,GPIO可设置为内部上拉(pcfg_pull_up),内部下拉(pcfg_pull_down),无上下拉(pcfg_pull_none)。原因是该GPIO默认为主控内部上拉至电源的(即主控GPIO引脚的名字最后的后缀为u),主控内部的上拉电阻与外部的上拉电阻并联导致总上拉电阻阻值变小,所以GPIO分压后电压变大了。测量题中问题出现时GPIO的电压为0.8V左右,这个电压有时会被认为是高电平,驱动读到GPIO电平为高,所以认为电池未接入。
2024-01-30 20:42:04 153
原创 RK3588S Android12修改前摄像头不要镜像显示预览画面
也可以不改mirror的值,修改下面的if条件语句,将前摄的代码改为和后摄一样也行。
2024-01-30 20:25:19 259
原创 RK3588S Android12去掉设置-显示中自动亮度调节选项
--- a/device/rockchip/common/overlay/frameworks/base/core/res/res/values/config.xml+++ b/device/rockchip/common/overlay/frameworks/base/core/res/res/values/config.xml@@ -57,7 +57,7 @@ <!-- Flag indicating whether the we should enable the automatic
2024-01-30 20:20:07 218
原创 RK3588S Android12解决关机状态下快速插拔适配器开机进系统的问题
所以插上适配器后CPU即启动,uboot代码运行,但当uboot代码运行到检测适配器是否在线的代码时(u-boot\drivers\power\charge_animation.c中charge_animation_show函数),因适配器已拔出,所以检测到当前适配器并不在线,那么代码就不会设置开机模式为充电模式,也就不会进入到关机充电界面,所以就直接进系统了。在uboot中判断适配器是否在线的代码中再增加判断PMIC的启动模式是poweron按键启动还是VDC启动。这样就不会开机进系统了。
2024-01-30 20:14:39 1143
原创 RK3588S Android12使用typec转HDMI正插显示正常反插不显示
原因:硬件设计上将typec0_tx2n和typec0_tx2p接反了,typec0_rx2n和typec0_rx2p也接反了。解决:调整回来以后就正常了。
2024-01-23 10:08:15 540
原创 RK3588S Android12编译报错提示:[-Werror,-Wunused-function]
这是编译规则比较严格,将警告视为错误提示出来了。
2023-12-26 10:50:27 451
原创 RK3399 Android7.1使用iptables实现防火墙功能
iptables是android上可用的网络管控工具,它与kernel中的netfilter配合,为netfilter设置一些过滤规则,当kernel收到网络数据包后,依据iptables设置的规则进行相应的处理。iptables包括5条链表,分别为:PREROUTING(路由前),INPUT(输入),FORWARD(转发),OUTPUT(输出),POSTROUTING(路由后)。如果我要管控外部对本机的网络访问,就管控INPUT这条链路;如果要管控本机对外部的网络访问,就管控OUTPUT这条链路。
2023-12-15 20:27:52 455
原创 RK3588S Android12将debug串口用作普通串口
这样修改后uboot阶段和kernel开始阶段仍会有日志打印,后面就没有日志打印了。/dev下也会生成ttyS2的设备节点了。如果开始一段时间的日志打印对串口的使用没有影响可不必处理。最好同步将内核配置中的CONFIG_FIQ_DEBUGGER等相关配置关闭。
2023-11-29 16:38:20 671
原创 RK3399调整IO口驱动能力
很多PIN脚可以配置驱动能力(即驱动电流值大小),大部分为GPIO引脚,这些引脚有可调节驱动电流的范围,且默认一般为最小值。这里“drive-strength”就是对应的驱动电流值(mA),注意这个值需在引脚可调节驱动电流值的范围内,不在的话则设置无效。有可配置驱动电流的引脚都可以通过dts的配置修改驱动能力。
2023-11-27 17:07:54 571 1
原创 RK平台io命令使用方法
读直接输入io,后面加寄存器地址即可,但是,默认是按1字节来读的,由于芯片每个寄存器都是32位(即4个字节),为了方便查阅,我们经常一次读4个字节,如:有时候也会一次性读多个字节,比如一次性读32个字节,每4个字节显示为一组:写写寄存器的操作相对读只是后面多了个寄存器的值,一般经常是一次写4个字节,如:
2023-11-23 16:23:34 117
原创 RK3588 Android12测试SSD读写速度
/data/SSD”是SSD所挂载的文件系统路径(使用实际挂载路径),test为dd创建的测试文件,大小为1Mx10240=10GB。写速度:dd if=/dev/zero of=/data/SSD/test bs=1M count=10240。读速度:dd if=/data/SSD/test of=/dev/null bs=1M。多测试几次取平均值。
2023-11-11 16:59:52 221
原创 RK3588S Android12修改I2C时钟频率
若dts中有指定“clock-frequency”的值,则使用dts中设定的值。另外,由上面驱动代码也可以看出I2C时钟上升沿和下降沿的时间也是根据时钟频率大小而定的。DTS中未指明具体的时钟频率的话,驱动中默认使用100K的时钟频率。
2023-11-11 16:49:57 250
原创 RK3588S Android12摄像头使用48M以上分辨率拍照时打开闪光灯拍照无闪光效果
因为选择高分辨率进行拍照时,数据量较大,系统处理耗时会更长,如果闪光灯设置的闪光时间较短,可能出现闪光灯闪光已结束但照片还没有拍好的情况,这时就会出现虽然闪光灯闪了光,但拍出来的照片却没有闪光效果的问题。比如我们某个项目使用的闪光灯驱动芯片为LM3642,摄像头模组为OV50C40,选择49.5M分辨率拍照时就会出现闪光灯闪不到光的问题。闪光拍照的流程大致是:闪光灯打开--》写寄存器50ms--》初始化曝光100ms--》获取到第一帧100ms--》前2-3帧曝光值需要调整过滤300ms。
2023-11-11 15:17:59 136
原创 RK3399 Android7.1编译OTA升级包
之后在out\target\product\rk3399_all\目录下生成rk3399_all-ota-eng.xxx.zip(xxx代表编译者的名字)。将zip文件重命名为update.zip然后拷贝到T卡或内置存储根目录下即可。首先需要系统内置RKUpdateService.apk,升级服务是通过这个apk完成的。如果系统检测到了update.zip升级包,则会弹出提示询问用户是否安装,选择安装即可完成升级。
2023-11-11 14:27:06 209
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人