Firefly开源社区

标题: rk3588 启动卡住 [打印本页]

作者: zz123456    时间: 2022-8-31 17:54
标题: rk3588 启动卡住
请问进入到maskrom模式然后烧录固件:

sudo upgrade_tool uf ITX-3588J_Android12_HDMI_220830.img
Program Data in /home/zhang/.config/upgrade_tool
Loading firmware...
Support Type:RK3588    FW Ver:c.0.00    FW Time:2022-08-30 08:29:28
Loader ver:1.0b    Loader Time:2022-08-29 18:15:38
Upgrade firmware ok.


固件烧录完成后,串口打印到如下信息,然后卡住不动了,可能是什么问题?


DDR Version V1.07 20220412
DDR Version V1.07 20220412
LPDDR4X, 2112MHz
channel[0] BW=16 Col=10 Bk=8 CS0 Row=17 CS=1 Die BW=16 Size=2048MB
channel[1] BW=16 Col=10 Bk=8 CS0 Row=17 CS=1 Die BW=16 Size=2048MB
channel[2] BW=16 Col=10 Bk=8 CS0 Row=17 CS=1 Die BW=16 Size=2048MB
channel[3] BW=16 Col=10 Bk=8 CS0 Row=17 CS=1 Die BW=16 Size=2048MB
change to F1: 528MHz
change to F2: 1068MHz
change to F3: 1560MHz
change to F0: 2112MHz
out
U-Boot SPL board init
U-Boot SPL 2017.09 (Aug 29 2022 - 18:14:55)
unknown raw ID phN
unrecognized JEDEC id bytes: 00, 00, 00
Trying to boot from MMC2
Card did not respond to voltage select!
mmc_init: -95, time 12
spl: mmc init failed with error: -95
Trying to boot from MMC1
Trying fit image at 0x4000 sector
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(581130cddd...) + OK
## Checking uboot 0x00200000 ... sha256(15714d1d95...) + OK
## Checking fdt 0x003284b8 ... sha256(c07f4a4d71...) + OK
## Checking atf-2 0x000f0000 ... sha256(6a00298af8...) + OK
## Checking atf-3 0xff100000 ... sha256(71c3a5841b...) + OK
## Checking atf-4 0xff001000 ... sha256(2301cf73be...) + OK
## Checking optee 0x08400000 ... sha256(603cfbd25d...) + OK
Jumping to U-Boot(0x00200000) via ARM Trusted Firmware(0x00040000)
Total: 129.433 ms
tchip_askquestions

log.tar.gz

678 Bytes, 下载次数: 1, 下载积分: 灯泡 -1 , 经验 -1


作者: jpchen    时间: 2022-9-1 14:54
先确认一下你用的是roc-rk3588s-pc的机器,那烧录的是对应固件,你现在烧录ITX-3588J的固件这样是不行的哦
作者: zz123456    时间: 2022-9-2 11:15
jpchen 发表于 2022-9-1 14:54
先确认一下你用的是roc-rk3588s-pc的机器,那烧录的是对应固件,你现在烧录ITX-3588J的固件这样是不行的哦

我用的就是3588j
作者: zz123456    时间: 2022-9-2 13:15
zz123456 发表于 2022-9-2 11:15
我用的就是3588j

我的设备也是rk3588j呀
作者: zz123456    时间: 2022-9-2 17:12
已经验证硬件上出了问题. 更换3588J核心板就可以正常工了.

但是在测试hdmi固件和mipi固件时,发现hdmi固件没有什么问题,mipi固件接上hdmi屏幕只有中间一块有显示,两边都是黑色的,并且点击导航栏
旋屏按钮无法旋转过来,这个要怎么修改?
作者: jpchen    时间: 2022-9-5 14:30
zz123456 发表于 2022-9-2 17:12
已经验证硬件上出了问题. 更换3588J核心板就可以正常工了.

但是在测试hdmi固件和mipi固件时,发现hdmi固 ...

