zynq_common.h文件和zynq_zed.h文件配置宏分析

下面我们来分析,默认的zynq_common.h的配置文件。大部分需要改动的内容,都在这个里面。
#define CONFIG_IPADDR 10.10.70.102
默认IP地址,修改成板子需要设置的地址。例如192.168.1.10

#define CONFIG_SERVERIP 10.10.70.101
默认SERVERIP地址,修改成板子需要的地址。例如192.168.1.11

#define CONFIG_SYS_SDRAM_BASE 0
SDRAM_BASE,保持为0.

#define CONFIG_SYS_SDRAM_SIZE PHYS_SDRAM_1_SIZE
SDRAM_SIZE,保持为PHYS_SDRAM_1_SIZE。这个宏,在板子的配置文件里定义。

#define CONFIG_SYS_TEXT_BASE 0x04000000
UBOOT的执行地址,这是DDR的起始地址,表示将代码搬移到DDR中,并重定位到DDR中,从DDR执行。

#define CONFIG_ENV_SIZE (128 << 10) /128KB/
定义ENV_SIZE的大小。

#define CONFIG_ENV_OVERWRITE
允许overwrite serial and ethaddr。

#define CONFIG_SYS_MALLOC_LEN 0x400000
定义Size of malloc() pool。

#define CONFIG_BAUDRATE 115200
定义串口波特率。

#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 38400, 115200 }
定义串口波特率表。

#if defined(CONFIG_ZYNQ_SERIAL_UART0) || defined(CONFIG_ZYNQ_SERIAL_UART1)
#define CONFIG_ZYNQ_SERIAL
#endif
定义代码中包含了串口。CONFIG_ZYNQ_SERIAL_UART1这个宏,需要在板子配置文件中定义。

/* Ethernet driver */
#if defined(CONFIG_ZYNQ_GEM0) || defined(CONFIG_ZYNQ_GEM1)
#define CONFIG_NET_MULTI
#define CONFIG_ZYNQ_GEM
#define CONFIG_MII
#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
#define CONFIG_PHYLIB
#define CONFIG_PHY_MARVELL
#define CONFIG_SYS_ENET
#endif
定义代码中包含以太网。
CONFIG_ZYNQ_GEM0这个宏,需要在板子配置文件中定义。
另外,还需要定义CONFIG_ZYNQ_GEM_PHY_ADDR0这个宏。例如zed,定义为0.
#define CONFIG_ZYNQ_GEM_PHY_ADDR0 0

/* Miscellaneous configurable options /
#define CONFIG_SYS_PROMPT "zynq-uboot> "
定义显示的提示字符。
#define CONFIG_SYS_HUSH_PARSER /
use “hush” command parser */
#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "

#define CONFIG_CMDLINE_EDITING
支持命令行修改,为CMDLINE配置inputbuffer。
#define CONFIG_AUTO_COMPLETE
支持命令行自动完成。
#define CONFIG_SYS_LONGHELP
支持长篇帮助。
#define CONFIG_CLOCKS
#define CONFIG_CMD_CLK
支持时钟功能。
#define CONFIG_BOARD_LATE_INIT
支持BOARD_LATE_INIT。
#define CONFIG_SYS_MAXARGS 32
命令行最大参数数量。
#define CONFIG_SYS_CBSIZE 2048
命令行字符缓存区大小。
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE +
sizeof(CONFIG_SYS_PROMPT) + 16)
命令行打印字符缓冲区大小。

#define CONFIG_OF_LIBFDT
支持FDT。

