This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于最新版本SDK在OMAPL138上无法启动的问题 “Starting kernel ...” 急!急!急!

大家好,我手上的板子是很早之前做的OMAPL138,原来是Linux-2.6,最近准备升级Linux,在官网下载了ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04-Linux-x86-Install.bin进行安装,安装完成后对uboot进行了配置,uboot可以正常启动,但是引导内核时停在了“Starting kernel ...”,板子使用的是UART1作为调试口,NAND Flash,编译过程如下:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- distclean

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- tisdk_omapl138-lcdk_defconfig

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- zImage

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- da850-lcdk.dtb

然后使用tftp将zImage和dtb文件下载到板子,使用bootz引导时停在“Starting kernel ...”没反应了!

是我编译得不对?还是需要修改其他配置?有没有什么办法能跟踪一下卡在哪里了?

过程如下:

NAND: 512 MiB
MMC: davinci: 0
In: serial
Out: serial
Err: serial
SF: unrecognized JEDEC id bytes: ff, ff, ff
Error - unable to probe SPI flash.
Default using MAC address from environment
Default using MAC address from environment
Net:
Expander @ 0x20 write FAILED!!!
RMII hardware init failed!!!
DaVinci-EMAC
Hit any key to stop autoboot: 0

Loading from nand0, offset 0x300000
** Unknown image type
Wrong Image Format for bootm command
ERROR: can't get kernel image!
U-Boot > tftpboot 0xc0700000 zImage
Using DaVinci-EMAC device
TFTP from server 172.16.16.50; our IP address is 172.16.16.123
Filename 'zImage'.
Load address: 0xc0700000
Loading: #################################################################
#################################################################
################################
54.7 KiB/s
done
Bytes transferred = 2364960 (241620 hex)
U-Boot > tftpboot 0xc0B00000 da850-lcdk.dtb
Using DaVinci-EMAC device
TFTP from server 172.16.16.50; our IP address is 172.16.16.123
Filename 'da850-lcdk.dtb'.
Load address: 0xc0b00000
Loading: #
483.4 KiB/s
done
Bytes transferred = 12880 (3250 hex)
U-Boot > bootz 0xc0700000 - 0xc0b00000
## Flattened Device Tree blob at c0b00000
Booting using the fdt blob at 0xc0b00000
Loading Device Tree to c3e10000, end c3e1624f ... OK

Starting kernel ...

  • 再有,现在这个版本bootargs参数传递console应该是console=ttyS1,115200n8还是console=ttyO1,115200n8?

  • LCDK用的是uart2,你用uart1的话,需要做修改,请参考下面的wiki网站。
    http://processors.wiki.ti.com/index.php/Kernel_-_Common_Problems_Booting_Linux#Problem_.231_-_No_more_output_is_seen_on_the_console_after_.22Starting_Kernel....22

  • 非常感谢,是这样么?

    CONFIG_DEBUG_USER=y
    CONFIG_DEBUG_LL=y
    CONFIG_DEBUG_DAVINCI_DA8XX_UART1=y
    # CONFIG_DEBUG_DAVINCI_DA8XX_UART2 is not set
    # CONFIG_DEBUG_DAVINCI_DMx_UART0 is not set
    # CONFIG_DEBUG_ICEDCC is not set
    # CONFIG_DEBUG_SEMIHOSTING is not set
    # CONFIG_DEBUG_LL_UART_8250 is not set
    # CONFIG_DEBUG_LL_UART_PL01X is not set
    CONFIG_DEBUG_LL_INCLUDE="debug/8250.S"
    CONFIG_DEBUG_UART_8250=y
    CONFIG_DEBUG_UART_PHYS=0x01d0c000
    CONFIG_DEBUG_UART_VIRT=0xfed0c000
    CONFIG_DEBUG_UART_8250_SHIFT=2
    CONFIG_DEBUG_UART_8250_WORD=y
    # CONFIG_DEBUG_UART_8250_PALMCHIP is not set
    # CONFIG_DEBUG_UART_8250_FLOW_CONTROL is not set

  • 这个版本配置和文档描述好像不一致了,是否是这样配置?

    Kernel hacking  --->      

    [*] Kernel low-level debugging functions (read help!) │ │
    │ │ Kernel low-level debugging port (Kernel low-level debugging on DaVinci DA8XX using UART1)  ---> │ │
    │ │ (0x01d0c000) Physical base address of debug UART │ │
    │ │ (0xfed0c000) Virtual base address of debug UART │ │
    │ │ (2) Register offset shift for the 8250 debug UART │ │
    │ │ [*] Use 32-bit accesses for 8250 UART │ │
    │ │ [ ] 8250 UART is Palmchip BK-310x │ │
    │ │ [ ] Enable flow control for 8250 UART │ │
    │ │ [*] Early printk