这是由于dpi 的问题导致,可以修改如下
--- a/device/rockchip/rk3588/rk3588_firefly_itx_3588j_mipi/rk3588_firefly_itx_3588j_mipi.mk
+++ b/device/rockchip/rk3588/rk3588_firefly_itx_3588j_mipi/rk3588_firefly_itx_3588j_mipi.mk
@@ -44,7 +44,7 @@ PRODUCT_FIREFLY_NAME := MIPI
#
## add Rockchip properties
#
-PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=320
+PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=160
作者: zz123456    时间: 2022-9-5 17:59
jpchen 发表于 2022-9-5 14:30
这是由于dpi 的问题导致,可以修改如下
--- a/device/rockchip/rk3588/rk3588_firefly_itx_3588j_mipi/r ...

我的屏幕是1920*1080 不是应该改480么?
作者: jpchen    时间: 2022-9-6 08:52
zz123456 发表于 2022-9-5 17:59
我的屏幕是1920*1080 不是应该改480么?

如果使用mipi屏幕分辨率是800x1280 10.1寸 计算dpi 如下
dpi = 开根号(800x800+1280x1280) /10.1 =149.4   即dpi 可以取160
https://www.cnblogs.com/drunkle/p/14687338.html
作者: zz123456    时间: 2022-9-6 11:16
jpchen 发表于 2022-9-6 08:52
如果使用mipi屏幕分辨率是800x1280 10.1寸 计算dpi 如下
dpi = 开根号(800x800+1280x1280) /10.1 =149.4 ...

买的mipi屏幕没有到,还没试过mipi上显示,目前使用mipi固件接1920*1080 hdmi屏幕显示异常.
作者: zz123456    时间: 2022-9-6 17:34
本帖最后由 zz123456 于 2022-9-6 17:35 编辑
zz123456 发表于 2022-9-6 11:16
买的mipi屏幕没有到,还没试过mipi上显示,目前使用mipi固件接1920*1080 hdmi屏幕显示异常.

为啥改了以后接HDMI还是这样,是不是应该默认旋转90/270度, 现在这个旋转只是放大了而已,并没有旋转.

fc8c1188dabe77cb86ec5d53c627b691.jpg (163.4 KB, 下载次数: 794)

fc8c1188dabe77cb86ec5d53c627b691.jpg

c94b66df5b87f3853cddd8fed21e64e9.jpg (201.04 KB, 下载次数: 800)

c94b66df5b87f3853cddd8fed21e64e9.jpg

作者: jpchen    时间: 2022-9-7 10:20
zz123456 发表于 2022-9-6 17:34
为啥改了以后接HDMI还是这样,是不是应该默认旋转90/270度, 现在这个旋转只是放大了而已,并没有旋转.

由于mipi 屏的分辨率800x1280,而hdmi 分辨率是1920x1080,这两个是不一样的分辨率,所以按旋转按钮
主要是主屏(mipi屏) 进行旋转,而副屏不能铺满或不能旋转可以设置如下属性后进行重启,具体可以参考sdk文件Rockchip_Developer_Guide_Dual_Display_Rotation_Direction_Debugging_CN.pdf

setprop persist.sys.rotation.einit-1 1       //0/1/2/3
setprop persist.sys.rotation.efull-1 true
作者: zz123456    时间: 2022-9-7 13:18
本帖最后由 zz123456 于 2022-9-8 14:56 编辑
jpchen 发表于 2022-9-7 10:20
由于mipi 屏的分辨率800x1280,而hdmi 分辨率是1920x1080,这两个是不一样的分辨率,所以按旋转按钮
主 ...

我把分辨率改成1920*1080了 ,加了下面代码,是满屏铺满了,但是旋转还是不对(横屏是正常无法切换到竖屏)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.framebuffer.main=1920x1080@60
PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=213




加了 您刚才给的参数,竖屏是正常无法切换到横屏
setprop persist.sys.rotation.einit-1 1   
setprop persist.sys.rotation.efull-1 true






作者: jpchen    时间: 2022-9-8 08:58
zz123456 发表于 2022-9-7 13:18
我把分辨率改成1920*1080了 ,嫁了下面代码,是满屏铺满了,但是旋转还是不对(横屏是正常无法切换到竖屏)
P ...

