已解决。原来是配置文件中EIM总线的时钟没有使能。需要修改board/freescale/mx6sabresd下的配置文件mx6dlsabresd.cfg:/* set the default clock gate to save power */
DATA 4 0x020c4068 0x00C03F3F
DATA 4 0x020c406c 0x0030FC03
DATA 4 0x020c4070 0x0FFFC000
DATA 4 0x020c4074 0x3FF00000
DATA 4 0x020c4078 0x00FFF300
DATA 4 0x020c407c 0x0F0000C3
DATA 4 0x020c4080 0x000003FF
将最后一行DATA 4 0x020c4080 0x000003FF改为DATA 4 0x020c4080 0x00000FFF,根据数据手册寄存器CCM_CCGR6(地址0x020c4080)的bit10-11是eim_slow clocks (eim_slow_clk_enable),需要使能,否则EIM总线没有工作,接在EIM总线片选CS0上的并口NOR FLASH自然无法访问,应该是这个原因了。按上述修改后,重新编译生成的u-boot.imx烧录到并口NOR FLASH的0x1000偏移处,u-boot就可以启动了。
谢谢大家关注。