Znyq-7000综合开发文档
[Znyq-7000综合开发文档]
‘
Znyq-7000综合开发文档
1.1 U-boot移植
在进行uboot移植以前,先对uboot目录进行备份,已被日后还原使用。我这里备份了uboot的整个目录
(u-boot-xlnx),Uboot文件夹结构如下。
/arch /arm /cpu /arm720t /arm920t /at91 /imx /s3c24x0 /arm925t /arm926ejs /arm1136 /ixp /pxa /s3c44b0 /sa1100 /lib /avr32 /cpu /lib /blackfin /cpu /lib /x86 /cpu /lib /m68k /cpu /mcf52x2 /mcf5227x /mcf532x /mcf5445x /mcf547x_8x /lib /microblaze /cpu /lib /mips /cpu /mips32 /xburst /lib /nds32 Architecture specific files
Files generic to ARM architecture CPU specific files
Files specific to ARM 720 CPUs Files specific to ARM 920 CPUs
Files specific to Atmel AT91RM9200 CPU
Files specific to Freescale MC9328 i.MX CPUs Files specific to Samsung S3C24X0 CPUs Files specific to ARM 925 CPUs Files specific to ARM 926 CPUs Files specific to ARM 1136 CPUs
Files specific to Intel XScale IXP CPUs Files specific to Intel XScale PXA CPUs Files specific to Samsung S3C44B0 CPUs
Files specific to Intel StrongARM SA1100 CPUs Architecture specific library files Files generic to AVR32 architecture CPU specific files
Architecture specific library files
Files generic to Analog Devices Blackfin architecture CPU specific files
Architecture specific library files Files generic to x86 architecture CPU specific files
Architecture specific library files Files generic to m68k architecture CPU specific files
Files specific to Freescale ColdFire MCF52x2 CPUs Files specific to Freescale ColdFire MCF5227x CPUs Files specific to Freescale ColdFire MCF5329 CPUs Files specific to Freescale ColdFire MCF5445x CPUs Files specific to Freescale ColdFire MCF547x_8x CPUs Architecture specific library files
Files generic to microblaze architecture CPU specific files
Architecture specific library files Files generic to MIPS architecture CPU specific files
Files specific to MIPS32 CPUs
Files specific to Ingenic XBurst CPUs Architecture specific library files Files generic to NDS32 architecture
Znyq-7000综合开发文档
/cpu /n1213 /lib /nios2 /cpu /lib /powerpc /cpu /74xx_7xx /mpc5xx /mpc5xxx /mpc8xx /mpc8220 /mpc824x /mpc8260 /mpc85xx /ppc4xx /lib /sh /cpu /sh2 /sh3 /sh4 /lib /sparc /cpu /leon2 /leon3 /lib /api /board /common /disk /doc /drivers /examples /fs /include /lib /libfdt /lzma /lzo /net /post /rtc CPU specific files
Files specific to Andes Technology N1213 CPUs Architecture specific library files
Files generic to Altera NIOS2 architecture CPU specific files
Architecture specific library files Files generic to PowerPC architecture CPU specific files
Files specific to Freescale MPC74xx and 7xx CPUs Files specific to Freescale MPC5xx CPUs Files specific to Freescale MPC5xxx CPUs Files specific to Freescale MPC8xx CPUs Files specific to Freescale MPC8220 CPUs Files specific to Freescale MPC824x CPUs Files specific to Freescale MPC8260 CPUs Files specific to Freescale MPC85xx CPUs Files specific to AMCC PowerPC 4xx CPUs Architecture specific library files Files generic to SH architecture CPU specific files
Files specific to sh2 CPUs Files specific to sh3 CPUs Files specific to sh4 CPUs
Architecture specific library files Files generic to SPARC architecture CPU specific files
Files specific to Gaisler LEON2 SPARC CPU Files specific to Gaisler LEON3 SPARC CPU Architecture specific library files
Machine/arch independent API for external apps Board dependent files
Misc architecture independent functions Code for disk drive partition handling Documentation (don't expect too much) Commonly used device drivers
Example code for standalone applications, etc. Filesystem code (cramfs, ext2, jffs2, etc.) Header Files
Files generic to all architectures
Library files to support flattened device trees Library files to support LZMA decompression Library files to support LZO decompression Networking code Power On Self Test
Real Time Clock drivers
Znyq-7000综合开发文档 /tools 1.1.1
Tools to build S-Record or U-Boot images, etc. uboot配置
在做配置以前,认为uboot已经执行了配置命令,并在 uboot安装目录生成了配置文件,配置文件位于 ”uboot所在目录/include/configs/
1.1.1.1 根据开发板的实际情况,配置在uboot中配置DDR、flash接口等模块。
(1) 内存配置
u-boot-xlnx\\board\\xilinx\\zynq_common\\lowlevel_init.S (2) 开发板初始化
u-boot-xlnx\\board\\xilinx\\zynq_common\\board.c
board_init()函数,完成板子的初始化操作,用户可根据需要添加自己的代码。 (3) 添加xmodule支持
u-boot-xlnx\\common\\cmd_load.c
其实现方法类似load_serial_ymodem()函数,代码如下,添加该代码后即可使用SecureCRT连接设备。 依照load的形式编写代码,依照cmd的格式添加指令,如下 U_BOOT_CMD(
loadx, 3, 0, do_load_serial_bin,
\ \
\ - load binary file over serial line\ \);
然后在do_load_serial_bin()函数中添加如下代码 if (strcmp(argv[0],\
printf (\ \ offset, load_baudrate); addr = load_serial_ymodem (offset); }
else if (strcmp(argv[0],\ … … } else{ … … }
生命函数
#if defined(CONFIG_CMD_LOADB)
static ulong load_serial_ymodem (ulong offset); static ulong load_serial_xmodem (ulong offset); #endif
依照load_serial_ymodem()函数实现,实现load_serial_xmodem() 拷贝load_serial_ymodem()函数,重命名为load_serial_xmodem(); 修改ymodemBuf[1024]变量名为xmodemBuf[1024]; 这里需要关注两个地方
Znyq-7000综合开发文档
(4) 1.1.1.2
1.2 程序烧写
1.2.1 FSBL文件创建
Xilinx arm的启动过程分为两个部分FSBL+UBOOT
(1) 这里假设应经创建了一个硬核,并导入到SDK中,此时SDK环境下只有hw_plate工程。 (2) 创建BSP,具体操作过程详见以前章节。 (3) 导入FSBL工程,
Fig 1