FlashBoot XILINX EDK 第四课(精灵3开发板ISE14.7)
0赞本教程官方论坛:www.osrc.cn 官方淘宝店铺:http://osrc.taobao.com
FlashBoot XILINX EDK 第四课(精灵3开发板ISE14.7)
本教程是基于南京米联电子科技有限公司 精灵3 Spartan6开发板进行,软件采用ISE14.7。本系列教程就是带领大家学习XILINX EDK开发板工具以及SDK下的编程。本教程官方论坛:www.osrc.cn
本实验的目标是学习XILINX SDK开发软件的使用,在第三课时基础上,实现从FLASH加载SOC程序到FPGA。加载过程分两部分,第一部分是加载FPGA硬件电路程序,由于FPGA硬件电路程序中有boot引导程序(C代码编写)保存在FPGA的BlcokRAM中,boot引导程序会再从FLASH中加载SOC部分的程序(C代码编写)。
在开始实验前,请确保你的电脑已经安装好ISE14.7,本教程省略最基本的新建工程的具体细节。
本课程中,一些前面课程详细讲解的内容不再过多重复。
1、这里承接上一个课时的工程拷贝到BootFlash文件夹
2、启动工程->启动XPS添加SPI接口外设IP
3、修改SPI接口为 SPI_FLASH
4、端口部分修改为
5、分配地址空间
6、查看MSH文件,修改UCF文件
7、回到ISE 编译工程,并且启动SDK
8、新建一个boot工程
9、选择新建一个bootloader程序
10、右击boot_bsp 选择Board Support Package Settings 做如下设置
11、本开发FLASH 为W25Q16因此选择serial_flash family 4 采用了AXI SPI方式因此serial_flash_interface设置1
12、替换bootloader.c文件 修改blconfig.h 文件中FLASH的地址 #define FLASH_IMAGE_BASEADDR 0x70000
13、保存编译
14、右击GPIOTest工程 找到properties 设置添加mb-objcopy -O srec GPIOTest.elf GPIOTest.srec 这句代码把.elf文件转为srec文件,srec文件后面会被下载到flash
15、设置BootFlash 引导程序可以在FPGA BRAM中运行,如下图,设置是吧CPU电路和boot.elf可执行程序打包为download.bit文件.这个过程只是要产生bit文件,下载器不是必须要插在PC上。
16、启动IMPACT程序,配置FLASH
17、找到路径添加第一个bit文件download.bit
18、弹出对话框问是否还要添加设备文件,单击NO,之后弹出是否添加数据文件单击YES
19、设置FLASH起始地址
20、添加刚才准备好的srec文件
21、之后又弹出是否添加数据文件对话框单击NO
22、FLASH的地址空间分配
23、产生MCS文件
24、产生的mcs文件
25、准备好开发板,插上下载器,记住USB线要插上,并且通电,由于拍摄时间问题,本没有插上。
26、我们的FLASH 型号为w25q64bv/cv
27、下载完成后重新通电,可以看到串口打印出了加载过程,由于串口速度慢,整个加载过程用了5分钟左右,如果运用到工程方面,显然时间太长了,可以注释掉bootloader.c中#define VERBOSE不要打印信息提高速度
实验效果
串口打印boot过程知道成功
LED 实现流水灯
当按下按钮3 串口打印出 button3 down
当按下按钮4 串口打印出 button4 down