/* NOR /
#ifndef CONFIG_SYS_NO_FLASH
#define CONFIG_SYS_FLASH_BASE 0xE2000000
#define CONFIG_SYS_FLASH_SIZE (16 * 1024 * 1024)
#define CONFIG_SYS_MAX_FLASH_BANKS 1
/
max number of sectors/blocks on one chip /
#define CONFIG_SYS_MAX_FLASH_SECT 512
#define CONFIG_SYS_FLASH_ERASE_TOUT 1000
#define CONFIG_SYS_FLASH_WRITE_TOUT 5000
#define CONFIG_FLASH_SHOW_PROGRESS 10
#define CONFIG_SYS_FLASH_CFI
#undef CONFIG_SYS_FLASH_EMPTY_INFO
#define CONFIG_FLASH_CFI_DRIVER
#undef CONFIG_SYS_FLASH_PROTECTION /
don’t use hardware protection /
/
use buffered writes (20x faster) */
#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
#define CONFIG_ZYNQ_M29EW_WB_HACK
#endif
定义是否包含NOR功能。CONFIG_SYS_NO_FLASH这个宏,需要在板子的配置文件里定义。

/* SPI */
#ifdef CONFIG_ZYNQ_SPI
#define CONFIG_SPI_FLASH
#define CONFIG_SPI_FLASH_SST
#define CONFIG_CMD_SPI
#define CONFIG_CMD_SF
#endif
定义是否包含SPI功能。

/* QSPI */
#ifdef CONFIG_ZYNQ_QSPI
#define CONFIG_SF_DEFAULT_SPEED 30000000
#define CONFIG_SPI_FLASH
#define CONFIG_SPI_FLASH_BAR
#define CONFIG_SPI_FLASH_SPANSION
#define CONFIG_SPI_FLASH_STMICRO
#define CONFIG_SPI_FLASH_WINBOND
#define CONFIG_CMD_SPI
#define CONFIG_CMD_SF
#endif
定义是否包含QSPI功能。CONFIG_ZYNQ_QSPI这个宏,需要在板子的配置文件里定义。

/* MMC */
#if defined(CONFIG_ZYNQ_SDHCI0) || defined(CONFIG_ZYNQ_SDHCI1)
#define CONFIG_MMC
#define CONFIG_GENERIC_MMC
#define CONFIG_SDHCI
#define CONFIG_ZYNQ_SDHCI
#define CONFIG_CMD_MMC
#define CONFIG_CMD_FAT
#define CONFIG_SUPPORT_VFAT
#define CONFIG_CMD_EXT2
#define CONFIG_DOS_PARTITION
#endif
定义是否包含MMC功能。CONFIG_ZYNQ_SDHCI0这个宏,需要在板子配置文件里定义。

/* NAND */
#ifdef CONFIG_NAND_ZYNQ
#define CONFIG_CMD_NAND
#define CONFIG_CMD_NAND_LOCK_UNLOCK
#define CONFIG_SYS_MAX_NAND_DEVICE 1
#define CONFIG_SYS_NAND_SELF_INIT
#define CONFIG_SYS_NAND_ONFI_DETECTION
#define CONFIG_MTD_DEVICE
#endif
定义是否包含NAND功能。

/* I2C /
#if defined(CONFIG_ZYNQ_I2C0) || defined(CONFIG_ZYNQ_I2C1)
#define CONFIG_CMD_I2C
#define CONFIG_SYS_I2C
#define CONFIG_SYS_I2C_ZYNQ
/
# define CONFIG_SYS_I2C */
#define CONFIG_SYS_I2C_ZYNQ_SPEED 100000
#define CONFIG_SYS_I2C_ZYNQ_SLAVE 1
#endif
定义是否包含I2C功能。

/* EEPROM /
#ifdef CONFIG_ZYNQ_EEPROM
#define CONFIG_CMD_EEPROM
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x54
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 5
#define CONFIG_SYS_EEPROM_SIZE 1024 /
Bytes */
#endif
定义是否包含EEPROM功能。

/* For development/debugging */
#ifdef DEBUG
#define CONFIG_CMD_REGINFO
#define CONFIG_PANIC_HANG
#endif
定义是否支持DEBUG。DEBUG这个宏,需要在板子配置文件里定义。

