Firefly开源社区

12
发表新贴
打印 上一主题 下一主题

在kernel修改的代码烧录以后没有起作用

97

积分

0

威望

0

贡献

技术小白

积分
97

在kernel修改的代码烧录以后没有起作用

发表于 2017-7-3 15:40:02      浏览:17298 | 回复:22        打印     [复制链接] 楼主
我在kernel\drivers\video\rockchip\rk_fb.c中修改的代码,重新编译烧录以后,log显示修改没有生效。
然后我重新编译了uboot,把uboot.img和RK3128MiniLoaderAll_V2.25.bin也重新烧录了,但是kernel的修改还是没有生效,请教到底是什么原因?如何解决?谢谢!
例如,我在rk32_mipi_dsi_probe()函数的倒数第二句,dev_info(&pdev->dev, "rk mipi_dsi probe success!, flower\n");增加了flower的字样,但是运行的时候,日志里还是显示rk mipi_dsi probe success!,没有我增加的东西

启动日志.zip

34.98 KB, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1

回复

使用道具 举报

97

积分

0

威望

0

贡献

技术小白

积分
97
发表于 2017-7-3 16:28:43      沙发
leung先森 发表于 2017-7-3 16:19
把带内核的boot.img给替换掉,建议重新编译不要加ota参数

重新编译什么不要加ota参数?
我没有加ota参数
我都是按照你们网页上的指示来做的
cd SDK/u-boot
make rk3128_defconfig
make
编译内核是:
make fireprime_defconfig
make -j8 rk3128-fireprime.img
回复

使用道具 举报

97

积分

0

威望

0

贡献

技术小白

积分
97
发表于 2017-7-4 09:11:49      板凳
本帖最后由 flowerking 于 2017-7-4 09:43 编辑
leung先森 发表于 2017-7-3 16:36
你编译了内核那部分,没有编译上层

现在编译和下载没问题了,但是初始化的过程中,mali400 GPU没有起来,感觉根本就没有去初始化GPU,所以我的MiPi凭一直没有亮起来,下面是log,请帮忙分析一下是什么原因?
[   24.518290] ======== PULL WL_REG_ON LOW! ========
[   24.518304] [WLAN_RFKILL]: rockchip_wifi_power: 0
[   24.521934] Cam_Powerdowm
[   24.536837] init: /dev/hw_random not found
[   24.536961] keychord: using input dev 20050030.pwm for fevent
[   24.536983] keychord: using input dev rk29-keypad for fevent
[   24.549375] init: /dev/hw_random not found
[   24.551603] fs_mgr: Running /sbin/resize2fs on /dev/block/platform/1021c000.rksdmmc/by-name/system
[   24.556285] resize2fs: resize2fs 1.42.9 (28-Dec-2013)resize2fs: /sbin/resize2fs: Bad magic number in super-block while trying to open /dev/block/platform/1021c000.rksdmmc/by-name/systemresize2fs: Couldn't find valid filesystem superblock.resize2fs: resize2fs terminated by exit(1)
[   24.559632] EXT4-fs (mmcblk0p12): VFS: Can't find ext4 filesystem

