暂时搞到uboot,以前从没接触过uboot,设备树什么的一顿瞎搞哈哈,到uboot报错了,记录一下过程。
大神们有时间也可以给科普一下怎么编译uboot
1,xdc文件:
set_property IOSTANDARD LVCMOS33 [get_ports ether_mdio_mdc]
set_property IOSTANDARD LVCMOS33 [get_ports ether_mdio_mdio_io]
set_property PACKAGE_PIN W15 [get_ports ether_mdio_mdc]
set_property PACKAGE_PIN Y14 [get_ports ether_mdio_mdio_io]
set_property IOSTANDARD LVCMOS33 [get_ports mii_rx_clk]
set_property IOSTANDARD LVCMOS33 [get_ports mii_tx_clk]
set_property PACKAGE_PIN U14 [get_ports mii_rx_clk]
set_property PACKAGE_PIN U15 [get_ports mii_tx_clk]
set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets {mii_tx_clk_IBUF}]
set_property IOSTANDARD LVCMOS33 [get_ports mii_rx_dv]
set_property IOSTANDARD LVCMOS33 [get_ports mii_tx_en]
set_property PACKAGE_PIN W16 [get_ports mii_rx_dv]
set_property PACKAGE_PIN W19 [get_ports mii_tx_en]
set_property IOSTANDARD LVCMOS33 [get_ports {mii_txd[*]}]
set_property IOSTANDARD LVCMOS33 [get_ports {mii_rxd[*]}]
set_property PACKAGE_PIN W18 [get_ports {mii_txd[0]}]
set_property PACKAGE_PIN Y18 [get_ports {mii_txd[1]}]
set_property PACKAGE_PIN V18 [get_ports {mii_txd[2]}]
set_property PACKAGE_PIN Y19 [get_ports {mii_txd[3]}]
set_property PACKAGE_PIN Y16 [get_ports {mii_rxd[0]}]
set_property PACKAGE_PIN V16 [get_ports {mii_rxd[1]}]
set_property PACKAGE_PIN V17 [get_ports {mii_rxd[2]}]
set_property PACKAGE_PIN Y17 [get_ports {mii_rxd[3]}]
set_property PACKAGE_PIN W13 [get_ports {led_r}]
set_property PACKAGE_PIN W14 [get_ports {led_g}]
set_property IOSTANDARD LVCMOS33 [get_ports {led_r}]
set_property IOSTANDARD LVCMOS33 [get_ports {led_g}]
2,SD0使用MIO40的那一组
3,起不来的uboot log:
U-Boot 2018.01 (Jul 14 2020 - 21:43:40 +0800)
Model: Zynq mz7x Development Board
Board: Xilinx Zynq
Silicon: v3.1
DRAM: ECC disabled 256 MiB
NAND: 128 MiB
MMC: Card did not respond to voltage select!
mmc_init: -95, time 23
Card did not respond to voltage select!
mmc_init: -95, time 23
sdhci@e0100000 - probe failed: -95
Card did not respond to voltage select!
mmc_init: -95, time 24
Invalid bus 0 (err=-19)
*** Warning - spi_flash_probe_bus_cs() failed, using default environment
In: serial@e0001000
Out: serial@e0001000
Err: serial@e0001000
Net: ZYNQ GEM: e000b000, phyaddr 0, interface mii
eth0: ethernet@e000b000
Hit any key to stop autoboot: 0
## Error: "nandboot" not defined
Zynq> help
? - alias for 'help'
base - print or set address offset
bdinfo - print Board Info structure
boot - boot default, i.e., run 'bootcmd'
bootd - boot default, i.e., run 'bootcmd'
bootefi - Boots an EFI payload from memory
bootelf - Boot from an ELF image in memory
bootm - boot application image from memory
bootp - boot image via network using BOOTP/TFTP protocol
bootvx - Boot vxWorks from an ELF image
bootz - boot Linux zImage image from memory
clk - CLK sub-system
cmp - memory compare
coninfo - print console devices and information
cp - memory copy
crc32 - checksum calculation
dcache - enable or disable data cache
dfu - Device Firmware Upgrade
dhcp - boot image via network using DHCP/TFTP protocol
dm - Driver model low level access
echo - echo args to console
editenv - edit environment variable
env - environment handling commands
exit - exit script
ext2load- load binary file from a Ext2 filesystem
ext2ls - list files in a directory (default /)
ext4load- load binary file from a Ext4 filesystem
ext4ls - list files in a directory (default /)
ext4size- determine a file's size
ext4write- create a file in the root directory
false - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls - list files in a directory (default /)
fatsize - determine a file's size
fatwrite- write file into a dos filesystem
fdt - flattened device tree utility commands
fpga - loadable FPGA image support
fstype - Look up a filesystem type
go - start application at address 'addr'
gpio - query and control gpio pins
help - print command description/usage
icache - enable or disable instruction cache
iminfo - print header information for application image
imxtract- extract a part of a multi-image
itest - return true/false on integer compare
load - load binary file from a filesystem
loadb - load binary file over serial line (kermit mode)
loads - load S-Record file over serial line
loadx - load binary file over serial line (xmodem mode)
loady - load binary file over serial line (ymodem mode)
loop - infinite loop on address range
ls - list files in a directory (default /)
md - memory display
mdio - MDIO utility commands
mii - MII utility commands
mm - memory modify (auto-incrementing address)
mmc - MMC sub system
mmcinfo - display MMC info
mw - memory write (fill)
nand - NAND sub-system
nboot - boot from NAND device
nfs - boot image via network using NFS protocol
nm - memory modify (constant address)
part - disk partition related commands
ping - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
pxe - commands to get and boot from pxe files
reset - Perform RESET of the CPU
run - run commands in an environment variable
save - save file to a filesystem
saveenv - save environment variables to persistent storage
setenv - set environment variables
sf - SPI flash sub-system
showvar - print local hushshell variables
size - determine a file's size
sleep - delay execution for some time
source - run script from memory
spl - SPL configuration
sysboot - command to get and boot from syslinux files
test - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
tftpput - TFTP put command, for uploading files to a server
thordown- TIZEN "THOR" downloader
true - do nothing, successfully
usb - USB sub-system
usbboot - boot from USB device
version - print monitor, compiler and linker version
Zynq>
我没加TF卡,用得NAND flash,把R2578和R2585靠近flash的一侧用焊锡短接(本来就是连在一起的),这样需要jtag启动烧flash的时候,这个焊点和地短接一下就可以。
大家都这么玩儿的交流一下
离线
这是主要错误:
// ---------------------------
Invalid bus 0 (err=-19)
*** Warning - spi_flash_probe_bus_cs() failed, using default environment
// ---------------------------
这里:
Invalid bus 0 (err=-19) <<<<<<<
这就是为什么您的zynq7010无法正常工作的原因,
无法检测到您的spi闪存地址。
在设备树的别名部分,可以将spi flash定义为spi2,因此,应使用2或否则作为检测设备,如下所示。
sf probe 2:0 0 0
sf probe [[bus:]cs] [hz] [mode] - init flash device on given SPI bus and chip select
离线
这是主要错误:
// ---------------------------
Invalid bus 0 (err=-19)
*** Warning - spi_flash_probe_bus_cs() failed, using default environment
// ---------------------------这里:
Invalid bus 0 (err=-19) <<<<<<<这就是为什么您的zynq7010无法正常工作的原因,
无法检测到您的spi闪存地址。在设备树的别名部分,可以将spi flash定义为spi2,因此,应使用2或否则作为检测设备,如下所示。
sf probe 2:0 0 0
sf probe [[bus:]cs] [hz] [mode] - init flash device on given SPI bus and chip select
感谢回复,最近忙快一年了才有时间继续搞,uboot直接把spi禁了。
离线