关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > TMS320F2812程序的远程升级方法

TMS320F2812程序的远程升级方法

作者:时间:2009-11-19来源:网络收藏

2.2 Flash在线写入
F2812的Flash数据写入通常包括擦除、烧写和校验3个步骤:
①擦除就是将Flash内的数据0位都变成1,经过正确的擦除步骤后,Flash内所有16位数据都变为0xFFFF。
②烧写数据的过程就是将待写入的数据中对应为0位写入,使得Flash中的相对应位变为0,1对应的位保持不变。
③校验过程在烧写结束后,是将烧写入的数据读出,并与原来的数据进行比较。全部正确,则数据写入Flash完成;若校验不正确,则必须重新擦除和写入,5次校验未能通过,数据烧写失败。
F2812的Flash烧写与较早的C2000系列如F2407有所不同,的擦除、烧写和校验主要通过调用Flash_Erase()、Flash_Program()、Flash_Verify()这3个函数来完成。这3个Flash的操作函数已封装在TI公司开发的库文件Flash2812_API_V210.lib内,使用时只需在编译时将该库文件加入即可,非常方便使用者调用,具体的使用可参阅相关的参考资料。
需要注意的是,对Flash的所有操作函数都必须首先载入到具有0等待周期的RAM内才能执行,否则Flash的烧写过程将会出错。执行在线写入前,需要先调用函数Flash_MemCopy(),将Flash_Erase()、Flash_Program()、Flash_Verify()这3个函数的执行代码调入F2812的RAM空间内。Flash_MemCopy()也是封装在Flash2812_API_V210.lib库文件内的函数。

本文引用地址:http://www.eepw.com.cn/article/163475.htm


3
程序的功能就是通过应用程序模块的数内容来实现的,其主要步骤如下:
首先,程序数据的提取。监控程序原文件经过CCS编译后,生成*.OUT的公共目标格式COFF文件。通常用仿真器烧写程序时,公共目标格式文件,即*.out文件,由CCS的Flash烧写插件对其进行解读,并将数据输出到F2812内进行烧写。本文用C++Builder开发了一个专用工具软件,根据公共目标格式文件的结构,对*.OUT文件进行解读,并提取出应用程序模块段(.MyPrg)内的程序数据,并将数据通过GPRS通信模块进行传送。其次,程序数据的分割。GPRS通信平台要求每个数据包小于或等于256字节,因此,需要将提取到的程序数据进行分割,由专用工具软件将应用程序模块分割为若干个196字节大小的数据包,根据通信协议与F2812监控系统进行远程通信。
最后,程序数据的写入。程序数据经GPRS远程通信接收完毕后,可向F2812监控装置发程序升级指令。根据预先分段设定,即调用Flash操作函数Flash_Erase()、Flash_Program()、Flash_Vetify(),将数据写入用户自定段.Myprg所在的地址区域,完成程序的远程升级。


结 语
本文从工程的实际需要出发,分析和阐述了C2000系列的程序远程升级的步骤和,有效解决在线远程运行系统的程序升级的难题,对其他类似系统的程序升级也具有借签意义。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