[   24.559849] fs_mgr: __mount(source=/dev/block/platform/1021c000.rksdmmc/by-name/system,target=/system,type=ext4)=-1
[   24.560609] fs_mgr: Failed to mount an un-encryptable or wiped partition on/dev/block/platform/1021c000.rksdmmc/by-name/system at /system options: noauto_da_alloc error: Invalid argument
[   24.575427] EXT4-fs (mmcblk0p8): recovery complete
[   24.576033] EXT4-fs (mmcblk0p8): mounted filesystem with ordered data mode. Opts: noauto_da_alloc,discard
[   24.576206] fs_mgr: __mount(source=/dev/block/platform/1021c000.rksdmmc/by-name/cache,target=/cache,type=ext4)=0
[   24.581269] EXT4-fs (mmcblk0p10): recovery complete
[   24.581303] EXT4-fs (mmcblk0p10): mounted filesystem with ordered data mode. Opts: noauto_da_alloc,discard
[   24.581448] fs_mgr: __mount(source=/dev/block/platform/1021c000.rksdmmc/by-name/metadata,target=/metadata,type=ext4)=0
[   24.590835] ret: 0
[   24.591740] EXT4-fs (mmcblk0p9): recovery complete
[   24.592131] EXT4-fs (mmcblk0p9): mounted filesystem with ordered data mode. Opts: noauto_da_alloc,discard
[   24.592297] fs_mgr: __mount(source=/dev/block/platform/1021c000.rksdmmc/by-name/userdata,target=/data,type=ext4)=0
[   24.592384] init: fs_mgr_mount_all returned an error
[   24.592772] init: fs_mgr_mount_all returned unexpected error 255
[   24.595255] Unable to find swap-space signature
[   24.595361] fs_mgr: swapon failed for /dev/block/zram0
[   24.604775] Cannot change disksize for initialized device
[   24.606463] Unable to find swap-space signature
[   24.606572] fs_mgr: swapon failed for /dev/block/zram0