/* Default environment */
#ifndef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS
“ethaddr=00:0a:35:00:01:22\0”
“kernel_image=uImage\0”
“ramdisk_image=uramdisk.image.gz\0”
“devicetree_image=devicetree.dtb\0”
“bitstream_image=system.bit.bin\0”
“boot_image=BOOT.bin\0”
“loadbit_addr=0x100000\0”
“loadbootenv_addr=0x2000000\0”
“kernel_size=0x500000\0”
“devicetree_size=0x20000\0”
“ramdisk_size=0x5E0000\0”
“boot_size=0xF00000\0”
“fdt_high=0x20000000\0”
“initrd_high=0x20000000\0”
“bootenv=uEnv.txt\0”
“loadbootenv=fatload mmc 0 ${loadbootenv_addr} ${bootenv}\0”
"importbootenv=echo Importing environment from SD …; "
“env import -t ${loadbootenv_addr} $filesize\0”
"mmc_loadbit_fat=echo Loading bitstream from SD/MMC/eMMC to RAM… && "
"mmcinfo && "
"fatload mmc 0 ${loadbit_addr} ${bitstream_image} && "
“fpga load 0 ${loadbit_addr} ${filesize}\0”
"norboot=echo Copying Linux from NOR flash to RAM… && "
"cp.b 0xE2100000 0x3000000 ${kernel_size} && "
"cp.b 0xE2600000 0x2A00000 ${devicetree_size} && "
"echo Copying ramdisk… && "
"cp.b 0xE2620000 0x2000000 ${ramdisk_size} && "
“bootm 0x3000000 0x2000000 0x2A00000\0”
"qspiboot=echo Copying Linux from QSPI flash to RAM… && "
"sf probe 0 0 0 && "
"sf read 0x3000000 0x100000 ${kernel_size} && "
"sf read 0x2A00000 0x600000 ${devicetree_size} && "
"echo Copying ramdisk… && "
"sf read 0x2000000 0x620000 ${ramdisk_size} && "
“bootm 0x3000000 0x2000000 0x2A00000\0”
“uenvboot=”
"if run loadbootenv; then "
"echo Loaded environment from ${bootenv}; "
"run importbootenv; "
"fi; "
"if test -n $uenvcmd; then "
"echo Running uenvcmd …; "
"run uenvcmd; "
“fi\0”
"sdboot=if mmcinfo; then "
"run uenvboot; "
"echo Copying Linux from SD to RAM… && "
"fatload mmc 0 0x3000000 ${kernel_image} && "
"fatload mmc 0 0x2A00000 ${devicetree_image} && "
"fatload mmc 0 0x2000000 ${ramdisk_image} && "
"bootm 0x3000000 0x2000000 0x2A00000; "
“fi\0”
"nandboot=echo Copying Linux from NAND flash to RAM… && "
"nand read 0x3000000 0x100000 ${kernel_size} && "
"nand read 0x2A00000 0x600000 ${devicetree_size} && "
"echo Copying ramdisk… && "
"nand read 0x2000000 0x620000 ${ramdisk_size} && "
“bootm 0x3000000 0x2000000 0x2A00000\0”
"jtagboot=echo TFTPing Linux to RAM… && "
"tftp 0x3000000 ${kernel_image} && "
"tftp 0x2A00000 ${devicetree_image} && "
"tftp 0x2000000 ${ramdisk_image} && "
“bootm 0x3000000 0x2000000 0x2A00000\0”
"rsa_norboot=echo Copying Image from NOR flash to RAM… && "
"cp.b 0xE2100000 0x100000 ${boot_size} && "
"zynqrsa 0x100000 && "
“bootm 0x3000000 0x2000000 0x2A00000\0”
"rsa_nandboot=echo Copying Image from NAND flash to RAM… && "
"nand read 0x100000 0x0 ${boot_size} && "
"zynqrsa 0x100000 && "
“bootm 0x3000000 0x2000000 0x2A00000\0”
"rsa_qspiboot=echo Copying Image from QSPI flash to RAM… && "
"sf probe 0 0 0 && "
"sf read 0x100000 0x0 ${boot_size} && "
"zynqrsa 0x100000 && "
“bootm 0x3000000 0x2000000 0x2A00000\0”
"rsa_sdboot=echo Copying Image from SD to RAM… && "
"fatload mmc 0 0x100000 ${boot_image} && "
"zynqrsa 0x100000 && "
“bootm 0x3000000 0x2000000 0x2A00000\0”
"rsa_jtagboot=echo TFTPing Image to RAM… && "
"tftp 0x100000 ${boot_image} && "
"zynqrsa 0x100000 && "
“bootm 0x3000000 0x2000000 0x2A00000\0”
#endif
定义CONFIG_EXTRA_ENV_SETTINGS。用来配置默认的环境变量。这个宏需要修改。

