TMSFFLASH的应用和远程更新_第1页
TMSFFLASH的应用和远程更新_第2页
TMSFFLASH的应用和远程更新_第3页
TMSFFLASH的应用和远程更新_第4页
TMSFFLASH的应用和远程更新_第5页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、TMS320F2812?FLASH 的应用和远程更新 1、概述 由于电力系统自动化设备大多安装在野外, 给程序维护工作带来了极大的困难。 已安装 的设备若出现程序缺陷,或者用户提出新的需求,需要对程序进行更新。传统的维护方法均 是到实地取下设备,通过仿真器进行烧写维护,此方法效率低,作业危险性大。考虑到多数 设备具有通信信道,远程通信更新程序是智能设备的必然趋势和要求。 TMS320F281片内有18k*16RAM以及128k*16Flash资源,可以用来存放程序代码、数 据表格以及用户信息,可多次擦除和写入数据,并且片内带有电荷泵,使其可在正常工作电 压下对FLASHY逐段擦写。TMS320

2、F281具备开发IAP系统的硬件条件,通过在 Flash自定 义的段中放置升级代码:擦写 Flash、读取存储器和通信程序。升级时运行这段代码擦写F lash ,更新应用程序,实现在线编程。 2、实现原理和步骤 首先将需要更新的程序,经过CCS编译环境生成.out文件,然后利用TI提供的转换工具将. out 文件转换为 16进制数据流文件,再通过上位机程序将数据流文件通过串口发送,然后 经过各种传输通道如GPR删络,最后通过TMS320F2812勺串口,把需要升级的新代码数据 流文件先存到外部扩展 RAM芯片或FLASHS片中,经过校验无误,才启动下位机升级程序, 将外部RAM或 FLASH中

3、代码数据搬移到相应的片内 FLASH段中,实现程序的更新。 3、更新程序数据流文件的创建 由于在CCS3.1开发环境中最后生成的文件是.out格式,此文件只能在CCS环境下通过J ATG 口下载到DSP中。为了实现程序的串口更新,还要将.out格式的文件转化成能被DSP Bootloader程序所能识别的引导表数据流格式。我们可以通过TI提供的数据转换工具Hex2 000将.out文件转化成数据流文件。为此,需要编写批处理文件,此文件的作用就是指定引 导表的格式。例如创建批处理文件 build2812hex ,内容是: RemoteUpdate.out/输 入文件名 -a输出文件格式为txt

4、-m apRemoteUpdate.map/生成地址映射文件 -oRemoteUpdate.txt/输出文件名 -boot 以TMS320F2812勺Bootloader标准格式生成数据流 -sci8 /8 位模式,与电力规约中传输数据的字符宽度相符 接着在 cmd命令行内输入命令:hex2000.exebuild2812hex.cmd 即可生成 RemoteUpdate.tx t 文件 4、引导表数据流文件的下载 上位机程序中最主要的功能就是分析解包数据流文件并将处理后的数据信息传给下位 机,并控制程序更新的操作。 在分析解包数据流文件时,需要将 RemoteUpdate.txt 中的数据流

5、文件内的每块程序块 的大小和烧入FLASH!勺首地址等信息从RemoteUpdate.txt中提取出来,同时计算出暂时存 入外扩存储器的相应地址,存放在结构体中。 上位机与设备终端的通讯采用电力规约 (如 05 国电规约或 IEC60870-5-101 协议)的帧 格式通讯规约的基础设计的。 在读取数据流文件的相关信息并处理过之后, 进入传输数据流文件的数据段部分, 在此 过程中PC通讯程序将数据段部分分段添加到通讯报文的数据部分,分成多帧的形式,通过 串口发送。每帧都自带校验和,并且设备终端在收到数据并且确认正确后,将发送确认帧到 上位机。上位机只有在收到确认帧后,才会继续发送下一帧数据,否

