暂时搞到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禁了。
离线