Altera FPGA 远程升级有关的几个IP的使用

  在做在线远程升级的时候,一般需要两步:1、将数据写到外挂的flash中。2重新启动FPGA配置。 不过要做到远程升级,一般需要在原始程序中就考虑到加入远程升级模块,remote updata IP, 在升级的时候才可以启动远程升级功能。

  远程升级之后程序加载的过程: 在进行远程升级成功以后,flash中应该会至少存储两个程序,出厂程序和升级程序。 两个程序在不同的地址空间中(出厂程序从0X0000开始存储)。在FPGA上电之后,FPGA会加载出厂程序,出厂程序在运行之后,检测到remote updata IP中的一些参数(如配置镜像参数等,remote updata IP部分会介绍到)后,将读取flash中升级程序内容的开始地址指向读取地址,然后触发重新配置(如reconfig信号有效),开始加载重新配置程序。直到无错误的加载完成。也就是整个过程会加载两次程序。

 一、 如何将程序写到flash中。

      在程序运行过程中,可以通过控制一些IP来将程序写到flash中,这里有两个IP可以使用:EPCS controller,  ASMI .

    1、   EPCS Controller:

        该IP在Qsy系统中,一般需要配合NIOS II来使用,需要使用者对ARM的编程有一定的基础。不过Altera 也提供了一些有关epcs操作的API,如读写,擦除等。不过在操作前会读取一下FLASH的ID来确定是EPCS还是EPCQ,或者EPCQL,还有容量是多大的。确定好Flash的类型之后就可以调用API函数对Flash操作了。网上也有例程,如锆石科技的参考例程。不过如果使用的是第三方的flash,而读取的ID不在官方flash的ID列表之后,则就会认为没有flash,也就无法读写操作了(不敢百分百确定的,但是肯定要改程序)。所以需要操作者对ARM的操作有一定的知识。

      EPCS Controller IP在cyclone IV上使用的时候是需要手动绑定那四个pin的,在cyclone V上是不需要绑定的。

  2、ASMI IP

    该IP在IP库中,Qsys中也有,可以直接用verilog进行编程控制,网上也有中文文档:ug_altasmi_parallel_CH.pdf 。该文档会介绍如何擦除,读写flash等,只要时序控制好,EPCS/EPCQ/EPCQL的空间地址控制号就可以了。网上或官方都有参考例程,可以参考一下。

二、 如何打开下载程序文件

  远程烧录,需要PC等通过串口或网络将程序传给FPGA,程序文件一般是jic/sof/rbf等格式的文件,那么一般软件不能打开也看不到里面的内容,可以使用UltraEdit软件来打开这些文件,而且里面还会有一部分提示。

  

但是这个文件会很大,比如16MB,并不是所有的都是有效的信息,我现在也不知道该写哪一些数据到flash中,以后知道了再补充吧。

三、remote updata IP

  该IP在IP库和Qsys中都有,可以用verilog来控制,建议使用前也要先看下他的说明书,ug_altremote.pdf,里面对寄存器有详细的说明。

    

      

  在使用过程其实是读取寄存器或者写寄存器的过程,最后一步reconfig信号就可以了。

网友给出了一个思路: read 3‘b000 (读取reconfig的条件) --》 write 3‘b101(Anf配置模式选择:出厂or镜像) --》 read Anf  3‘b101(确定一下)  --》write 3‘b011 (写看门狗使能) --》

write 3‘b010(写看门狗溢出值) --》 write 3‘b100 (写看门狗溢出值) --》 reconfig 使能。然后就操作完成了,等待重新启动。

.

          

  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

原文地址:https://www.cnblogs.com/fhyfhy/p/8448096.html

时间: 2024-08-30 09:15:15

Altera FPGA 远程升级有关的几个IP的使用的相关文章

浅谈用ModelSim+Synplify+Quartus来实现Altera FPGA的仿真

浅谈用ModelSim+Synplify+Quartus来实现Altera FPGA的仿真 工作内容: Mentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器.它采用直接优化的编译技术.Tcl/Tk技术.和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件. Synplify.S

Altera FPGA中的pin进一步说明

最近END china上的大神阿昏豆发表了博文 <FPGA研发之道(25)-管脚>,刚好今天拿到了新书<深入理解Altera FPGA应用设计>第一章开篇就讲pin.这里就两者的知识做一个整理.至于cyclone IV器件的I/O特性笔记博文后续会补上. 上一篇Altera FPGA中的pin简介已经对altera FPGA中的pin做了一个简要的全面说明,下面就做一些深入的了解 1,一般来说,DDR的接口信号最好能在一个BANK上约束,如果不能则其控制信号要约束到同一BANK上,

