手上有一块Demo板,电路设计完全按照bb-black设计的,除了网口设计为千兆,以及把emmc改成了nand flash。
所以现在只能通过串口来烧写板子,源码使用ti官网的sdk8.0,修改了uboot,屏蔽了eeprom的读写,
添加了对nand的初始化,并按照官网手册(如下)通过串口烧录了MLO、u-boot.img,uImage的镜像到nand flash。
processors.wiki.ti.com/.../AM335x_U-Boot_User's_Guide
1、从串口烧录u-boot-spl.bin、u-boot.img并启动,打印信息如下:
CCCCCCCCCCCCCCCCCCCCCCC
Starting xmodem transfer. Press Ctrl+C to cancel.
100% 74 KB 4 KB/s 00:00:18 0 Errors
C
100% 435 KB 4 KB/s 00:01:36 3 Errors
Loaded 445972 bytes
U-Boot 2014.07-00107-gd28f2b9-dirty (Mar 10 2015 - 16:16:45)
I2C: ready
DRAM: 512 MiB
NAND: 256 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Card did not respond to voltage select!
** Bad device mmc 0 **
Using default environment
Net: <ethaddr> not set. Validating first E-fuse MAC
Phy not found
cpsw, usb_ether
Hit any key to stop autoboot: 0
Card did not respond to voltage select!
Card did not respond to voltage select!
Card did not respond to voltage select!
Card did not respond to voltage select!
Booting from nand ...
NAND read: device 0 offset 0x80000, size 0x40000
262144 bytes read: OK
NAND read: device 0 offset 0x200000, size 0x800000
8388608 bytes read: OK
Bad Linux ARM zImage magic!
U-Boot#
2、从NAND启动:打印信息如下:
U-Boot SPL 2014.07-00107-gd28f2b9-dirty (Mar 10 2015 - 16:16:45)
问题:=========================================
a、sdk8.0、sdk7.0的内核分别用omap2plug_defconfig、tisdk_am335x-evm_defconfig配置文件编译完成。
但是都会出现1中“Bad Linux ARM zImage magic!”,我在github上下载了一个3.3版本的内核,使用
omap2plug_defconfg编译完成,但是它的打印信息为“。。。。。done, booting the kernel”,证明
我串口烧录uImage的方法是没错的,是sdk8.0内核本身有问题吗?
b、如果从NAND启动,为何不能进入到uboot的命令行了呢?如果串口启动则可以进入到uboot 的命令行,
这要怎么修改呢?