这个主要看你的使用场景进行软件配置,主屏是可以根据旋转按钮进行旋转,副屏是修改如上的属性进行旋转,如果副屏旋转成竖屏的方向不对,可以修改代码里面frameworks/base/services/core/java/com/android/server/display/LogicalDisplay.java
作者: zz123456    时间: 2022-9-8 14:54
jpchen 发表于 2022-9-8 08:58
这个主要看你的使用场景进行软件配置,主屏是可以根据旋转按钮进行旋转,副屏是修改如上的属性进行旋转, ...

mipi固件默认摄像头使用看起来是拉伸了, 摄像头应该是16:9,请问摄像头能否配置多个分辨率?
作者: zz123456    时间: 2022-9-8 17:08
jpchen 发表于 2022-9-8 08:58
这个主要看你的使用场景进行软件配置,主屏是可以根据旋转按钮进行旋转,副屏是修改如上的属性进行旋转, ...

另外,想问一下,主屏(1280*800)和副屏(1920*1080)可以同时适配各自的分辨率么?不会出现拉伸的铺满
作者: jpchen    时间: 2022-9-8 20:07
zz123456 发表于 2022-9-8 17:08
另外,想问一下,主屏(1280*800)和副屏(1920*1080)可以同时适配各自的分辨率么?不会出现拉伸的铺满

这个没办法,主要是两个屏幕的分辨率不一致,或者说比例不一样,如果不铺满就会有黑边
作者: jpchen    时间: 2022-9-8 20:08
zz123456 发表于 2022-9-8 14:54
mipi固件默认摄像头使用看起来是拉伸了, 摄像头应该是16:9,请问摄像头能否配置多个分辨率?

这个问题会找个时间看一下
作者: zz123456    时间: 2022-9-9 15:44


按照官方方法修改默认竖屏改横屏,显示是改过来了(旋转90度),但是触摸却没有旋转,刚好相差90度,这个要怎么处理?


横竖屏.png (54.76 KB, 下载次数: 706)

横竖屏.png

作者: zz123456    时间: 2022-9-9 17:20
jpchen 发表于 2022-9-8 20:08
这个问题会找个时间看一下

摄像头拉伸应该是官方固件竖屏导致的,对比发现拍摄效果是旋转了90度的,横屏之后旧没有拉伸了
作者: jpchen    时间: 2022-9-13 15:59
zz123456 发表于 2022-9-9 17:20
摄像头拉伸应该是官方固件竖屏导致的,对比发现拍摄效果是旋转了90度的,横屏之后旧没有拉伸了

camera 竖屏效果可以修改如下
+++ b/hardware/rockchip/camera/etc/camera/camera3_profiles_rk3588.xml
@@ -453,7 +453,7 @@
             <sensor.baseGainFactor value="0,1"/> <!-- HAL may override this value from CMC for RAW sensors -->
             <sensor.blackLevelPattern value="0,0,0,0"/>
             <sensor.maxAnalogSensitivity value="2400"/> <!-- HAL may override this value from CMC for RAW sensors -->
-            <sensor.orientation value="0"/>
+            <sensor.orientation value="90"/>
             <sensor.profileHueSatMapDimensions value="0,0,0"/>
             <sensor.availableTestPatternModes value="OFF,COLOR_BARS"/>
             <!-- Info -->
@@ -702,7 +702,7 @@
             <sensor.baseGainFactor value="0,1"/> <!-- HAL may override this value from CMC for RAW sensors -->
             <sensor.blackLevelPattern value="0,0,0,0"/>
             <sensor.maxAnalogSensitivity value="2400"/> <!-- HAL may override this value from CMC for RAW sensors -->
-            <sensor.orientation value="0"/>
+            <sensor.orientation value="90"/>
             <sensor.profileHueSatMapDimensions value="0,0,0"/>
             <sensor.availableTestPatternModes value="OFF,COLOR_BARS"/>
作者: zz123456    时间: 2022-9-14 08:36
jpchen 发表于 2022-9-13 15:59
camera 竖屏效果可以修改如下
+++ b/hardware/rockchip/camera/etc/camera/camera3_profiles_rk3588.xml ...