#define CONFIG_BOOTDELAY 3 /* -1 to Disable autoboot /
定义BOOT时的读秒。
#define CONFIG_SYS_LOAD_ADDR 0 /
default? */
定义加载地址。
#define CONFIG_ZERO_BOOTDELAY_CHECK 1
定义读秒检查。

/* Physical Memory map */
#define CONFIG_NR_DRAM_BANKS 1
#define PHYS_SDRAM_1 0
定义内存的使用与编号。

#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM_1
定义内存自检的起始地址。
#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START +
PHYS_SDRAM_1_SIZE - (16 * 1024 * 1024))
定义内存自检的结束地址。

#define CONFIG_SYS_INIT_RAM_ADDR 0xFFFF0000
#define CONFIG_SYS_INIT_RAM_SIZE 0x1000
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR +
CONFIG_SYS_INIT_RAM_SIZE -
GENERATED_GBL_DATA_SIZE)
定义初始化内存地址区间。

/* Enable the PL to be downloaded */
#define CONFIG_FPGA
#define CONFIG_FPGA_XILINX
#define CONFIG_FPGA_ZYNQPL
#define CONFIG_CMD_FPGA
定义包含PL下载功能。

/* FIT support /
#define CONFIG_FIT 1
#define CONFIG_FIT_VERBOSE 1 /
enable fit_format_{error,warning}() */
定义支持FIT。

/* Boot FreeBSD/vxWorks from an ELF image */
#if defined(CONFIG_ZYNQ_BOOT_FREEBSD)
#define CONFIG_API
#define CONFIG_CMD_ELF
#define CONFIG_SYS_MMC_MAX_DEVICE 1
#endif
定义包含FreeBSD。CONFIG_ZYNQ_BOOT_FREEBSD这个宏,需要在板子配置文件中定义。

再来分析zynq_zed.h这个宏文件。

#define PHYS_SDRAM_1_SIZE (512 * 1024 * 1024)
定义物理内存大小。
#define CONFIG_ZYNQ_SERIAL_UART1
定义串口使用UART1
#define CONFIG_ZYNQ_GEM0
定义网口使用GEM0。
#define CONFIG_ZYNQ_GEM_PHY_ADDR0 0
定义GEM_PHY的编号。
#define CONFIG_SYS_NO_FLASH
定义无NORFLASH。
#define CONFIG_ZYNQ_SDHCI0
定义使用MMC。
#define CONFIG_ZYNQ_QSPI
定义使用QSPI。
#define CONFIG_ZYNQ_BOOT_FREEBSD
定义支持FREEBSD。
#include <configs/zynq_common.h>
最后包含zynq_common.h文件,利用之前定义的宏对zynq_common.h进行裁剪和配置。

**

再来分析zynq_zturn.h

**。
#define PHYS_SDRAM_1_SIZE (1024 * 1024 * 1024)
#define CONFIG_ZYNQ_SERIAL_UART1
#define CONFIG_ZYNQ_GEM0
#define CONFIG_ZYNQ_GEM_PHY_ADDR0 0
#define CONFIG_SYS_NO_FLASH
#define CONFIG_ZYNQ_SDHCI0
#define CONFIG_ZYNQ_QSPI
#define CONFIG_ZYNQ_BOOT_FREEBSD
以上都和zynq_zed.h一样。

#define CONFIG_ZYNQ_USB
这里增加了对USB的支持。