[   24.620348] [WLAN_RFKILL]: wifi shut off power.
[   24.620364] soc-camera-pdrv gc0329_front_5: Probing gc0329_front_5
[   24.620392] [WLAN_RFKILL]: rockchip_wifi_ref_voltage: 0
[   24.620407] [WLAN_RFKILL]: rockchip_wifi_ref_voltage: wifi io reference voltage control is disabled.
[   24.620524] dhd_module_init: Exit err=0
[   24.642856] EXT4-fs (mmcblk0p9): Unrecognized mount option "background_gc=on" or missing value
[   24.650105] init: cannot find '/system/bin/logd', disabling 'logd'
[   24.650819] init: cannot find '/system/bin/lmkd', disabling 'lmkd'
[   24.650886] init: cannot find '/system/bin/servicemanager', disabling 'servicemanager'
[   24.650947] init: cannot find '/system/bin/vold', disabling 'vold'
[   24.650996] init: cannot find '/system/bin/surfaceflinger', disabling 'surfaceflinger'
[   24.657365] init: property 'ro.serialno' doesn't exist while expanding '${ro.serialno}'
[   24.657406] init: cannot expand '${ro.serialno}' while writing to '/sys/class/android_usb/android0/iSerial'
[   24.657707] init: property 'ro.product.manufacturer' doesn't exist while expanding '${ro.product.manufacturer}'
[   24.657742] init: cannot expand '${ro.product.manufacturer}' while [u[   24.65893[[[   24.662499] bat_cap: oldcap path is /[[   [   24.666382] init: cannot find '/system[[ [   24.672725] read descriptors
[   24.672758] read strings
[   24.672[   24.689287] ret: 0
[   24.816163] rk818-battery rk818-battery: changed: dsoc=0, rsoc=0
[   24.827403] rk818-battery rk818-battery: set charge to digital termination mode
[   24.836796] Cam_Powerdowm
[   24.837335] min_w = 640,min_h = 480 ,max_real_w = 640,max_real_h = 480,max_w = 640,max_h =480
[   24.857455] gc0329_front_5(rk_cam_sensor:169): write reg(0xfc, val:0x16) failed, try to write again!
[   24.858413] gc0329_front_5(rk_cam_sensor:169): write reg(0xfc, val:0x16) failed, try to write again!
[   24.859362] gc0329_front_5(rk_cam_sensor:169): write reg(0xfc, val:0x16) failed, try to write again!
[   24.887236] gc0329_front_5(rk_cam_sensor:335): read reg(0x0 val:0x0) failed, try to read again!
[   24.887261] gc0329(917): gc0329 read chip id high byte failed
[   24.887261]
[   24.887278] gc0329(924): error: gc0329 mismatched   pid = 0x0
[   24.887278]
[   24.887295] gc0329_front_5(rk_cam_sensor:718): error: mismatched   pid = 0x0
[   24.887295]
[   24.994242] Cam_Powerdowm
[   25.063138] ret: 0
[   25.092657] soc-camera-pdrv gc2035_back_6: Probing gc2035_back_6
[   25.181207] ret: 0
[   25.328793] Cam_Powerdowm
[   25.328809] rk_cam_io(1128):SENSOR_PWRSEQ_PWRDN failed
[   25.328879] soc-camera-pdrv gc2035_back_6: Cannot get I2C adapter #2. No driver?
[   25.437015] Cam_Powerdowm
[   25.437031] rk_cam_io(1128):SENSOR_PWRSEQ_PWRDN failed
[   25.437043] rk_cam_io(1117):SENSOR_PWRSEQ_HWRST failed
[   25.505919] ret: 0
[   25.535452] soc-camera-pdrv gc0308_front_7: Probing gc0308_front_7
[   25.623993] ret: 0
[   25.647086] binder: 128:128 transaction failed 29189, size 0-0
[   25.771594] Cam_Powerdowm
[   25.771672] soc-camera-pdrv gc0308_front_7: Cannot get I2C adapter #2. No driver?
[   25.879829] Cam_Powerdowm
[   25.948714] ret: 0
[   26.631225] binder: 128:128 transaction failed 29189, size 0-0
[   27.615367] binder: 128:128 transaction failed 29189, size 0-0
[   28.599508] binder: 128:128 transaction failed 29189, size 0-0
[   29.583644] binder: 128:128 transaction failed 29189, size 0-0
[   30.567789] binder: 128:128 transaction failed 29189, size 0-0
[   31.551941] binder: 128:128 transaction failed 29189, size 0-0
[   32.536091] binder: 128:128 transaction failed 29189, size 0-0
[   33.520244] binder: 128:128 transaction failed 29189, size 0-0
[   34.504397] binder: 128:128 transaction failed 29189, size 0-0
回复

使用道具 举报

97

积分

0

威望

0

贡献

技术小白

积分
97
发表于 2017-7-4 10:02:40      地板
本帖最后由 flowerking 于 2017-7-4 10:08 编辑
leung先森 发表于 2017-7-4 09:53
你这个系统都没跑起来,上层似乎有缺失,或者配合内核配置的上层初始化失败了。
建议回退到官方提交然后 ...

我昨天退回到官方的最新版本,然后只修改了两个文件,新增加了一个文件,就是为了接入MiPi屏,其他的什么都没改动。烧录以后就这样了。我新建了一个目录,然后把fireprime_android5.1_git_20170624.7z(这个是你们官网的最新代码)解压在此目录,然后git reset --hard,然后修改了fireprime_defconfig和rk3128-fireprime.dts,增加了一个自己的Mipi初始化文件lcd-wk-mipi.dtsi,其他什么都没修改,然后先编译u-boot,再编译kernel,最后编译android,都是按照你们的官网指示来做的,最后烧录了全部的固件,结果就这样了
fireprime_defconfig的修改是在最后增加了
CONFIG_LCD_MIPI=y
CONFIG_MIPI_DSI=y
CONFIG_RK32_MIPI_DSI=y
修改的rk3128-fireprime.dts和lcd-wk-mipi.dtsi见附件

dts.zip

6.27 KB, 下载次数: 2, 下载积分: 灯泡 -1 , 经验 -1

回复

使用道具 举报

97

积分

0

威望

0

贡献

技术小白

积分
97
发表于 2017-7-4 10:46:57      5#
本帖最后由 flowerking 于 2017-7-4 10:49 编辑
leung先森 发表于 2017-7-4 10:20
先烧官方的固件,然后单独修改内核,烧写内核resource这2个
背光要确认使能是否提高了,mipi供电。
fb ...

我按照你所说的,下载了你们的最新固件:FirePrime_Android5.1_201704051109.img,然后用开发工具升级了,然后系统没有出现错误了。这时候我在ubuntu下新建了目录,把fireprime_android5.1_git_20170624.7z解压到此目录,然后git reset --hard,完了以后,我把我的那三个文件拷贝到对应的目录里面,然后make fireprime_defconfig,make -j8 rk3128-fireprime.img,编译成功以后,我只烧录kernel.img和resource.img,烧录成功重启以后就又复现了昨天的问题,所有的修改无效,感觉是kernel.img没有烧录一样?请问怎样才能让kernel.img生效?
[    0.853534] rk_battery_charger_detect_cb , battery_charger_detect 1
[    0.867229] fb disp policy is box
[    0.867340] rk-fb rockchip-fb: rk fb ion client create success!
[    0.867367] rk-fb rockchip-fb: rockchip framebuffer driver probe
[    0.867858] rk-screen rk_screen.9: rockchip screen probe success
[    0.868426] rk31xx-lvds 20038000.lvds: screen is not lvds/rgb!
[    0.868470] rk31xx-lvds: probe of 20038000.lvds failed with error -22
[    0.869527] rk312x-lcdc lcdc0: can't find power_ctr node for lcdc0
[    0.869556] rk_fb_trsm_ops_get:un supported transmitter:6!
[    0.870128] graphics fb0: rockchip framebuffer registerd:fb0
[    0.870923] graphics fb1: rockchip framebuffer registerd:fb1
[    0.871335] graphics fb2: rockchip framebuffer registerd:fb2
[    0.871954] rk312x-lcdc lcdc0: set lcdc0 dclk failed
[    0.871989] rk312x-lcdc lcdc0: lcdc0: dclk:74250000>>fps:60
[    0.872017] rk312x-lcdc lcdc0: wakeup from standby!
[    0.889890] alloc_buffer:ion_phy_addr=0x10000000
看日志,系统还是去检测lvds,但实际上我已经修改.dts文件屏蔽了lvds设备,要求检测mipi
回复

使用道具 举报

97

积分

0

威望

0

贡献

技术小白

积分
97
发表于 2017-7-4 11:11:03      6#
leung先森 发表于 2017-7-4 10:20
先烧官方的固件,然后单独修改内核,烧写内核resource这2个
背光要确认使能是否提高了,mipi供电。
fb ...

感觉现在进入了一个死循环里面一样了。请指示一下到底要怎么做才能弄好?谢谢
回复

使用道具 举报

97

积分

0

威望

0

贡献

技术小白

积分
97
发表于 2017-7-4 11:40:25      7#
leung先森 发表于 2017-7-4 11:34
单独烧写一个boot.img

这个boot.img是需要编译android才能生成的吧?我试试
回复

使用道具 举报

97

积分

0

威望

0

贡献

技术小白

积分
97
发表于 2017-7-4 14:07:28      8#
leung先森 发表于 2017-7-4 11:34
单独烧写一个boot.img

单独烧写一个boot.img一不行。我的操作过程如下:
1、低格
2、擦除flash
3、烧录你们官网提供的固件
4、烧录我自己编译的boot.img,
烧录成功重启以后,也没有去probe mipi设备,还是检测的lvds设备,而且还有下列错误:
[    5.917192] rk818-battery rk818-battery: changed: dsoc=0, rsoc=0
n_t   6.: 64u0]nan fond any:tadata wyed sobkeng [   l6.4lt7m7] ry /data/propertybernno:op
a_turon', upe ${namta:insuldd                                  /st: /sing o precroed sg tax  or s /difytty  prosucty evo.proruct.ress
fin 6any688datinihenusiokidepforateT!s
co    't4569d ] intz: us wg deloecatg  synpox foulspeci# Sng ping rrty ery (eri 12o',on e $ Jame}1 1ste5:4ad
pcmderte=vro.seri496o' dcksn't_jxigt wnsle ettandi0,115$ro eariapri'                                     [  11
tyF    in591/in in mt Wartsink2  Seanice 00n02le n0xds a00ELinar domern de00ned;00leas00fix!0([bo  6.0x0091] 00@d d000rip0(ms
),0  6008401@0xrea060trires
[ce) 6.00008000@cd_000lup0(ks_oel)
x00006000@0x00014000(boot),0x00010000@0x0001A000(recovery),0x00020000@0x0002A000(backup),0x00040000@0x0004A000(cache),0x001FE000@0x0008A000(userdata),0x00008000@0x00288000(metadata),0x00002000@0x00290000(kpanic),0x00200000@0x00292000(system),0x00020000@0x00492000(radical_update),-@0x004B2000(user) storagemedia=emmc uboot_logo=0x02000000@0x9dc00000 loader.timestamp=2015-12-28_14:53:17 androidboot.mode=emmc

bootmode = emmc
recovery filesystem table
=========================
  0 /mnt/internal_sd vfat /dev/block/platform/1021c000.rksdmmc/by-name/user 0
  1 /mnt/external_sd vfat /dev/block/mmcblk1p1 0
  2 /system ext4 /dev/block/platform/1021c000.rksdmmc/by-name/system 0
  3 /cache ext4 /dev/block/platform/1021c000.rksdmmc/by-name/cache 0
  4 /metadata ext4 /dev/block/platform/1021c000.rksdmmc/by-name/metadata 0
  5 /data ext4 /dev/block/platform/1021c000.rksdmmc/by-name/userdata 0
  6 /cust ext4 /dev/block/platform/1021c000.rksdmmc/by-name/cust 0
  7 /custom ext4 /dev/block/platform/1021c000.rksdmmc/by-name/custom 0
  8 /radical_update ext4 /dev/block/platform/1021c000.rksdmmc/by-name/radical_update 0
  9 /misc emmc /dev/block/platform/1021c000.rksdmmc/by-name/misc 0
  10 /uboot emmc /dev/block/platform/1021c000.rksdmmc/by-name/uboot 0
  11 /charge emmc /dev/block/platform/1021c000.rksdmmc/by-name/charge 0
  12 /resource emmc /dev/block/platform/1021c000.rksdmmc/by-name/resource 0
  13 /parameter emmc /dev/block/platform/1021c000.rksdmmc/by-name/parameter 0
  14 /boot emmc /dev/block/platform/1021c000.rksdmmc/by-name/boot 0
  15 /recovery emmc /dev/block/platform/1021c000.rksdmmc/by-name/recovery 0
  16 /backup emmc /dev/block/platform/1021c000.rksdmmc/by-name/backup 0
  17 /tmp ramdisk ramdisk 0

I/ [File] : bootable/recovery/recovery.cpp; [Line] : 1408; [Func] : SetSdcardRootPath; InternalSD_ROOT: /mnt/internal_sd
I/ [File] : bootable/recovery/recovery.cpp; [Line] : 1410; [Func] : SetSdcardRootPath; ExternalSD_ROOT: /mnt/external_sd
failed to create /cache dir,err=File exists!
[    6.705179] EXT4-fs (mmcblk0p9): mounted filesyD/ [Fwith orbootabdata mover Optso
y.cpp; [Line] : 2265; [Func] : main; to dump args befor get_args() :
         1 argument(s) :
         /sbin/recovery
D/ [File] : bootable/recovery/recovery.cpp; [Line] : 604; [Func] : get_args; to dump 'boot' :
         command : boot-recovery
         status :  
         recovery : recovery
--wipe_all
         stage :  
I/ [File] : bootable/recovery/recovery.cpp; [Line] : 610; [Func] : get_args; Boot command: boot-recovery
I/ [File] : bootable/recovery/recovery.cpp; [Line] : 628; [Func] : get_args; Got arguments from boot message
D/ [File] : bootable/recovery/recovery.cpp; [Line] : 2282; [Func] : main; to dump args after get_args() :
         2 argument(s) :
         recovery
         --wipe_all
locale is [(null)]
stage is []
reason is [(null)]
can't open /dev/tty0: No such file or directory
fb0 reports (possibly inaccurate):
  vi.bits_per_pixel = 16
  vi.red.offset   =  11   .length =   5
  vi.green.offset =   5   .length =   6
  vi.blue.offset  =   0   .length =   5
  fi.line_length = 2560
framebuffer: 0 (1280 x 720) double_buffer 1
[   loa808867]con_i2x-lcdcng, w0: blank meight
975 channels 3
  found frames = 7
load png icon_error, width 254 height 257 channels 3
load png progress_empty, width 252 height 7 channels 3
load png progress_fill, width 252 height 7 channels 3
load png stage_empty, width 50 height 50 channels 1
[    6.901R2covrr818ybattery 0 8ight 50 channels 1

'09:51:47', on 'Apr  5 2017'.ble/[    6.y/reco] ry.cppbattery] k82379;ttery:  : mainrgReco digitysttermina, buimo e
failed to create /mnt/external_sd dir,err=File exists!
W/ [File] : bootable/recovery/roots.cpp; [Line] : 145; [Func] : ensure_path_mounted; trying mount /dev/block/mmcblk1p1 to ntfs
W/ [File] : bootable/recovery/roots.cpp; [Line] : 161; [Func] : ensure_path_mounted; trying mount /dev/block/mmcblk1 to ntfs
E:failed to mount /mnt/external_sd (No such device)
E/ [File] : bootable/recovery/roots.cpp; [Line] : 167; [Func] : ensure_path_mounted; failed to mount /mnt/external_sd (No such device)
delay 2sec
请问到底要怎么搞才好?
回复

使用道具 举报

97

积分

0

威望

0

贡献

技术小白

积分
97
发表于 2017-7-4 14:31:00      9#
leung先森 发表于 2017-7-4 11:34
单独烧写一个boot.img

或者这么说,最新的代码,我什么改动都不做,如果要全部重新编译,然后全部重新烧录,包括loader、uboot、kernel、resource、misc、boot、recovery、system、userdata,parameter,而且烧录以后能够成功跑起来,要怎么做?有没有详细的操作步骤?或者你们有没有尝试最新的代码是否能够全部重新编译以后跑起来没有问题?我不知道parameter的文件在哪里生成,data.img也不知道在哪里生成?
回复

使用道具 举报

97

积分

0

威望

0

贡献

技术小白

积分
97
发表于 2017-7-4 15:13:59      10#
leung先森 发表于 2017-7-4 11:34
单独烧写一个boot.img

我重新把你们的最新源代码解压到一个新的目录,然后什么都没修改,做完git reset --hard以后,
1、cd u-boot目录,make clean,make rk3128_defconfig,然后make
2、进入kernel目录,make clean,make fireprime_defconfig,然后make -j8 rk3128-fireprime.img
3、烧录生成的RK3128MiniLoaderAll_V2.25.bin、uboot.img、kernel.img和resource.img
4、烧录完以后,系统能正常起来。
5、修改kernel/drivers/video/rockchip/transmitter/rk31xx_lvds.c第313行,增加函数名的打印,dev_err(&pdev->dev, "%s: screen is not lvds/rgb!\n", __func__);
6、修改kernel/drivers/video/rockchip/transmitter/rk32_lvds.c第157行,同样增加函数名的打印,dev_err(&pdev->dev, "%s: screen is not lvds/rgb!\n", __func__);
7、再编译kernel
8、同时烧录生成的4个文件,RK3128MiniLoaderAll_V2.25.bin、uboot.img、kernel.img和resource.img
系统起来以后,发现我在kernel的修改没有生效,日志里还是打印:[    0.868548] rk31xx-lvds 20038000.lvds: screen is not lvds/rgb!,并没有新增加的函数名
我搜索了全部的代码,有这个打印的地方就我修改的两个文件
这说明修改的东西没有生效
请问到底要怎么操作才能使得kernel的修改生效啊?
回复

使用道具 举报

返回列表
12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表