今晚六合开奖结果基于CPLD实现嵌入式软件bootro

日期:2020-01-26   

  随着物联网概念的兴起,嵌入式系统在社会各个领域的应用越来越广泛。由于产品应用的场合越来越复杂,对于嵌入式产品开发就提出了新的要求,其中最明显的表现就是嵌入式系统软件的维护变得日益重要。嵌入式系统投入实际环境中运行后,一部分在软件开发过程中无法充分测试的错误便会暴露出来;在嵌入式系统的运行期内,用户也往往会对嵌入式软件提出新的功能要求和性能要求。因此,嵌入式软件的更新逐渐成为嵌入式系统实际应用的一个重要问题。在嵌入式系统安装数量较多,或安装位置不方便的情况下,采用人工更新方式会花费较大的人力和物力。这时候就需要实现软件的远程自动更新,通过在系统中设计一个有线或无线的通信接口,在异地采用远程通信的方式实现嵌入式软件的自动更新。

  实现自动更新能有效地降低嵌入式软件的更新和维护成本,因此得到了广泛的应用。但是,在实际的应用过程中也发现了一些问题。由于更新过程中发生的一些异常操作(比如突然断电、更新数据传输错误等),会导致产品软件损坏,用户无法维修,必须发回产品生产厂家进行维修,这给产品使用造成了很大的不便。

  分析这种问题发生的原因,当采用嵌入式Linux、Windows CE等较为复杂的操作系统时,一般设计一个独立的bootrom程序,对系统进行初始化并引导嵌入式操作系统。而系统的更新仅仅考虑备份了应用层程序或是嵌入式操作系统,·4749正版香港铁算盘中国石油新闻中心。没有对bootrom进行备份,所以当升级boot rom出现异常后,系统将无法再次启动。同时,由于bootrom的加载必须通过烧片机或专用JTAG仿真器进行,而这些工具一般无法在现场使用,用户也不具备这种条件,因此必须返回厂家进行维修。本文针对这种问题,提出一种bootrom自动备份及切换技术,当系统更新出错后,产品能自动切换从备份bootrom启动,启动后再恢复已写坏的主bootrom。

  对于嵌入式系统,基于ARM、Power PC或MIPS架构,以及基于Linux、VxWorks等操作系统,其启动原理都是一样的。首先,系统上电后复位电路复位整个系统;在复位过程中,CPU读取外部配置(这个配置一般由CPU引脚通过上下拉电阻确定);复位结束后,CPU根据配置从相应的外部程序存储器的特定地址读取bootrom代码,大多数嵌入式系统一般采用的是NOR Flash,也有部分采用NAND Flash或CF卡等存储器;然后执行bootrom代码,初始化CPU各个部分,最后引导操作系统及应用软件启动。

  对于一个确定的嵌入式系统,其CPU读取第一条指令的地址和片选是一定的。下面就以MPC5200B系统为例,说明实现bootrom自备份及自切换系统的实现方法。

  ①采用2片NOR Flash,同时挂在MPC5200B的本地总线上,通过一个CPLD提供2个Flash的片选信号,由软件和CPLD根据boot启动状态确定把boot_cs输出给哪一片Flash。

  ②采用1片NOR Flash,划分两个区域,每个区域为512 KB,通过CPLD去切换地址实现。

  如图1所示,CPU输出两个片选信号(boot_cs和CSD给CPLD,同时CPU Local bus的其他信号分别连接到FlashA、FlashB以及CPLD上,CPLD输出一个复位信号给CPU,复位电路和时钟电路给CPLD和CPU提供复位和时钟信号。

  要实现bootrom自动切换及备份,需要CPLD和软件共同进行处理。默认主Flash为FlashA,备份Flash为FlashB。具体步骤如下:

  ②CPLD延时5 s后读取bootrom启动寄存器,当发现这个寄存器值为A时,代表bootrom已经成功启动,CPLD锁定输出boot_cs给第一片Flash。同时,输出CS1给FlashB,软件检测FlashB中代码的完整性。如果完整,则不处理;如果发现FlashB中代码不完整,重新往FlashB中写入代码。

  ③如果FlashA中的代码已经损坏,CPU将无法启动。此时,CPLD等待5 s后检测到的bootrom启动寄存器值仍为初始值,CPLD认为FlashA已损坏,切换boot_cs信号输出到FlashB,然后发送一个复位信号给CPU,CPU重新开始启动过程。CPU从FlashB中启动代码,启动完成后,软件向CPLD的bootrom启动寄存器中写入值B。此时输出CS1给FlashA,不少人为了预防糖尿病,本港台最快开奖现场,软件检测FlashA中代码的完整性。如果完整,则不处理。如果发现FlashA中代码不完整,则更新FlashA中的代码,更新完毕后通知CPLD复位CPU,并输出boot_cs给FlashA,从FlashA重新启动。

  ④系统更新bootrom时,首先改写FlashA中的代码,并重新启动;然后验证FlashA中代码的完整性,如果FlashA中代码完整,则更新到FlashB中。

  本系统由软件和CPLD配合实现,其中CPLD根据软件反馈的状态来确定片选的分配以及系统的复位。软件则在启动后对cpld Bootrom_run寄存器进行置位,并对两片Flash的代码进行CRC校验。如果有错误,则修复相应的Flash代码,并记录相关错误信息。

  本系统采用了Altera公司的MAXII CPLD实现,编译通过后仅占用124个逻辑单元,很方便就可以把相关的代码添加到产品现有的CPLD中,实现bootrom自动备份和切换功能。

  本文提出了一种基于CPLD实现嵌入式软件bootrom自动备份及切换功能的方法。该方法在PowerPC处理器MPC5200、MIPS处理器RM7000A和ARM处理器ATM9200的平台上都得到了验证,均能保证系统的正常启动,并能完成bootrom的自动恢复,为产品软件更新升级提供了强有力的保证。本设计由于采用了两片Flash,因此增加了一定的设计难度和成本。但相对于可靠的bootrom更新机制、自动化和可靠性所带来的维护成本的降低,这个代价是值得的。

  EDA(ElectrONic Design Automation)即电子设计自动化技术,是指以计算机....

  FPGA/CPLD能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA/....

  CPLD主要是由可编程逻辑宏单元(LMC,LogicMacroCell)围绕中心的可编程互连矩阵单元....

  在现代汽车电子中,一般有多个微控制器共同协调工作。DSP控制器采用哈佛结构,运算速度快,所以在汽车电....

  不管你在哪个行业,竞争都很激烈。同样,作为一个嵌入式软件开发人员,有时需要承受巨大的压力,不仅要比以....

  采用CPLD市场领先供应商提供的MAX® II 开发套件,您可以评估MAX II CPLD的系列特性....

  MAX II具有传统CPLD设计的低成本特性,MAX II CPLD还进一步提高了高密度产品的功耗和....

  Altera的MAX® II 系列在所有CPLD系列中,其单位I/O引脚的功耗和成本都是最低的。MA....

  CPLD主要是由可编程逻辑宏单元(LMC,今晚六合开奖结果,LogicMacroCell)围绕中心的可编程互连矩阵单元....

  MAX II 器件属于非易失、瞬时接通可编程逻辑系列,采用了业界突破性的 CPLD 体系结构。这种体....

  2005年12月27日,Avago Technologies日前宣布推出一款创新的图像信号传输处(image pipe processor)。与其它公司的图...

  近日,印度电商平台Flipkart上架了一款全新诺基亚品牌智能电视,55英寸,12月10日正式开售,....

  在高速数据采集系统中,AD芯片的工作速度通常是很高的,可以达到几兆甚至几十兆,而微控制器MCU的工作....

  嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积....

  80C186XL16位嵌入式微处理器是Intel公司在嵌入式微处理器市场的上导产品之一,已广泛应用于电脑终端、程控交换和工...

  目前,硬盘驱动器采用的主流接口是高技术配置接口标准(ATA),即IDE接口,而且绝大多数硬盘驱动器都....

  可编程逻辑器件PLD(Programmable logic Device)就是由用户进行编程实现所需逻辑功能的数字专用集成电路ASIC...

  在数字电路设计中,当需要将一输入的窄脉冲信号展宽成具有一定宽度和精度的宽脉冲信号时,往往很快就想到利用54HC12...

  我正在尝试为xc9572xl CPLD生成.xsvf文件。 我没有附加任何程序员。 我已经启动并运行iMPACT,并且仅使用x...

  1.PCI通信问题: 1.1 并行通信线 能否换用PCIe,是否可以用现成的通...

  软件质量即业务生命。软件测试项目已经变得比以往任何时候都复杂和困难。1979年,Glenford Myers在《The Art of S...

  有数据显示,预计到2012年全球将有30亿个嵌入式设备交付。未来软件将向服务和嵌入式两个方向延伸,嵌入式软件领域正成...

  目前,嵌入式软件已广泛的应用在各个领域:如工业控制、通信设备、信息家电以及航空航天等领域,应用越来越广泛,复杂...

  CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平....

  有不少的在校的大学生写信给我,问在学校里应该学习什么电子知识。就业形势越来越严峻,不光是在中国,全球....

  Quartus II 是Altera公司的综合性CPLD/FPGA开发软件,原理图、VHDL、V....

  线阵CCD一般不能直接在测量装置中使用,因此CCD驱动信号的产生及输出信号的处理是设计高精度、高可靠....

  CPLD和FPGA都是我们经常会用到的器件。有的说有配置芯片的是FPGA,没有的是CPLD;有的说逻....

  CPLD(复杂可编程逻辑器件),它是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属....

  包括快速的性能估算,允许用户通过快速的性能反馈来调整和优化软硬件代码分区、调整系统构建,从而达到系统....

  CPLD(复杂可编程逻辑器件),它是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属....

  制冷系统已成为的现代汽车重要配置,制冷系统内的冷媒量和冷媒纯度都是影响制冷效果的关键因素,需要按期进....

  随着计算机技术飞速发展及飞机型号性能要求的不断提高,现代飞机几乎所有重要功能都与软件有关,机载软件的....



天一图库总站| 最快开奖结果现场直播| 曾夫人论坛| 百合图库现场开奖| 香港六开奖结果| www.0118a.com| 曾道人中特网| www.756188.com| 千里马一肖中特免费公开资料| 本港台开奖现场直播地| 网上爆料| 118图库开奖结果现场|