IMPACT SPI FLASH 烧写流程
- 格式:docx
- 大小:1.37 MB
- 文档页数:10
烧写SPI FLASH教程1 前言Xilinx的FPGA在SPARTAN3E之后,增加了SPI配置模式。
增加SPI配置模式对用户来说,无疑是非常有用的。
不仅简化了硬件电路,而且可以降低硬件成本,同时SPI芯片的容量又很大,可以满足用户除存储配置文件外存储其他数据的要求,扩展用户应用的范围。
下面逐步演示如何烧写SPI FLASH。
2 准备工作¾ISE10.1版本或更高版本,本演示在ISE10.1下进行;¾JTAG加载线一根,本演示采用USB JTAG加载线¾Windows XP系统¾带有可SPI配置的目标板系统,本演示采用SPARTAN3E系列FPGA¾悉知SPI FLASH型号,本目标板系统采用的是M25P16¾M2:M0=001,MASTER SPI MODE¾VS2:VS0=1113 开始配置FPGA3.1 启动iMPACT开始——所有程序——Xilinx ISE Design Suite 10.1——ISE——Accessories——iMPACT,画面如下:在弹出窗口中选择“Cancel”。
当然,你也可以选中创建一个新的工程,只是,通畅情况下不这样操作。
3.2 开始生成mcs文件生成mcs文件是针对SPI FLASH,所以,在这一步中与之前用户所熟悉的产生Xilinx的配置PROM产生的方法有些差别。
其主要差别就是在生成mcs文件之前要确定SPI FLASH的型号以及容量。
之后其余的步骤都大同小异了。
3.2.1 点击“Cancel”后,双击窗口左侧“Flows”中最下端的“PROM File Formatter”,画面如下:注意:1)在弹出窗口中要选中“3rd-Party SPI PROM”;2)“PROM File Format”栏中保持“MCS”在默认的选中状态;3)Checksum Fill Value(2 Hex Digits):保持“FF”不变;3.2.2 点击“Next”,在弹出的窗口中“Select SPI PROM Density(bits)所对应的下拉框中选中“16M”。
Flash程序烧写步骤1、protect off allerase all(如果要同时烧录fpga0、fpga1、vmlinux内核才使用此命令,擦除所有all。
如果只需要更换其中的部分,可单独擦除,如下。
)2、printenv(查看网络连接情况)3、setenv serverip 192.168.11.60(设置电脑地址)4、setenv ipaddr 192.168.11.201(设置UC IP地址)5、saveenv(保存设置)6、setenv ethact octeth1(erase 18080000 180fffff - 如果单独烧写fpga0则使用该命令擦除flash中原fpga0的内容,如果执行了命令“erase all”,则不用执行该命令)7、tftp 20000000 fp0_v200c_0802.app(使用tftp将fpga0从电脑传到UC内存的20000000地址)tftp 20000000 fp0_v200d_20101108.app(软交换)8、cp.b 20000000 0x18080000 0x39998(【1】将刚传到UC内存地址20000000的fpga0拷贝到UC的flash的18080000地址中;【2】注意文件大小正确,此例的大小是0x39998)(erase 19f40000 19ffffff - 如果单独烧写fpga1则使用该命令擦除flash中原fpga1的内容,如果执行了命令“erase all”,则不用执行该命令)9、tftp 20000000 fp1_v2005_0802.app(使用tftp将fpga1从电脑传到UC内存的20000000地址)tftp 20000000 fp1_v2007_20101207.app(软交换)10、cp.b 20000000 0x19f40000 0x39998(【1】将刚传到UC内存地址20000000的fpga1拷贝到UC的flash的18080000地址中;【2】注意文件大小正确,此例的大小是0x39998)(erase 0x18100000 0x186fffff - 如果单独烧写Linux则使用该命令擦除flash中原Linux的内容,如果执行了命令“erase all”,则不用执行该命令)tftp 20000000 vmlinux.64.2011_01_05.gztftp 20000000 vmlinux.64.2011_01_18.gz(1-18最新内核)11、tftp 20000000 vmlinux.64.2011_01_20.gzcp.b 0x20000000 0x18100000 0x598a41(【1】将刚传到UC内存地址20000000的vmlinux.64.gz拷贝到UC的flash的18080000地址中;【2】注意文件大小正确,此例的大小是0x4fcff0)cp.b 0x20000000 0x18100000 0x598a7e(新版本的大小)在其修改了,还是在终端出现错误12、cp.b 0x20000000 0x18100000 0x5cd32113、askenv boot(设置boot参数)Please enter 'boot':gunzip 0x18100000 0x598a41 0x20000000 0xb00000(1-5号的版本)Please enter 'boot':gunzip 0x18100000 0x598a7e 0x20000000 0xb00000(1-18号的版本)14、Please enter 'boot':gunzip 0x18100000 0x5cd321 0x20000000 0xb00000 (1-20号的版本)15、askenv bootcmd(设置boot参数)16、Please enter 'bootcmd':run boot;Init8201;bootoctlinux17、saveenv(保存设置)18、run bootcmd19、在shell终端执行命令:20、~ # ifconfig eth1 up<激活UC网口eth1>21、~ # ifconfig eth1 192.168.11.1 <为UC的eth1网口配置IP地址>------------------------------------------------------------------------------------------------------------------------------------------------- <<smba挂载>>将保存到tftp里的tables.dat文件导入:zlj<共享文件名称>,192.168.11.30<PC的IP地址> ————————————————————————————————————————~ # mount -t cifs -o username=ZhangLiJun,passwd='zhanglijun' //192.168.11.30/today /mnt~ # cd /mnt/mnt # lsPromptTone.tar rc.local tables.datdis.tar.gz simple.script uscmacippbx.tar.gz system.conf wm.tar.gz/mnt # cp tables.dat /disk/ (copy tables.dat) ----cp * /disk(copy all file)/mnt # lsPromptTone.tar rc.local tables.datdis.tar.gz simple.script uscmacippbx.tar.gz system.conf wm.tar.gz/mnt # cd /disk//disk # lsPromptTone.tar rc.local tables.datdis.tar.gz simple.script uscmacippbx.tar.gz system.conf wm.tar.gz/disk # chmod 777 */disk # lsPromptTone.tar rc.local tables.datdis.tar.gz simple.script uscmacippbx.tar.gz system.conf wm.tar.gz ————————————————————————————————————————HTTP工具wget 网址-------------------------------------------------------------------------------------------------------------------------------------------------22、~ # cd /disk/<打开UC中的目标目录文件夹>23、/disk # tftp -g -r ippbx.tar.gz 192.168.11.60<-g:代表的文件传输方向是从源PC(192.168.11.60)到目的UC(192.168.11.1)> <加载ippbx.tar.gz>24、/disk # tftp -g -r rc.local 192.168.11.60 <加载rc.local >25、/disk # tftp -g -r system.conf 192.168.11.60 <加载rc. system.conf >26、tftp -g -r dis.tar.gz 192.168.11.6027、tftp -g -r PromptTone.tar 192.168.11.6028、tftp -g -r simple.script 192.168.11.6029、tftp -g -r uscmac 192.168.11.6030、tftp -g -r wm.tar.gz 192.168.11.6031、chmod a+rwx *32、chmod 777 * (注意一定要更改权限:UC软件包中的文件都下载完后,重启系统,使下载的文件生效)33、/disk # reboot <软重启>直接掉电重启AX配置说明对AX的配置,只需要根据具体需求,更改AX的IP地址。
FLASH烧写的步骤烧写FLASH是指将信息写入或擦除闪存芯片中的非易失性存储器。
在嵌入式系统中,通过烧写FLASH可以更新设备的固件或配置,以及存储和读取数据。
本文将介绍烧写FLASH的步骤。
1.准备工作:在进行烧写FLASH之前,首先需要准备好以下内容:-硬件平台:包括计算机或开发板、支持FLASH编程的烧写器等。
- 烧写软件:可根据实际需求选择合适的烧写软件,如Flash Magic、ST-Link Utility等。
-目标设备:需要烧写FLASH的设备,如单片机、嵌入式系统等。
-目标固件或数据:即要写入FLASH的固件或数据文件。
2.连接烧写器和目标设备:将烧写器与目标设备进行适当的连接。
通常情况下,烧写器通过USB接口连接到计算机,而目标设备则通过JTAG、SWD或SPI等接口连接到烧写器。
3.配置烧写软件:打开选择的烧写软件,并进行相应的配置。
首先,选择正确的硬件接口类型,例如JTAG、SWD或SPI。
然后,设置通信的参数,如波特率、时钟频率等。
最后,选择目标FLASH芯片的型号和存储器的起始地址。
4.擦除FLASH:在对FLASH进行写入操作之前,需要先擦除FLASH存储器。
擦除操作将清除存储器中的所有数据,包括原来的固件。
在烧写软件中,通常提供了擦除整个FLASH或指定范围的选项。
选择适当的选项后,点击擦除按钮,烧写软件将发送相应的命令到烧写器,进而擦除目标FLASH芯片中的数据。
5.写入FLASH:在完成擦除操作后,可以开始写入固件或数据到FLASH芯片中。
首先,选择要写入的固件或数据文件,并将其加载到烧写软件中。
然后,设置写入FLASH的起始地址和偏移量。
最后,点击写入按钮,烧写软件将发送相应的命令到烧写器,将数据写入FLASH存储器。
6.验证FLASH:在写入操作完成后,建议对FLASH芯片进行验证,以确保数据的正确性。
验证操作将读取FLASH存储器中的数据,并与写入的固件或数据进行比较。
spi flash的写操作流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!《SPI Flash 的写操作流程》一、准备工作1. 确定 SPI Flash 的型号和规格,了解其支持的指令和操作方式。
SPI Flash在线烧录方案Flash涨价风波持续发酵,不少厂家选择使用更具性价比的NOR Flash芯片。
NOR Flash 具备可靠性强、读取速度快等特性,是中低容量闪存芯片市场的主要产品,但烧录时间长、效率低是一直以来让生产方头疼的问题,该如何提升生产效率呢?随着高科技电子技术的发展,各类电子产品中对存储器的容量也要求越来越大,从最初的256byte容量到现在128Mbyte,而容量越大意味着使用过程中擦除、烧录时间也越长。
那么问题来了,在使用SPI Flash时,我们都采用什么烧录方式的呢?一般情况,我们都采用烧录工具(如编程器),将待烧录文件烧写到芯片中,再贴板运行。
但对于在调试阶段,或者一些需要先贴板后烧录工序的产线,又应该如何烧录?在调试阶段,对小容量来说,我们可以通过主控芯片编写驱动程序,直接将二进制代码写到Flash上调试,或者将芯片焊下,通过第三方工具烧录后再贴板运行,两种方式效率都不高。
ISP(In System Programming)在系统可编程,指电路板上的空白器件可以变成写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。
这一技术对处于研发阶段的优势在于,为工程师提供一种无需焊取芯片即可对Flash 里的数据更新、调试,节省流程和时间,也有利于保护芯片和电路板;在量产阶段,对于一些需要先“贴板后烧录“流程的产品,用户只需要在电路板上留下相应的编程接口,ISP在线烧录就可以对贴板后的器件进行烧录和更新。
这不仅极大的方便客户产线需求,也能省下烧录夹具的成本。
目前,绝大多数的MCU厂家都提供在线烧录工具,如我们非常熟悉的STC-ISP,J-link 等。
图STC-ISP烧录工具但对于SPI Flash,却少有工具支持,在使用SPI Flash在线烧录时,用户都需要自己制作烧录工具,这样对项目的二次开发无疑给研发工程师更大的压力,也难以满足产线对烧录工具的严格要求。
xilinx-ISE在iMPACT下载写好的程序
在ISE或EDK下生成BIT文件,可通过IMPACT对FPGA进行配制,
bit文件是配制到FPGA内部RAM的,掉电就没有了,
如果需要固化到片外FLASH里面(下载到FLash或EEPROM),则需要将BIT文件转化为mcs文件,通过IMPACT固化到指定的ROM中。
假设已经生成了BIT文件,下面我们来介绍如何进行配制和固化,软件使用的是IMPACT12.2。
一、BIT文件下载
连接好下载器与FPGA开发板JTAG接口,给开发板上电,打开IMPACT软件,
双点击 Boundary Scan,右键选择Initialize Chain,看能否检测到开发板的器件。
JTAG链路中的器件会全部显示出来,双击FPGA器件,添加BIT文件然后点击program就可以了
如果需要固化,则需要将bit文件转换为mcs文件,下面以固化到spi flash为例,xcf rom固化类同。
二、转换BIT文件为MCS文件
点击Create PROM File
弹出下框,按下图流程操作
最后点OK,弹出如下框,点击OK,选择要转换的BIT文件
选中文件后,点击打开
点击generate file,即生成了mcs文件。
三,下载MCS文件
切换到boundary scan,点击add SPI/BPI Flash将生成的MCS文件添加并下载即可,这样就固化到SPI FLASH里去了。
将M0,M1,M2设置成spi flash配制模式,重新上电电试试看,看LED灯是不是跑起来了。
USB口烧写器烧写FPGA步骤
一、创建编程文件:
1、启动impact
2、选中create a new project后点击ok
3、选中Prepare a PROM File后点击Next
4、指定将要生成的编程的路径及编程文件名后点击Next
5、选择PROM类型
6、点击Add按钮后点击Next
7、在弹出的对话框中点击Finish
8、点击ok
9、选择由ISE生成的可编程文件.bit的路径并加载
10、选择No
11、点击Ok
12、点击Generate File
二、链接FPGA电路
1、重新启动impact
2、选中create a new project
3、点击Finish
4、扫描FPGA器件
5、选择impact生成的.mcs文件的路径及其文件名后点击Open
6、点击Cancel
7、选中左侧图标,右键点击program
8、点击Ok
9、执行烧写
10、烧写失败
三、更改烧写配置后重新烧写
1、执行上述烧写步骤(二),直到加载.mcs文件后,更改烧写配置:选择Ouput工具栏下的Cable Setup选项
2、选择1.5MHz选项后点击Ok
3、再次执行编程操作
4、点击Ok
5、执行烧写
6、烧写成功
7、关闭impact选择No不保存烧写过程中创建的工程。
SPI FLASH 程序烧写指导书
1.相关软件和工具
使用软件SmartPRO注意软件版本更新。
烧写器:SmartPRO 5000U (已验证)
需要烧写成品板卡例:PX2000E-PRO
烧写芯片卡座(ZY301A等)
2.操作指导
2.1将PX2000E-PRO 上的FLASH 存储器(带程序)取下放入烧写
卡座ZY301A,卡座安装在烧写器卡槽最底端。
2.2 打开SmartPRO 软件,选择相关器件型号,得到如下显示框。
如图所示为相关操作界面,可以先简单熟悉一下。
2.3制作烧写文档,读取现有FLASH 中程序。
1.点击工具栏-操作配置,如图所示相关设置。
2.烧写栏中选择烧写器件型号
3.文件读取保存(BIN 文件)
后续相关烧写操作也是在这边进行,可以选择组合操作。
4.量产烧写
设置组合操作:擦除-编程-校验
选择器件型号和烧写文件,组合操作,量产。
3.备注
1.烧写不同芯片时,根据封装大小选择适合的烧写卡座。
2.首次烧写需要读取FLASH(EEPROM)中的数据文件,包括
后期相关程序更新。
Xilinx SPI FLASH 的烧写方法
1、首先在ISE中打开要烧写的工程,然后如图双击打开烧写工具。
2、打开烧写工具之后,双击边界扫描。
3、在右边空白区域右击,选择Cable Auto Connect,然后再次右击空白区域,选择Initial Chain。
4、上一步操作完成后会弹出如下界面,选择NO。
5、选择OK。
6、然后如下图选择打开。
7、由于我们的板子是SPI FLASH,所以如图选择,并点击箭头。
8、如图一步步选择FLASH容量、输出MCS文件的路径和名称。
9、按以上选择好之后,如下图,点击OK添加.bit文件,(如果项目中只包含verilog或者VHDL代码,则直接选择.bit文件,如果包含SDK中的C代码,则选择相应的download.bit文件)。
10、由于此项目包含C代码,所以如下图选择。
11、选择好之后会提示是否加入另外一个文件,这里选择NO。
12、如图左击一下左上角的选项,然后双击左下角的选项,活弹出生成文件成功。
13、如图右击选择添加FLASH。
14、选择刚才生成的MCS文件。
15、选择好板子上的FLASH型号。
16、选择好之后,如图右击首先对FLASH进行擦除。
17、擦除完成之后,选择对FLASH进行编程写入。
18如图可以看到进度条和读ID号。
19、成功。