我现在想让屏幕横屏,问题是显示横过来了,但是触摸却没有横过来,这个问题要怎么解决?
作者: wx__M5ym33    时间: 2022-9-23 10:16
zz123456 发表于 2022-9-9 15:44
按照官方方法修改默认竖屏改横屏,显示是改过来了(旋转90度),但是触摸却没有旋转,刚好相差90度,这个要怎 ...

1.添加以下修改
  1. diff --git a/frameworks/native/services/inputflinger/reader/mapper/TouchInputMapper.cpp b/frameworks/native/services/inputflinger/reader/mapper/TouchInputMapper.cpp
  2. index 29a0fc748ea..042358a5b51 100644
  3. --- a/frameworks/native/services/inputflinger/reader/mapper/TouchInputMapper.cpp
  4. +++ b/frameworks/native/services/inputflinger/reader/mapper/TouchInputMapper.cpp
  5. @@ -692,7 +692,7 @@ void TouchInputMapper::configureSurface(nsecs_t when, bool* outResetNeeded) {
  6.              // in the same orientation as the device. The input device orientation will be
  7.              // re-applied to mSurfaceOrientation.
  8.              const int32_t naturalSurfaceOrientation =
  9. -                    (mViewport.orientation - static_cast<int32_t>(mParameters.orientation) + 4) % 4;
  10. +                    (mViewport.orientation + static_cast<int32_t>(mParameters.orientation)) % 4;
  11.              switch (naturalSurfaceOrientation) {
  12.                  case DISPLAY_ORIENTATION_90:
  13.                      naturalLogicalWidth = mViewport.logicalBottom - mViewport.logicalTop;
  14. ~
  15. ~
  16. ~
复制代码

2.添加触摸屏的配置文件,文件中放置touch.orientation (默认触摸的方向)的参数
(1)如果是mipi屏可以在板子的[backcolor=rgba(62, 91, 118, 0.08)]/system/usr/idc/ 添加名为himax-touchscreen.idc的文件
文件中添加touch.orientation = ORIENTATION_0(这里的触摸方向是0,如果你要改成90度,则改为ORIENTATION_90,180度改为ORIENTATION_180),方向与默认显示方向要一致。
也可以在sdk的frameworks/base/data/keyboards/下添加上述的配置文件,编译后烧写进板子。


(2)如果烧写的是hdmi的固件,用的是hdmi屏,在上述同样的路径添加名为ILITEK_ILITEK-TP.idc的文件,文件中属性要按上面的配置一样。


(3)如果烧写的是支持mipi的固件,插进的是hdmi屏,hdmi的触摸方向要设为0(不放置hdmi的配置文件或者配置文件里的默认触摸方向改为0)


3.补充
可以在板子终端输入dumpsys input来查看输入设备的设备名,我们的配置文件是根据屏幕设备名来命名的
如图所示当输入命令后,我们可以找到我插入mipi屏的一些设备信息(这个是我已经放置好配置文件了,所以ConfigurationFile那一项才有信息,如果没有放置配置文件的话,ConfigurationFile那一项是空的),我这里的mipi触摸的设备名为himax-touchscreen,所以对应的配置文件命名为himax-touchscreen.idc


如果放置了配置文件还出现问题要看一下配置文件名与设备名是否对应,注意如果设备名中有空格,配置文件名要将空格改为"_",如设备名为ILITEK ILITEK-TP,那么配置的文件名要命名为ILITEK_ILITEK-TP.idc。



作者: zz123456    时间: 2022-9-23 14:29
本帖最后由 zz123456 于 2022-9-23 14:31 编辑
wx__M5ym33 发表于 2022-9-23 10:16
1.添加以下修改

2.添加触摸屏的配置文件,文件中放置touch.orientation (默认触摸的方向)的参数
我通过修改mipi触摸屏的驱动,在驱动里面将触摸屏x/y以及边界分辨率进行了修改,最终达到了想要的效果.

你说的方法我试试.





欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1