IMX6DL hung up Uncompressing Linux... done, booting the kernel.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX6DL hung up Uncompressing Linux... done, booting the kernel.

951 Views
chenfulin5
Contributor I

My company has an IMX6DL product,   there is 2%  probability that then Kernel cannot be started。

I try to follow way to solution this Problem:

1.   I  open kerner low level debug print . when cannot start up kernel ,  have follow kernel debug :

     Uncompressing Linux... done, booting the kernel.

2.   I  try to cold start up  product ,  try  3000 times cold start up , 2940 times can startup success .

3.   U-boot  log follow :

    

U-Boot 2015.04-g310e0ad-dirty (Jan 15 2021 - 16:20:00)


CPU: Freescale i.MX6DL rev1.3 at 792 MHz

CPU: Temperature 36 C

Reset cause: POR

Board: MX6-SabreSD

I2C: ready

DRAM: 2 GiB

PMIC: PFUZE100 ID=0x10

MMC: Card did not respond to voltage select!

Card did not respond to voltage select!

FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2

*** Warning - bad CRC, using default environment


Display: panel1280x800d24 (1280x800)

In: serial

Out: serial

Err: serial

config_ipu_lvds_clk: freq = 560000000.

config_ipu_lvds_clk(16): 84857130 Hz.

switch to partitions #0, OK

mmc2(part 0) is current device

Net: FEC [PRIME]

Error: FEC address not set.


Normal Boot

Hit any key to stop autoboot: 1  0

switch to partitions #0, OK

mmc2(part 0) is current device

reading boot.scr

** Unable to read file boot.scr **

reading zImage

7913104 bytes read in 214 ms (35.3 MiB/s)

Booting from mmc ...

reading imx6dl-sabresd.dtb

43977 bytes read in 18 ms (2.3 MiB/s)

Kernel image @ 0x12000000 [ 0x000000 - 0x78be90 ]

## Flattened Device Tree blob at 18000000

Booting using the fdt blob at 0x18000000

Using Device Tree in place at 18000000, end 1800dbc8


Starting kernel ...arm


Uncompressing Linux... done, booting the kernel.


4.  follow is my bootargs :

=> pri
baudrate=115200
boot_fdt=try
bootcmd=mmc dev ${mmcdev};if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi
bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};
bootdelay=1
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc0
disp_num=1
emmcdev=2
epdc_waveform=epdc_splash.bin
ethact=FEC
ethprime=FEC
fdt_addr=0x18000000
fdt_file=imx6dl-sabresd.dtb
fdt_high=0xffffffff
image=zImage
initrd_addr=0x12C00000
initrd_high=0xffffffff
ip_dyn=yes
loadaddr=0x12000000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
lvds_num=1
mfgtool_args=setenv bootargs console=ttymxc0,115200 rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.ro=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber="" enable_wait_mode=off
mmcargs=setenv bootargs console=${console},${baudrate} ${smp} root=${mmcroot} video=mxcfb0:dev=ldb,1280x800M@60,if=RGB24,bpp=32 video=mxcfb1:off video=mxcfb2:off vmalloc=256M Backlight_polarity=0,Backlight_min=0,Backlight_frequency=200 usbcore.autosuspend=-1
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
mmcdev=2
mmcpart=1
mmcroot=/dev/mmcblk3p2 rootwait rw
netargs=setenv bootargs console=${console},${baudrate} ${smp} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
netboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${image}; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd} ${fdt_addr} ${fdt_file}; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
panel=panel1280x800d24
script=boot.scr
update_emmc_firmware=if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; if ${get_cmd} ${update_sd_firmware_filename}; then if mmc dev ${emmcdev} 1; then setexpr fw_sz ${filesize} / 0x200; setexpr fw_sz ${fw_sz} + 1; mmc write ${loadaddr} 0x2 ${fw_sz}; fi; fi
update_sd_firmware=if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; if mmc dev ${mmcdev}; then if ${get_cmd} ${update_sd_firmware_filename}; then setexpr fw_sz ${filesize} / 0x200; setexpr fw_sz ${fw_sz} + 1; mmc write ${loadaddr} 0x2 ${fw_sz}; fi; fi

Environment size: 2883/8188 bytes


5.  I suspect it is the DDR parameter。

    a.  I  tried to use the tools to  calibrate the  DDR parameters at room temperature。but also have same problem。

    c.  I  tried to use the tools to  calibrate the  DDR parameters at 70°。but also have same problem。

    c.  I  tried to use the tools to  calibrate the  DDR parameters at 40°。but also have same problem。

6.  I suspect it is a problem with the power-on sequence of the product, but I use the oscilloscope to measure VDD_CORE, VDD_SOC, VDD_DDR, and the waveform is the same when it is normal and abnormal.

7.  There are currently 10 samples, all showing the same phenomenon.

8.  I also tried to use DDR stress to test the stability of DDR, and the test passed.

please help me  to  solution this problem, thanks  very  much .

 

 

Labels (1)
0 Kudos
5 Replies

811 Views
radiant
Contributor I

Hello, did you find solution to this issue? Was issue related to RAM calibration?

0 Kudos

945 Views
igorpadykov
NXP Employee
NXP Employee

Hi chenfulin5

 

except ddr such issue may be caused by emmc signal integrity, so one can try suggestions

provided on

https://community.nxp.com/t5/i-MX-Processors/eMMC-8GB-to-4GB-crash-on-linux-yocto-boot/m-p/373231

 

Best regards
igor

0 Kudos

934 Views
chenfulin5
Contributor I

Dear sir :

    I  try to use the old ddr,  1GB DDR to startup system , cold startup 500times is ok .

    can you give me  MT41K256M16TW-107 AUT_P_Micron  DDR calibration script 。

    I suspect there is a problem with my 2GB DDR calibration parameters.

    thanks very much。

0 Kudos

931 Views
igorpadykov
NXP Employee
NXP Employee
0 Kudos

928 Views
chenfulin5
Contributor I

Dear Sir , 

     Do you have a form this configured parameters ? about  MT41K256M16TW-107 AUT_P_Micro.

     I have configured it with reference to this link,  but  this phenomenon still occurs .

     

0 Kudos