Dec
7
EDK8.2的Flash Writer (Device Configuration -> Program Flash Memory)可以直接往Flash中烧写文件。而且这个文件可以是任何类型的。
拿ML403举例,EDK8.2.01
1、用BSB Wizard新建ML403的Project,选上Flash的peripherial。
2、编译工程,下载到FPGA
3、打开FlashWriter,选择要下载文件,下载。(这里面Scratch Memory是临时内存,不可以和目标内存相同)
4、验证下载。打开XMD,运行命令mrd 0xe8000000 10,即读取地址为0xe8000000的连续10byte。内容应该和下载文件的二进制相同。
注意:必须先下载一个有EMC Core的工程到FPGA。
关于SREC文件
1、FlashWriter可以选择AutoConvert ELF files into SREC files,这样可以让bootloader的尺寸减小,就节省了FPGA资源;同时,SREC文件基本也比ELF文件小。
2、选择AutoConvert的时候同时选择下面的自动生成一个Bootloader_0。
3、对Bootloader_0生成linkscript
4、重新compile bootloader_0,并设成download
注意,AutoConvert其实是使用了objcopy这个程序,在GNU文件夹下。
相关资料:
Overview of Flash Memory Programming in XPS
Programming Flash Memory
est_rm.pdf Chapter 9
S-record format file
objcopy help
拿ML403举例,EDK8.2.01
1、用BSB Wizard新建ML403的Project,选上Flash的peripherial。
2、编译工程,下载到FPGA
3、打开FlashWriter,选择要下载文件,下载。(这里面Scratch Memory是临时内存,不可以和目标内存相同)
4、验证下载。打开XMD,运行命令mrd 0xe8000000 10,即读取地址为0xe8000000的连续10byte。内容应该和下载文件的二进制相同。
注意:必须先下载一个有EMC Core的工程到FPGA。
关于SREC文件
1、FlashWriter可以选择AutoConvert ELF files into SREC files,这样可以让bootloader的尺寸减小,就节省了FPGA资源;同时,SREC文件基本也比ELF文件小。
2、选择AutoConvert的时候同时选择下面的自动生成一个Bootloader_0。
3、对Bootloader_0生成linkscript
4、重新compile bootloader_0,并设成download
注意,AutoConvert其实是使用了objcopy这个程序,在GNU文件夹下。
相关资料:
Overview of Flash Memory Programming in XPS
Programming Flash Memory
est_rm.pdf Chapter 9
S-record format file
objcopy help





