在TI sdk 7.0.0.0.0 中UBOOT目录下make
am335x_evm 生成的Uboot,不能保存Uboot环境变量,Beaglebone black SD卡启动输出如下
上电后进入uboot命令行,
1setenv xxxx,提示
2016-08-16T22:11:38.333 - Saving Environment to NAND...
2016-08-16T22:11:38.349 - Erasing redundant NAND...
2016-08-16T22:11:38.349 - Attempt to erase non block-aligned data
2016-08-16T22:11:38.349 - Erasing NAND...
2016-08-16T22:11:38.349 - Attempt to erase non block-aligned data
显然BeagleboneBlack,没有接NAND,所以是保存不了的,
- 2016-08-16T22:10:12.452 -
- 2016-08-16T22:10:12.452 - U-Boot SPL 2013.10-00189-g78d8ebd (Aug 16 2016 - 21:17:19)
- 2016-08-16T22:10:13.004 - reading args
- 2016-08-16T22:10:13.004 - spl: error reading image args, err - -1
- 2016-08-16T22:10:13.004 - reading u-boot.img
- 2016-08-16T22:10:13.020 - reading u-boot.img
- 2016-08-16T22:10:13.067 -
- 2016-08-16T22:10:13.067 -
- 2016-08-16T22:10:13.067 - U-Boot 2013.10-00189-g78d8ebd (Aug 16 2016 - 21:17:19)
- 2016-08-16T22:10:13.067 -
- 2016-08-16T22:10:13.114 - I2C: ready
- 2016-08-16T22:10:13.114 - DRAM: 512 MiB
- 2016-08-16T22:10:13.567 - NAND: 0 MiB
- 2016-08-16T22:10:13.567 - MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
- 2016-08-16T22:10:13.567 - *** Error - No Valid Environment Area found
- 2016-08-16T22:10:13.567 - *** Warning - bad CRC, using default environment
- 2016-08-16T22:10:13.567 -
- 2016-08-16T22:10:13.660 - Net: <ethaddr> not set. Validating first E-fuse MAC
- 2016-08-16T22:10:13.696 - Could not get PHY for cpsw: addr 0
- 2016-08-16T22:10:13.696 - cpsw, usb_ether
- 2016-08-16T22:10:13.790 - Hit any key to stop autoboot: 0
- 2016-08-16T22:10:22.311 - U-Boot# printenv netboot
- 2016-08-16T22:10:22.311 - netboot=echo Booting from network ...; setenv autoload no; dhcp; tftp ${loadaddr} ${bootfile}; tftp ${fdtaddr} ${fdtfile}; run netargs; bootz ${loadaddr} - ${fdtaddr}
- 2016-08-16T22:10:36.275 - U-Boot# setenv serverip 192.168.1.103
- 2016-08-16T22:10:47.421 - U-Boot# printenv bootfile
- 2016-08-16T22:10:47.421 - bootfile=zImage
- 2016-08-16T22:11:03.937 - U-Boot# printenv fdtfile
- 2016-08-16T22:11:03.937 - fdtfile=undefined
- 2016-08-16T22:11:35.272 - U-Boot# setenv fdtfile am335x-boneblack.dtb
- 2016-08-16T22:11:38.333 - U-Boot# saveenv
- 2016-08-16T22:11:38.333 - Saving Environment to NAND...
- 2016-08-16T22:11:38.349 - Erasing redundant NAND...
- 2016-08-16T22:11:38.349 - Attempt to erase non block-aligned data
- 2016-08-16T22:11:38.349 - Erasing NAND...
- 2016-08-16T22:11:38.349 - Attempt to erase non block-aligned data
- 2016-08-16T22:11:47.226 - U-Boot#
2,查看了uboot目录下的boards.cfg,有对beaglebone black的定义
- Active arm armv7 am33xx ti am335x am335x_boneblack am335x_evm:SERIAL1,CONS_INDEX=1,EMMC_BOOT Tom Rini <trini@ti.com>
- Active arm armv7 am33xx ti am335x am335x_evm am335x_evm:SERIAL1,CONS_INDEX=1,NAND Tom Rini <trini@ti.com>
- Active arm armv7 am33xx ti am335x am335x_evm_nor am335x_evm:SERIAL1,CONS_INDEX=1,NAND,NOR Tom Rini <trini@ti.com>
- Active arm armv7 am33xx ti am335x am335x_evm_norboot am335x_evm:SERIAL1,CONS_INDEX=1,NOR,NOR_BOOT Tom Rini <trini@ti.com>
- Active arm armv7 am33xx ti am335x am335x_evm_spiboot am335x_evm:SERIAL1,CONS_INDEX=1,SPI_BOOT Tom Rini <trini@ti.com>
- Active arm armv7 am33xx ti am335x am335x_evm_uart1 am335x_evm:SERIAL2,CONS_INDEX=1,NAND Tom Rini <trini@ti.com>
- Active arm armv7 am33xx ti am335x am335x_evm_uart2 am335x_evm:SERIAL3,CONS_INDEX=1,NAND Tom Rini <trini@ti.com>
- Active arm armv7 am33xx ti am335x am335x_evm_uart3 am335x_evm:SERIAL4,CONS_INDEX=1,NAND Tom Rini <trini@ti.com>
- Active arm armv7 am33xx ti am335x am335x_evm_uart4 am335x_evm:SERIAL5,CONS_INDEX=1,NAND Tom Rini <trini@ti.com>
- Active arm armv7 am33xx ti am335x am335x_evm_uart5 am335x_evm:SERIAL6,CONS_INDEX=1,NAND Tom Rini <trini@ti.com>
- Active arm armv7 am33xx ti am335x am335x_evm_usbspl am335x_evm:SERIAL1,CONS_INDEX=1,NAND,SPL_USBETH_SUPPORT
于是重新编译UBOOT,命令为:
make am335x_boneblack
这次生成的Uboot能保存环境变量了,其默认存储在EMMC上,
2016-08-16T21:11:36.713 - U-Boot# saveenv
2016-08-16T21:11:36.713 - Saving Environment to MMC...
2016-08-16T21:11:36.822 - Writing to redundant MMC(1)... done
可是出现了一个新的问题,设置好
setenv bootfile uImage
setenv fdtfile am335x-boneblack.dtb
setenv serverip 192.168.1.103
setenv rootpath ........
saveenv保存
之后运行run netboot,提示没有定义 bootfile ,
这是几个意思啊,然后打印 printenv bootfile 输出为空,明明我都设置好了,保存了额,tftp服务器上也有文件,为什么啊。
我单独下载 tftp 0x82000000 uImage 就可以下载啊。
结论是,运行了 netboot,会清空bootfile ,这怎么破。请大神支招。
- 2016-08-16T21:11:57.885 - U-Boot# run netboot
- 2016-08-16T21:11:57.885 - Booting from network ...
- 2016-08-16T21:11:57.885 - link up on port 0, speed 100, full duplex
- 2016-08-16T21:11:57.885 - BOOTP broadcast 1
- 2016-08-16T21:12:00.885 - BOOTP broadcast 2
- 2016-08-16T21:12:06.791 - cpsw Waiting for PHY auto negotiation to complete......... TIMEOUT !
- 2016-08-16T21:12:06.791 - link down on port 0
- 2016-08-16T21:12:06.791 - BOOTP broadcast 3
- 2016-08-16T21:12:09.447 - cpsw Waiting for PHY auto negotiation to complete..... done
- 2016-08-16T21:12:09.447 - link up on port 0, speed 100, full duplex
- 2016-08-16T21:12:13.510 - cpsw Waiting for PHY auto negotiation to complete....... done
- 2016-08-16T21:12:13.510 - BOOTP broadcast 4
- 2016-08-16T21:12:16.510 - BOOTP broadcast 5
- 2016-08-16T21:12:17.010 - *** Unhandled DHCP Option in OFFER/ACK: 52
- 2016-08-16T21:12:17.010 - *** Unhandled DHCP Option in OFFER/ACK: 52
- 2016-08-16T21:12:17.010 - DHCP client bound to address 192.168.1.104
- 2016-08-16T21:12:17.026 - link up on port 0, speed 100, full duplex
- 2016-08-16T21:12:17.026 - Using cpsw device
- 2016-08-16T21:12:17.026 - TFTP from server 192.168.1.103; our IP address is 192.168.1.104
- 2016-08-16T21:12:17.026 - Filename '
- 2016-08-16T21:12:17.026 - Load address: 0x80200000
- 2016-08-16T21:12:17.072 - Loading: *
- 2016-08-16T21:12:17.072 - TFTP error: 'File not found' (1)
- 2016-08-16T21:12:17.072 - Not retrying...
- 2016-08-16T21:12:17.088 - link up on port 0, speed 100, full duplex
- 2016-08-16T21:12:17.088 - Using cpsw device
- 2016-08-16T21:12:17.088 - TFTP from server 192.168.1.103; our IP address is 192.168.1.104
- 2016-08-16T21:12:17.088 - Filename 'am335x-boneblack.dtb'.
- 2016-08-16T21:12:17.088 - Load address: 0x80f80000
- 2016-08-16T21:12:17.338 - Loading: #######
- 2016-08-16T21:12:17.338 - 138.7 KiB/s
- 2016-08-16T21:12:17.338 - done
- 2016-08-16T21:12:17.338 - Bytes transferred = 34352 (8630 hex)
- 2016-08-16T21:12:17.338 - Bad Linux ARM zImage magic!