我用的是beaglebone black的板子,下载了官方的ti-sdk-am335x-evm-08.00.00.00。内核也是sdk里的linux-3.14.26-g2489c02,uboot是u-boot-2014.07-g7e537bf
因为我需要使用SPI,配置内核的过程:
1.make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- defconfig
2.make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
3.device driver->spi support->include了Debug support for SPI drivers , Altera SPI Controller ,GPIO-based bitbanging SPI Master ,Xilinx SPI controller common module ,User mode SPI device driver support
4.make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage
5.make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x-boneblack.dtb
6.make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules
7.将事先编译好的u-boot和MLO放到已经分区了的SD卡的root目录下;将内核的zImage和am335x-boneblack.dtb放到rootfs/boot下。
8,上电启动。
打印:
U-Boot SPL 2014.07 (Nov 03 2015 - 07:49:48)
reading args
spl_load_image_fat_os: error reading image args, err - -1
reading u-boot.img
reading u-boot.img
U-Boot 2014.07 (Nov 03 2015 - 07:49:48)
I2C: ready
DRAM: 512 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
reading uboot.env
** Unable to read "uboot.env" from mmc0:1 **
Using default environment
Net: <ethaddr> not set. Validating first E-fuse MAC
cpsw, usb_ether
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
reading uEnv.txt
** Unable to read file uEnv.txt **
2037352 bytes read in 192 ms (10.1 MiB/s)
32138 bytes read in 84 ms (373 KiB/s)
Kernel image @ 0x82000000 [ 0x000000 - 0x1f1668 ]
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Device Tree to 8fff5000, end 8ffffd89 ... OK
Starting kernel ...
然后一直卡在Starting kernel ...。请问,是那个地方操作不对,或者内核配置不正确?还是dtb文件不正确导致?