
DSDI 110A
价格:999.00
ABBDSDI110ADSDI110ADSDI110A【图片仅供参考,实际产品电话或***咨询】[诚信经营][质量可靠][进口原装][拆包防伪][大量库存][当天付款][顺风速运][欢迎***]公司主营AB、本特利、黑马、施耐德、GE、ABB【DSQC系列】ICS英维思西门子yokogawa横河霍尼韦尔福克斯波Rosemount(罗斯蒙特)德国EPRO(飞利浦)ENTEK(恩泰克)VIBRO-METER(韦伯)Yaskawa(安川)Motorola(摩托罗拉)BoschRexroth(博世力士乐)Woodward(伍德沃德)等品牌为了在线升级,将ARM芯片内部FLASH存储器按图2所示划分为启动区、用户代码跳转区、用户代码1区和用户代码2区。其中启动区用于存放系统初始化和启动代码,用户代码跳转区用于存放跳转到相应用户代码区的指令.用户代码1区和用户代码2区用于交替存放当前终端正在执行的用户代码和升级的用户代码。若当前终端执行的用户程序存放在1区,则将接收到的升级程序存放到2区;待升级程序接收结束后,更改用户代码跳转区的指令,使其指向升级程序,即用户代码2区;此后用户代码2区的程序成为当前终端指向的用户程序,而用户代码1区则用于下次升级代码的存放区。远程终端上电后首***入启动区进行系统的初始化;接着终端从片外的E2PROM中读取升级配置,包括升级标志位、已接收到的***后一个数据包的ID等。若终端处于升级状态,则如图3所示,向服务器发所要升级数据的指令,而且指令中将包含终端上次已接收到的***后一个数据包的ID,这样可以避免已接收的数据包的重***送,并实现续传的功能。终端从GPRS网络接收数据包后对数据包进行解析和校验判断,并与服务器形成一问一答的应答机制。FLASH中进行数据编程的***小单位是页(512个字节),当接收到的升级数据达到1页后.通过IAP进行编程。如果当前运行的用户程序代码在1区,则把升级数据保存到2区,否则保存到1区。编程成功后,将***后一条数据包的ID保存到E2PROM中。所有升级数据发送结束并编程成功后,通过IAP修改用户代码跳转区的指令,使远程终端运行新的升级代码3服务器端的软件设3.1升级文件传输的数据格式为了达到快速准确升级的目的,首先对原始的升级代码(IntelHex文件)进行打包,然后加人相应的数据包ID号和校验码,并定义数据包长度≤256个字节,以适应G:PRS通信方式对数据包长度的要求,避免出现频繁掉线和发送不出去的问题。具体的数据包格式如下:数据包格式:PacklD+起始地址+长度+数据+校验码;PackID:一个完整的数据包为一个记录,下一个数据包的记录号自动加1;起始地址:烧写数据的FLASH首地址。即数据部分中包含的***条数据的记录地址+线性扩展地址;长度:该包数据部分的字节数;数据:同一个扩展线性地址记录内且地址连续的数据记录的数据域。当读到一个扩展线性地址记录号后,将此扩展线性地址记录号内的数据区域打包成256个字节之内的数据包,超过256个字节或读到下一个扩展线性记录号时则另起一个新的数据包;校验码:CRC循环冗余校验码。3.2服务器端主要程序流程服务器端主要程序流程图如图4和图5所示。服务器先把升级文件的路径配置完毕,并将要升级的目标程序代码按照第3.1节所示的数据包格式进行打包。并对每个数据包进行编号。2706-PDNETM2706-PDNETP2706-PENET12706-PENETK2706-PENETM2706-PENETP2706-PRIOK2706-PRIOM2706-PRIOP2706-PSW12706-NE19701-VWSTMDEE9701-VWSTMENE9701-VWSTMFRE9701-VWSTMJPE2711-NMCC2711-NC212711-NL12711-NC132711-NL32711-NL52711-NL42711-NM132711-NM2322711P-RY20322711P-RTMC2711P-RCH2711PRCH2711P-RW22711P-R***2711PT12***D62711PT12***D72711PT15C15A7)