#define CONFIG_ENV_OFFSET 0x080000
#define CONFIG_ENV_SIZE (1281024)
#define CONFIG_ENV_SECT_SIZE (4
1024) // W25Q128 is 4KB sector type
增加了对NOR FLASH的支持。

#define CONFIG_DEFAULT_DEVICE_TREE zynq-zturn
定义了设备树的默认名称。但是旧版本不使用设备树。

#define CONFIG_IPADDR 192.168.1.55
#define CONFIG_SERVERIP 192.168.1.13
定义网络地址。这一步可以直接在zynq_common.h里面改,不需要在这里改。

#define CONFIG_EXTRA_ENV_SETTINGS
“qboot_addr=0x000000\0”
“qbootenv_addr=0x080000\0”
“qbootenv_size=0x020000\0”
“qkernel_addr=0x500000\0”
“qdevtree_addr=0x980000\0”
“qramdisk_addr=0x990000\0”
“kernel_size=0x480000\0”
“devicetree_size=0x010000\0”
“ramdisk_size=0x600000\0”
“boot_size=0x080000\0”
“ethaddr=00:0a:35:00:01:22\0”
“kernel_image=uImage\0”
“kernel_load_address=0x2080000\0”
“ramdisk_image=uramdisk.image.gz\0”
“ramdisk_load_address=0x4000000\0”
“devicetree_image=devicetree.dtb\0”
“devicetree_load_address=0x2000000\0”
“bitstream_image=system.bit.bin\0”
“boot_image=BOOT.bin\0”
“loadbit_addr=0x100000\0”
“loadbootenv_addr=0x2000000\0”
“fdt_high=0x20000000\0”
“initrd_high=0x20000000\0”
“bootenv=uEnv.txt\0”
“loadbootenv=fatload mmc 0 ${loadbootenv_addr} ${bootenv}\0”
"importbootenv=echo Importing environment from SD …; "
“env import -t ${loadbootenv_addr} $filesize\0”
"mmc_loadbit_fat=echo Loading bitstream from SD/MMC/eMMC to RAM… && "
"get_bitstream_name && mmcinfo && "
"fatload mmc 0 ${loadbit_addr} ${bitstream_image} && "
“fpga loadb 0 ${loadbit_addr} ${filesize}\0”
"norboot=echo Copying Linux from NOR flash to RAM… && "
"cp.b 0xE2100000 ${kernel_load_address} ${kernel_size} && "
"cp.b 0xE2600000 ${devicetree_load_address} ${devicetree_size} && "
"echo Copying ramdisk… && "
"cp.b 0xE2620000 ${ramdisk_load_address} ${ramdisk_size} && "
“bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}\0”
“uenvboot=”
"if run loadbootenv; then "
"echo Loaded environment from ${bootenv}; "
"run importbootenv; "
"fi; "
"if test -n $uenvcmd; then "
"echo Running uenvcmd …; "
"run uenvcmd; "
“fi\0”
"sdboot=if mmcinfo; then "
"run uenvboot; "
"get_bitstream_name && "
"echo - load ${bitname} to PL… && "
"fatload mmc 0 0x200000 ${bitname} && "
"fpga loadb 0 0x200000 ${filesize} && "
"echo Copying Linux from SD to RAM… && "
"fatload mmc 0 ${kernel_load_address} ${kernel_image} && "
"fatload mmc 0 ${devicetree_load_address} ${devicetree_image} && "
"fatload mmc 0 ${ramdisk_load_address} ${ramdisk_image} && "
"bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}; "
“fi\0”
"usbboot=if usb start; then "
"run uenvboot; "
"echo Copying Linux from USB to RAM… && "
"fatload usb 0 ${kernel_load_address} ${kernel_image} && "
"fatload usb 0 ${devicetree_load_address} ${devicetree_image} && "
"fatload usb 0 ${ramdisk_load_address} ${ramdisk_image} && "
"bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}; "
“fi\0”
"nandboot=echo Copying Linux from NAND flash to RAM… && "
"nand read ${kernel_load_address} 0x100000 ${kernel_size} && "
"nand read ${devicetree_load_address} 0x600000 ${devicetree_size} && "
"echo Copying ramdisk… && "
"nand read ${ramdisk_load_address} 0x620000 ${ramdisk_size} && "
“bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}\0”
"jtagboot=echo TFTPing Linux to RAM… && "
"tftpboot ${kernel_load_address} ${kernel_image} && "
"tftpboot ${devicetree_load_address} ${devicetree_image} && "
"tftpboot ${ramdisk_load_address} ${ramdisk_image} && "
“bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}\0”
"rsa_norboot=echo Copying Image from NOR flash to RAM… && "
"cp.b 0xE2100000 0x100000 ${boot_size} && "
"zynqrsa 0x100000 && "
“bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}\0”
"rsa_nandboot=echo Copying Image from NAND flash to RAM… && "
"nand read 0x100000 0x0 ${boot_size} && "
"zynqrsa 0x100000 && "
“bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}\0”
"rsa_qspiboot=echo Copying Image from QSPI flash to RAM… && "
"sf probe 0 0 0 && "
"sf read 0x100000 0x0 ${boot_size} && "
"zynqrsa 0x100000 && "
“bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}\0”
"rsa_sdboot=echo Copying Image from SD to RAM… && "
"fatload mmc 0 0x100000 ${boot_image} && "
"zynqrsa 0x100000 && "
“bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}\0”
"rsa_jtagboot=echo TFTPing Image to RAM… && "
"tftpboot 0x100000 ${boot_image} && "
"zynqrsa 0x100000 && "
“bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}\0”
"qspiboot=echo Copying Linux from QSPI flash to RAM… && "
"sf probe 0 0 0 && "
"qspi_get_bitsize 0x0A0000 && "
"sf read ${loadbit_addr} 0x0A0004 ${bitsize} && "
"fpga loadb 0 ${loadbit_addr} ${bitsize} && "
"sf read ${kernel_load_address} ${qkernel_addr} ${kernel_size} && "
"sf read ${devicetree_load_address} ${qdevtree_addr} ${devicetree_size} && "
"echo Copying ramdisk… && "
"sf read ${ramdisk_load_address} ${qramdisk_addr} ${ramdisk_size} && "
“bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}\0”
"qspiupdate=echo Update qspi images from sd card… && "
"echo - Init mmc… && mmc rescan && "
"echo - Init qspi flash… && sf probe 0 0 0 && "
"echo - Write boot.bin… && "
"fatload mmc 0 0x200000 boot.bin && "
"sf erase ${qboot_addr} ${boot_size} && "
"sf erase ${qbootenv_addr} ${qbootenv_size} && "
"sf write 0x200000 0 ${filesize} && "
"get_bitstream_name && "
"echo - Write ${bitstream_image}… && "
"fatload mmc 0 0x200000 ${bitstream_image} && "
"sf erase 0x0A0000 0x460000 && "
"mw.l 0x100000 ${filesize} && "
"sf write 0x100000 0x0A0000 4 && "
"sf write 0x200000 0x0A0004 ${filesize} && "
"echo - Write uImage… && "
"fatload mmc 0 0x200000 uImage && "
"sf erase ${qkernel_addr} ${kernel_size} && "
"sf write 0x200000 ${qkernel_addr} ${filesize} && "
"echo - Write device tree… && "
"fatload mmc 0 0x200000 devicetree.dtb && "
"sf erase ${qdevtree_addr} ${devicetree_size} && "
"sf write 0x200000 ${qdevtree_addr} ${filesize} && "
"echo - Write Ramdisk… && "
"fatload mmc 0 0x200000 uramdisk.image.gz && "
"sf erase ${qramdisk_addr} ${ramdisk_size} && "
"sf write 0x200000 ${qramdisk_addr} ${filesize} && "
“echo - Done.\0”
定义默认环境变量。这一步可以直接在zynq_common.h里面改,不需要在这里改。

#include <configs/zynq_common.h>
最后一步,包含zynq_common.h。实现裁剪配置。

猜你喜欢

转载自blog.csdn.net/weixin_42418557/article/details/89005886