基于SmartFusionM3程序在线升级方案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SmartFusionM3程序在线升级方案

基于SmartFusion的M3程序在线升级方案   本文主要介绍一个基于SmartFusion更新M3程序的IAP在线升级应用方案。在传输距离可靠的情况下,通过UART、sp喊者MAC将用户板和PC机连接即可实现远程升级,无需采用PlashPr03等下载器下载程序,也无需手动复位,一切工作均可由串口和上位机自动完成。如图1所示,LAP在线升级SmartFusion的M3程序主要有以下三种方式:UART、SPI以及MAC。   1.概述   (1)LAP技术的需求   由于SmartFusion系列FPGA是行业首个智能混合信号FPGA,在嵌入式行业中的应用越来越广泛。然而,无论是开发商还是初学者,在使用SmartFusion器件的时候,往往都需要额外购买昂贵的调试工具,比如M3编程器和FlashPro3下载器等,而这些编程器的价格有时候比开发板还贵,这样就打消了很多初学者购买开发板的念头。另一方面,调试和更新程序只局限于窦验室,使用者往往需要拿到板子之后,然后采用系统编程(ISP)的方式更新程序。这样使得效率大大折扣。给后续的软件更新和升级带来了诸多不便。   基于SmartFusion更新M3程序的IAP在线升级应用方案正是针对这种现象提出的,用户不但可以省下购买额外调试工具的费用,只需串口线、网线甚至是普通的电线即可。而且调试和更新程序的范围不再局限于实验室,而是可以通过网络通信方式实现远程升级和维护。   (2)方案比较   如今,很多使用单片机的初学者和用户几乎只使用ISP和IAP两种方式来进行器件的实验和开发,相比传统编程方法的不足,这两种方式更具有优越性。它们各自的工作原理和特点如表1所示。   对比以上表格可见,无论是在价格方面,还是在使用方面,IAP比ISP更具优越性,因此,采用IAP在线升级程序更具有灵活性。   (3)IAP系统框图   本IAP在线升级方案主要包含了控制台程序(人机界面部分)、传输线(连接pc机和目标板的桥梁)和目标板(包含Cortex-M3处理核和LAP模块),结构框图如图2所示。整个系统的连接和操作相当简单。   2.功能模块介绍   本方案的设计主要是软件方面的设计,总共包含4个功能模块,分别是Bootloader、IAP、Application和控制台程序。其中IAP是本设计的核心之一,同时也展示了一种在线更新M3程序的方法。   (1)Bootloader模块   Bootloader~序的功能主要是移动或者装载其他eNVM区域的镜像程序进入运行位置,同时使M3进入运行或者调试状态。如图3所示,本程序在目标板上电初始化后运行,在进入本程序后,Bootloader将会提示用户输入命令,根据用户输入命令自动引导程序进入相应的镜像程序执行。   (2)IAP模块   IAP(hl-Application Programming)指Mcu可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。相比ISP,IAP的实现相对要复杂一些。   在实现LAP功能时,单片机内部至少要有两块存储区,一般一块被称为BOOT区,另外一块被称为存储区。单片机上电运行在BOOT区,如果有外部改写程序的条件满足,则对存储区的程序进行改写操作。如果外部改写程序的条件不满足,程序指针跳到存储区,开始执行放在存储区的程序。   如图4所示,假如现在处于IAP升级状态,此时IAP程序将被全部装载到SRAM区,M3完全在SRAM区运行IAP,然后将通过UART/SPI/MAC将dat文件写入存储XE(Application),从而实现了IAP功能。   (3)Application模块   Application程序是用户自定义的程序,根据用户的不同需求和硬件的搭配而不同,因此用户可以随意改动这部分程序,但是,编写AppHcafion程序的时候还是有一定的要求,因为需要实现串口远程更新程序,那就要求在程序运行过程中能够识别串口发送过来的更新命令,让用户板自动复位进入Bootloader程序,然后引导程序进入LAP程序实现远程升级。因此,对Application程序有以下几点要求:   ?需要初始化定时狗,定时喂狗,最好是启动一个定时器,在定时中断程序中定时喂狗,同时此定时器也可给其它模块复用:   ?初始化串口为中断模式,默认采用串口0,配置波特率为230400bps,14位字节的位深度触发方式:   ?在串口中断服务程序中,添加IAP升级协议。   (4)控制台模块   控制台程序是采用VC6.0开发的小程序,结合前面三个程序模块的设计,控制台程序可以轻松取代编程器和下载器等调试工具,实现中央控制、远程升级和维护目标板的功能。管理人员只需将得到的更新程序da

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档