当前位置: 首页 > news >正文

设计交流的网站全国各大新闻网站投稿

设计交流的网站,全国各大新闻网站投稿,做网站全体教程,旅游建设投资公司中网站简介 前文讲到如何实现XILINX芯片程序跳转,但升级程序是事先通过VIVADO工具将两个程序合成一个BIN文件实现升级的,并不能在线更新升级。要实现远程升级的能力需要对FPGA的FLASH进行在线写入升级程序。 FLASH介绍 本次设计FLASH选用的是S25FL128芯片&…

简介

        前文讲到如何实现XILINX芯片程序跳转,但升级程序是事先通过VIVADO工具将两个程序合成一个BIN文件实现升级的,并不能在线更新升级。要实现远程升级的能力需要对FPGA的FLASH进行在线写入升级程序。

FLASH介绍

        本次设计FLASH选用的是S25FL128芯片,FPGA实现远程升级需要对FLASH进行擦除和写入等操作,下面将对FLASH的读操作、写操作、擦除等操作做简单描述。

 FLASH读ID

        基本所有芯片都有ID寄存器,可以访问ID寄存器可以认为该芯片正常工作并且能正常访问内部寄存器。

        查阅“Device ID address map”可得ID内容如下:

        即此芯片的ID是32位的,前3个Byte分别是0x01,0x60,0x18。

FLASH 擦除

        FLASH写操作之前需要对FLASH进行擦除操作,这里我们使用的是块擦除,指令如下:

        擦除块的大小需要根据自己烧录的程序大小而定,例如烧录程序大小为5Mbit,擦除一块FLASH的大小为64KB,那么至少需要擦除64块BLOCK内存供FLASH写入新的程序。

FLASH写入

        擦除完毕后可以对FLASH做写入操作,写入前需要添加写命令使能,命令如下:

        写入命令如下:

FLASH读命令

        读命令如下:        

        不管是擦除命令、读写命令、SPI模式都有多种,以上介绍的都是本次设计使用到的命令,其他命令这里不做阐述。

        FLASH的擦除和写入并不是瞬间完成的,每一次擦除和写入都是又时间的,原文描述如下:

        擦除或者写入一次完成后对下一次写入或者擦除时间是有描述的,设计中我们可以查FLASH的状态寄存器确定FLASH是否可以做下一次写入或者擦除操作,命令如下:

        综上所述,在进行当前擦除或者写入操作前需要确保驱动处于Ready状态,不然擦除或者写入命令会出错。

        对于FLASH的驱动代码,都有独立的模块和控制模块,需要源码的可联系我,如下图所示:

FPGA原语        

        默认情况下FPGA是无法对存放工程的FLASH进行操作的,需要调用FPGA的一个原语令FPGA可以控制FLASH操作,原语代码如下:

   STARTUPE2 #(.PROG_USR("FALSE"),  // Activate program event security feature. Requires encrypted bitstreams..SIM_CCLK_FREQ(10)  // Set the Configuration Clock Frequency(ns) for simulation.)STARTUPE2_inst (.CFGCLK(),       // 1-bit output: Configuration main clock output.CFGMCLK(),     // 1-bit output: Configuration internal oscillator clock output.EOS(EOS),             // 1-bit output: Active high output signal indicating the End Of Startup..PREQ(),           // 1-bit output: PROGRAM request to fabric output.CLK(0),             // 1-bit input: User start-up clock input.GSR(0),             // 1-bit input: Global Set/Reset input (GSR cannot be used for the port name).GTS(0),             // 1-bit input: Global 3-state input (GTS cannot be used for the port name).KEYCLEARB(1), // 1-bit input: Clear AES Decrypter Key input from Battery-Backed RAM (BBRAM).PACK(1),           // 1-bit input: PROGRAM acknowledge input.USRCCLKO(spi_sclk),   // 1-bit input: User CCLK input// For Zynq-7000 devices, this input must be tied to GND.USRCCLKTS(0), // 1-bit input: User CCLK 3-state enable input// For Zynq-7000 devices, this input must be tied to VCC.USRDONEO(1),   // 1-bit input: User DONE pin output control.USRDONETS(0)  // 1-bit input: User DONE 3-state enable output);

        再将FLASH的引脚做约束即可,这里需要注意FLASH的时钟引脚无需做约束。

        以上就是FLASH部分的远程升级内容,结合前面章节描述的multiboot,可以实现远程升级功。如需源码和帮助可联系我。

http://www.tj-hxxt.cn/news/128997.html

相关文章:

  • 动态网站制作视频教程电脑培训学校能学什么
  • 惠州行业网站设计方案郑州seo技术顾问
  • 电子商务网站开发实务石道元恢复原来的百度
  • 免费的logo网站排名函数rank怎么用
  • 公积金网站建设模板百度app下载链接
  • 论坛做视频网站百度怎么发布自己的信息
  • 建应用网站百度官网电话
  • 那种漂亮的网站怎么做企业网络搭建
  • 滁州建设网站优秀网站
  • 川汇网站建设百度人工智能
  • 免费男人做那个的视频网站培训网络营销机构
  • vs做asp网站网络营销专业技能
  • 黄页网站大全通俗易懂常见的网络营销方法
  • 网站前台可以打开网站建设网络推广seo
  • 网站建设报价单seo博客推广
  • 玉林做网站公司企业网络营销推广方法
  • mt4外汇金融网站建设朋友圈广告推广
  • google网站打不开百度上怎么发布信息啊
  • wordpress网盘搜索网站seo排名培训
  • 之梦英语版网站怎么做产品软文范例100字
  • 哪个网站可以做经济模拟题苏州seo报价
  • 蓝奏云注册网站保定seo网络推广
  • 移动网站开发教学大纲网站推广主要是做什么
  • 网站建设中需求网页设计与制作考试试题及答案
  • 做旅游网站的好处如何制作一个网址
  • 做网站时怎么插入视频推广网站的文案
  • 怀柔区建设委员会网站杭州做seo的公司
  • 金坛网站建设公司seo管理系统培训运营
  • 做时时的网站谷歌广告开户
  • 自己做网站如何放置在服务器中网络营销成功案例3篇