通过SPI方式实现LPC17xx的远程升级设计

本方案基于NXP的LPC1768微处理器为平台,使用KEIL MDK4.70A为开发工具,通过SPI的方式实现程序的自动更新.本方案参考NXP官方的应用手册AN11257为蓝本. 程序设计: 程序由三部分组成bootloader.低区用户程序,高区用户程序.Bootloader实现程序的跳转及IAP程序的烧写.低区程序位于LPC1768的0x1000~0x2FFFF处,高区程序位于LPC1768的0x30000~0x67FFFF处. 待更新的程序放置于外部存储芯片N25Q256的0x001000

转载《Xilinx和Altera FPGA的基本逻辑单元对比 》

致敬原作者: http://blog.sina.com.cn/s/blog_6276db0e0101ary8.html 要比较Xilinx和Altera的FPGA,就要清楚两个大厂FPGA的结构,由于各自利益,两家的FPGA结构各不相同,参数也各不相同,但可以统一到LUT(Look-Up-Table)查找表上. 以Altera的Cyclone II系列的EP2C35,以及Xilinx的Spartan-3E系列的XC3S500E为例.可以参考Datasheet. Cyclone II Sparta

246-基于TI DSP TMS320C6678、Altera FPGA的CPCI处理卡

基于TI DSP TMS320C6678.Altera FPGA的CPCI处理卡 1.板卡概述 本板卡由我公司自主研发,基于CPCI架构,符合CPCI2.0标准,采用两片TI DSP TMS320C6678芯片和Altera公司FPGA 芯片.包含PCI接口.GMII的以太网接口.Nor Flash接口.8路SFP光 纤,4路RS232.可用于软件无线电系统,基带信号处理,无线仿真平台,高速图像采集.处理等.支持热插拔,设计芯片可以满足工业级要求. 2.处理板技术指标 1) 关于TI DSP T

11-开发板接入小五物联实现远程控制(Wi-Fi模块,远程升级自己的程序)

https://www.cnblogs.com/yangfengwu/p/9411134.html 基础教程源码链接请在淘宝介绍中下载,由于链接很容易失效,如果失效请联系卖家,谢谢 https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-18540610442.6.36a74814ZSaRsu&id=569295486025 这一节为教程最终版功能演示,现在不必深究,早晚自己全部都会实现的(静静的跟着我学哈) 这一节学习远程升级自己的程序 如

【小梅哥FPGA进阶学习之旅】基于Altera FPGA 的DDR2+千兆以太网电路设计

DDR2电路设计 在高速大数据的应用中,高速大容量缓存是必不可少的硬件.当前在FPGA系统中使用较为广泛的高速大容量存储器有经典速度较低的单数据速率的SDRAM存储器,以及速度较高的双速率DDR.DDR2.DDR3型SDRAM存储器,DDR系列的存储器都需要FPGA芯片有对应的硬件电路结构支持.对于Altera Cyclone IV系列的FPGA,其最高支持到DDR2存储器(不支持DDR3存储器,到了Cyclone V系列的FPGA才支持DDR3存储器).芯航线AC6102开发板作为一个高速应用

FPGA学习笔记之Altera FPGA使用JIC文件配置固化教程(转)

很多做过单片机的朋友都知 道,我们在对MCU烧写完程序固件后,那么该程序固件就存储在了该MCU内部.即使MCU断电了再重新上电,程序也能继续运行.这是因为对MCU烧写固件 的实质就是将程序固件写入到MCU的片上程序存储器ROM中,而现代的大部分MCU这个ROM都是FLASH存储器.FLASH存储器能够掉电保持数据, 所以可以实现掉电程序不丢失.Altera或Xilinx的FPGA芯片,使用的是基于SRAM结构的查找表,而SRAM的一大特性就是掉电数据会丢失, 当我们使用JTAG将SRAM配置文件

FPGA基础知识2(Xilinx Altera FPGA中的逻辑资源 --Slices VS LE比较)

来源:http://www.union-rnd.com/xilinx-vs-altera-slices-vs-les/ 前言 经常有朋友会问我,"我这个方案是用A家的FPGA还是X家的FPGA呢?他们的容量够不够呢?他们的容量怎么比较呢?"当然,在大部分时候,我在给客户做设计的时候,直接会用到最高容量的产品,因为我们的产品对成本不敏感.不过,在此还是比较一下两家的产品,简单写写一些自己的想法,供大家参考,如有不对的地方,还请指正! 进入正题 要比较Xilinx和Altera的FPGA,