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.
工具/软件:Linux
美好的一天,亲爱的所有人:)
基于 AM335x 的定制板有问题。
一年前、我使用了 TI Linux、内核版本3.19、它运行得很好。 今年、我想使用具有内核4.4的 TI Linux。
我重建了新的内核和设备树,无法引导:)设备静默挂起。 以下是 u-boot 日志:
U-Boot SPL 2015.04-RC1-M脏(2015年6月25日- 18:09:55) 尝试初始化板(board.c/am33xx_spl_board_init)。 读取标题 Magic:ee3355aa 名称:A335BNLT 串行: 版本:000c MMC:块编号0x100超出最大值(0x0) MMC:块编号0x200超出最大值(0x0) ***错误-使用 默认环境 读取 u-boot.img 读取 u-boot.img U-Boot 2015.04-RC1-M脏(2015年6月25日 :55 )未找到有效的环境区域 512 MIB MMC:OMAP SD/MMC:0、OMAP SD/MMC:1 阅读 headerNet:读取 headerpsw、USB_ether 按任意键停止自动引导:0 未知命令'run'-尝试'help' 切换到分区#0、 好 的,mmc0是 在设备0 读取 boot.scr 上找到的当前设备 SD/MMC **无法读取文件 boot.scr ** 读取 uEnv.txt **无法读取文件 uEnv.txt ** 5051464字节在324ms (14.9 mB/s)内读取 36181字节在50ms (706.1 kib/s)内读取 内核映像@ 0x82000000 [ 0x000000 - 0x4d1448] ###平展设备树 blob,地址为88000000 ,使用0x88000000的 FDT blob 启动 正在将设备树加载到8fff4000,结束地址为8ffd54... 确定 启动内核...
`s 都是这样。 我使用硬件 UART 作为串行终端。 它在一年前的3.19年中完美工作、现在在4.4年中不工作。
下面是 u-boot 的 printenv:
Kobus U-Boot# printenv
arch = ARM
波特率=115200
电路板=AM335x
Board_name=A335BNLT
Board_rev=000c
BOOT_FDT=尝试
bootargs=console=ttyO0、115200n8 root=/dev/nfs nfsroot=192.168.7.34:/media/kobus/fs、nolock RW IP=192.168.7.159
bootcmd=run findfdt;运行 mmcboot;setenv bootpart 1:1;运行 mmcboot;运行 netboot;
BOOTCOUNT=1
BOOTDELAY=1
bootdir=/boot
bootenv=uEnv.txt
BootFile=zImage
BOOTM_SIZE=0x10000000
bootpart=0:2
bootscript=echo 正在从 MMC${mmcdev}...;源${loadaddr}运行的 bootscript
console=ttyO0、115200n8
CPU=armv7
DFU_alt_INFO_eMMC=rawemmc RAW 0 3751936
dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;mlo fat 0 1;ml.raw 0x100 0x100;u-boot.img.raw 0x300 0x400;spl-os-args.raw 0x80 0x80;spl-os-image.fat raw 0x900;spl-os-os-gfat 1;fat 0 uEnv.txt
dfu_alt_info_ram=内核 ram 0x80200000 0xD80000;fdt ram 0x80F80000 0x80000;ramdisk ram 0x81000000 0x4000000
eth1addr=84:EB:18:92:85:3b
ethact=cpsw
ethaddr=84:EB:18:92:85:39
FDT_addr_r=0x88000000
fdtaddr=0x88000000
fdtfile=kobus10.dtb
fileaddr=82000000
filesize=3ff028
findfdt=setenv fdtfile kobus10.dtb;
importbootenv=echo 从 mmc 导入环境...;env 导入-t -r $loadaddr $filesize
ipaddr=192.168.7.159
kernel_addr_r=0x82000000
loadaddr=0x82000000
loadbootenv=加载 MMC ${mmcdev}${loadaddr}${bootenv}
loadbootscript=load MMC ${mmcdev}${loadaddr}boot.scr
loadfdt=load MMC ${bootpart}${fdtaddr}${bootdir}/${fdtfile}
loadimage=load MMC ${bootpart}${loadaddr}${bootdir}/${bootfile}
loadramdisk=load MMC ${mmcdev}${rdaddr}ramdisk.gz
mmcargs=setenv bootargs console=${console}${optargets}root=${mmcroot}rootfstypy=${mmcrootfstype}
mmcboot=MMC dev ${mmcdev};如果 MMC 重新扫描;然后回显在器件${mmcdev}上找到的 SD/MMC;如果运行 loadbootscript;然后运行 bootscript;否则运行 loadbootenv;然后从${bootenv}回显已加载的环境;运行 envbootenv;fi;如果测试-n $uucmd;然后运行 loadvcmd;然后运行 envcmd;然后运行 envip;
mmcdev=0
mmclosados=run mmcargs;如果测试${boot_FDT}= yes ||测试${boot_FDT}=试用;如果运行 loadfdt;则 bootz ${loadaddr}-${fdtaddr};否则测试${boot_FDT}=试用;然后 bootz;否则、回显警告:无法加载 bootz;否则;fi;
mmcroot=/dev/mmcblk0p2 ro
mmcrootfstype=ext4 rootwait
netargs=setenv bootargs console=${console}${optargets}root=/dev/nfs nfsroot=${serverip}:${rootpath}、${nfsopts}RW IP=${ipaddr}
netboot=echo Hi,从网络引导...;tftp ${loadaddr}${bootfile};tftp ${fdtaddr}${fdtfile};运行 netargs;bootz ${loadaddr}-${fdtaddr}
nfsopts=nolock
partitions=uuid_disk=${uid_gppt_disk};name=rootfs、start=2MiB、size=-、uid=${uid_gppt_rootfs}
ramargs=setenv bootargs console=${console}${optargets}root=${ramroot}rootfstypy=${ramrootfstype}
ramboot=echo 从 ramdisk 引导...;运行 ramargs;bootz ${loadaddr}${rdaddr}${fdtaddr}
ramdisk_addr_r=0x88080000
ramroot=/dev/ram0 rw
ramrootfstype=ext2
读数地址= 0x88080000
rootpath=/media/kobus/fs
serverip=192.168.7.34
SoC=am33xx
args=setenv bootargs console=${console}${optargets}root=${spiroot}spifstypy=${rootrootfstype}
spiboot=echo Booting from SPI ...;运行 spiargs;SF 探测器${spibusno}:0;SF 读取${loadaddr}${spisrcadr}${spiimgsize};bootz ${loadaddr}
spibusno=0
spiimgsize=0x362000
spiroot=/dev/mtdblock4 rw
rootspifstype=jffs2.
spisrcaddr=0xe0000
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=serial_OMAP
stdin=serial_OMAP
stdout=serial_OMAP
USBnet_devaddr=84:EB:18:92:85:3b
供应商= TI
ver = U-Boot 2015.04-RC1-M脏(2015年6月25日- 18:09:55)
环境大小:3725/131067字节
内核配置:/cfs-file/__key/communityserver-discussions-components-files/354/0066_2E00_config
请至少帮助启用 UART 控制台以进行内核引导。
您好、Yordan。
我按如下方式启用了 EARLY_PRINTK && DEBUG_LL:
CONFIG_DEBUG_LL=y # CONFIG_DEBUG_OMAP2UART1未设置 CONFIG_DEBUG_AM33XXUART1 = y # CONFIG_DEBUG_AM33XXUART2 未设置# CONFIG_DEBUG_LL_UART_PL01X 未设置 CONFIG_DEBUG_OMAP2PLUS_UART=y CONFIG_DEBUG_ING_UNDEBUG_US_CONFIG_UART=" 未设置 CONFIG_UARTL.US_UNGE_CONFIG_UARTL.US_CONFIG_UARTL.US_UNGE=Y" CONFIG_UART_UART_UART_UART="未设置 CONFIG_UN
我重新编译了新版本的 TI u-boot、效果很好。
我在 u-boot 中将 UART0用作调试控制台。 am335x_evm.h 中的调试n`t 显示任何异常。 它在跳转至内核后挂起。
我实际上使用的是 AM335x_EVM.h 其中包括:
/cfs-file/__key/communityserver-discussions-components-files/354/3465.am335x_5F00_evm.h
我n`t 说,所有提议的行动都没有改变任何东西。 内核在启动时挂起:(