无忧商务网,免费信息发布推广平台,您可以 [登陆后台] 或 [免费注册] 无忧商务网 | 企业黄页 | 产品库存 | 供求信息 | 最新报价 | 企业资讯 | 展会信息
黄页信息| 库存信息| 技术服务| 供应信息| 求购信息| 二手信息| 加工信息| 供求库| 报价库| 展会库| 代理信息| 保健| 生活黄页| 食谱| 网络黄页| 水族休闲| 人力HR| 招聘
首页>>生活网>>生活保健>>3C小百科-消费性电子-其他
一种通用的嵌入式系统ISP方法

<P style="TEXT-INDENT: 30px">随着嵌入式系统技术的发展,电可擦除的Flash芯片以容量大、价格低、编程方便等优势得到了广泛的应用。由于同一片Flash作业程序存储器的系统无法直接实现在系统编程(ISP)。为了方便现场调试和程序升级,可以采用集成ISP功能较新的MCU(如AVR、部分ARM芯片等),或者采用双Flash设计等方法实现ISP功能。但有不少系统仍然使用不具备直接ISP功能的MCU(如M68K、N80C196等),由于印制版面积、成本等原因的考虑也没有采用双Flash芯片,此类系统在程序升级时通常需要如编程器、仿真器等特定工具,在现场应用时不很方便。为解决这些系统的ISP问题,本文以MC68332平台为例提出了一种通用的ISP方案。<B><BR></P>
<P style="TEXT-INDENT: 30px" align=center><IMG style="WIDTH: 413px; HEIGHT: 282px" height=282 alt=对应用程序分布图 hspace=0 src="http://www.dzdqw.com/jishu/UploadFiles_9637/200610/20061010225422472.gif" width=413 border=0></P>
<P style="TEXT-INDENT: 30px"><BR>       1 方法分析</B></P>
<P style="TEXT-INDENT: 30px">对于使用M68K这类不具备ISP功能的MCU系统,进行ISP设计必须满足以下几个条件:</P>
<P style="TEXT-INDENT: 30px">(1)程序空间和数据空间统一编址,程序可以在RAM中运行;</P>
<P style="TEXT-INDENT: 30px">(2)Flash芯片正确连接了写信号;</P>
<P style="TEXT-INDENT: 30px">(3)拥有能放下update程序并让其正常工作的额外程序/数据空间;</P>
<P style="TEXT-INDENT: 30px">(4)具备某种通信能力(如以太网、串口、CAN、MODEM等);</P>
<P style="TEXT-INDENT: 30px">满足了这四个条件,就可以按照本文的方法进行ISP设计。针对自编程过程中文件出错、断电等特殊情况的容错程度不同,可以有如下两种方案。</P>
<P style="TEXT-INDENT: 30px"><STRONG>1.1 方案1&#8212;&#8212;自编程过程是安全可靠的,不会出现异常情况</STRONG></P>
<P style="TEXT-INDENT: 30px">这种情况相对简单一些,整个程序可以分为两个独立的部分完成,一是升级程序(称为update程序),它通过通信接口从主机接收程序数据到RAM空间,并对数据进行CRC校验以保证数据的正确性,在校验正确后将数据写到程序存储器的指定地址空间。如果RAM空间较小,可以接收一页、校验一页、写入一页,分次完成。由于程序存储器写操作过程必须连续,不能被打断,所以update程序必须在链接时指定在RAM地址空间运行。<BR></P>
<P style="TEXT-INDENT: 30px" align=center><IMG style="WIDTH: 515px; HEIGHT: 357px" height=357 alt=应用程序分布图 hspace=0 src="http://www.dzdqw.com/jishu/UploadFiles_9637/200610/20061010225422252.gif" width=515 border=0></P>
<P style="TEXT-INDENT: 30px"><BR><FONT size=3>    </FONT>另一部分是正常的程序(称为normal程序),这是正常编译的在程序存储器空间运行的程序,除了正常的工作之外它还需判断(通过通信命令或者查询一个输入状态等)是否应该转到升级模式,如果是,则将update程序复制到指定的RAM空间并转去执行update程序。</P>
<P style="TEXT-INDENT: 30px">程序完成需要将update和normal通过编程通过编程工具分别固公到程序存储器上的指定地址(注意:在固化第二个程序时不可损坏第一个程序内容),也可将两个文件合并,一次固化到程序存储器,update程序作为normal程序的数据信息而存在,如图1所示。这样正常运行时程序运行在normal部分,update程序得不到运行;在升级模式时normal程序把程序存储器中的update部分复制到其运行空间(RAM)并执行。如果在自编程过程中出现灾难性故障,那么程序存储器旧的normal程序已经擦除而新的normal程序还未写入或者未完全写入,这都将导致程序存储器中的程序数据不再完整,此时必须用专用工具写normal程序,才能让系统可再次自编程。</P>
<P style="TEXT-INDENT: 30px"><STRONG>1.2 方案&#8212;&#8212;考虑自编程过程中的异常状况,做到做障保护</STRONG></P>
<P style="TEXT-INDENT: 30px">这种情况下需要把整个工作分为三部分完成,第一是引导程序(称为BOOT程序);第二是升级程序(update程序);第三是正常程序(normal程序)。BOOT程序负责控制程序的运行模式:升级模式、正常模式。如果进入升级模式,BOOT程序需要将update程序复制到指定的运行空间,并转入执行update程序;如果进入正常模式,BOOT需要做的工作就十分简单,可以直接把控制权交给正常程序。为了使各个程序可以单独调试,不要依赖其它程序来初始化硬件。Update程序所要完成的功能与方案1中的相同,此时要注意update在自编程时不能破坏BOOT程序。此时normal程序不再负有复制update程序到指定运行空间的任务,完全按照正常的模式运行。<BR></P>
<P style="TEXT-INDENT: 30px" align=center><IMG style="WIDTH: 549px; HEIGHT: 270px" height=270 alt=boot程序图 hspace=0 src="http://www.dzdqw.com/jishu/UploadFiles_9637/200610/20061010225422730.gif" width=549 border=0></P>
相关资讯
类别浏览
安徽 北京 福建 甘肃 广东 广西 贵州 海南 河北 河南 黑龙江 湖北 湖南 吉林 江苏 宁夏 青海 山东 山西 陕西 上海 四川 天津 新疆 西藏 云南 浙江 重庆 辽宁 江西 内蒙古
无忧商务网 版权所有 Copyright © 2020.6 www.cn5135.com All Rights Reserved. 湘ICP备12008603号
本站所有产品都是会员自行发布,所有信息都有对方的企业名片和联系方式,如果您需要咨询产品具体参数和细节,请直接联系和咨询厂商,谢谢。
行业子站: 机械 库存 建材 物流 礼品 能源 农业 汽摩 食品 通讯 五金 玩具 矿产 印刷 休闲 服务 服装 化工 环保 电子 纺织 电工 电脑 电器 办公 安全 包装 仪器 家居