大家好,我手上的板子是很早之前做的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 MiBMMC: davinci: 0In: serialOut: serialErr: serialSF: unrecognized JEDEC id bytes: ff, ff, ffError – unable to probe SPI flash.Default using MAC address from environmentDefault using MAC address from environmentNet:Expander @ 0x20 write FAILED!!!RMII hardware init failed!!!DaVinci-EMACHit any key to stop autoboot: 0Loading from nand0, offset 0x300000** Unknown image typeWrong Image Format for bootm commandERROR: can't get kernel image!U-Boot > tftpboot 0xc0700000 zImageUsing DaVinci-EMAC deviceTFTP from server 172.16.16.50; our IP address is 172.16.16.123Filename 'zImage'.Load address: 0xc0700000Loading: ################################################################# ################################################################# ################################ 54.7 KiB/sdoneBytes transferred = 2364960 (241620 hex)U-Boot > tftpboot 0xc0B00000 da850-lcdk.dtbUsing DaVinci-EMAC deviceTFTP from server 172.16.16.50; our IP address is 172.16.16.123Filename 'da850-lcdk.dtb'.Load address: 0xc0b00000Loading: # 483.4 KiB/sdoneBytes 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 … OKStarting kernel …
Zhihua Zhang:
再有,现在这个版本bootargs参数传递console应该是console=ttyS1,115200n8还是console=ttyO1,115200n8?
Zhihua Zhang:
回复 Shine:
非常感谢,是这样么?
CONFIG_DEBUG_USER=yCONFIG_DEBUG_LL=yCONFIG_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 setCONFIG_DEBUG_LL_INCLUDE="debug/8250.S"CONFIG_DEBUG_UART_8250=yCONFIG_DEBUG_UART_PHYS=0x01d0c000CONFIG_DEBUG_UART_VIRT=0xfed0c000CONFIG_DEBUG_UART_8250_SHIFT=2CONFIG_DEBUG_UART_8250_WORD=y# CONFIG_DEBUG_UART_8250_PALMCHIP is not set# CONFIG_DEBUG_UART_8250_FLOW_CONTROL is not set
Zhihua Zhang:
回复 Shine:
这个版本配置和文档描述好像不一致了,是否是这样配置?
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