6、则将重新传送该帧的数 据,直到收到确认帧为止。待全部数据发送完后,通过将发送数据的总长度通过特定帧下传 给终端设备,并与终端设备所接收到的数据总长度相互比较,若两者不等,将全部重传,以 此实现了总校验,提高了数据传输的正确性。 5、下位机文件数据的接收 终端设备接收到PC通过串口传输的数据流的地址和大小等信息时,同时将占据外扩存储资 源(RAM或 FLASH的相关的应用程序关闭,保证了下传的数据流不被破坏,并且覆盖了程 序正常运行时存放在该资源上的数据。在接收到PC的第一帧的更新信息时,除了外部串口 通讯的中断,会关闭其他外部的可屏蔽中断,保证了接收的数据段的正确性、完整性。由于 将所有的需更

7、新的数据均存放在外扩的RAM中,保证若在传输更新数据的过程中,终端设备 断电或者是传输丢帧的情况发生,原运行系统将完全正常工作,不会受到任何影响。此时上 位机会发现错误,只需再次发出更新信号,并且重传所需更新的数据即可。 这部分的功能的实现即是实现写外部 RAM 或 FLASH 的过程,下位机将收到的数据流 根据其地址和大小信息,将数据写入外部RAM或FLASH。例如假设系统现在外扩了一片 F LASH芯片SST39VF3202,需要将数据流信息保存在外部 FLASH中,需要编写如下的函数, 相关参数和操作请具体查阅 SST39VF3202使用手册: intWriteSstflash(farU

8、int16*pdata,Uint32wordadd,Uint16length); /writewordsintodevice intEraseSstflashSector(Uint16sectornum);/Eraseonesector(2Kwords) intEraseSstFlashBlock(Uint16blocknum);/Eraseoneblock(32Kword) intEraseSstFlashChip(void);/Erasethewholechip voidSuspendErase(void);/Temporarilysuspendonesector-eraseorblock

9、-erase intResumeErase(void);/Resumesuspendedsector-eraseorblock-erase int16CheckToggleReady(Uint32wordadd,Uint32timeout);/WaituntilDQ6stopstoggling /写入SSTFLASH*pdata-数据缓存wordadd-字地址length-长度 intWriteSstflash(farUint16*pdata,Uint32wordadd,Uint16length) uinH6secfoaea =h(wodadd土engfhvHCH 一 PIS_ZE) efum

10、FALSE 八 =h(checkT0gg_eReady(PSECT0RIERASEIT_MEHHFALSE)1FLASHBUSY#4la efumFALSE 八 secforHwordaddvv二 八 =h(wordadduUH32)secfoSECTORIS_ZE)1s 宀 Erasessff-ashsecfor(secfor)八 =h(wodadd土engfhvUH32)(secforM)*SECTORIS_ZE)u 達議溜薄 宀 Erasessff-ashsecfor(secforM)八 aeaHW0daddvx9 八二FLASH 冈BFLASH 操作的核心函数,主要调用 API voi

11、dError(Ui nt16Status);鉴别错误类型,并停止运行 voidMemCopy(Uint16*SourceAddr,Uint16*SourceEndAddr,Uint16*DestAddr); voidInitUpdate(void) 初始化 FLASH 操作函数 voidDataHexFunc(void);FLASH 操作主程序 值得注意的是FLASH操作的相关函数在系统的应用中需要从FLASH中搬移到RAM中来运 行,所以需要进行如下定义: #pragmaCODE_SECTION(Error,ramfuncs); #pragmaCODE_SECTION(CallFlashAP

12、I,ramfuncs); 利用#pragma定义将函数的入口地址定义在固定的位置ramfu ncs,有利于系统的操作。 应用中,系统需要将某些参数存入片内 FLASH 的某个段中,编写如下的 CallFlashAPI 函数。 voidCallFlashAPI(Param*Address) Uint16Status; Uint16*Flash_ptr;/Pointertoalocationinflash Uint16*Origin_ptr;/Pointertoalocationinram Uint32Length; intSector; Sector=SECTORJ;/将参数保存在J段 Status=Flash_Erase(Sector, if(Status!=STATUS_SUCCESS) F2812_Error(Status); Origin_ptr=(Uint16*)Address;/ 参数所在的地址 Length=sizeof(Param);/ Flash_ptr=(Uint16*)0 x3D8000;最后保存的目标地址 FLASHJ 段 Status=Flash_Program(F

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论