蠕动泵厂家
免费服务热线

Free service

hotline

010-00000000
蠕动泵厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

TMS320F2812程序的远程升级方法 免费猫

发布时间:2020-02-17 13:00:21 阅读: 来源:蠕动泵厂家

TMS320F2812程序的远程升级方法

经过以上的程序分段和设定,使得程序编译后,各功能函数分段清晰,为F2812监控程序在线远程写入做好了准备。

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库文件内的函数。

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系列的TMS320F2812程序远程升级的步骤和方法,有效解决在线远程运行系统的程序升级的难题,对其他类似系统的程序升级也具有借签意义。

参考文献

1. 张卫宁.TMS320C28x系列DSP的CPU与外设[M].北京:清华大学出版社,2004.

2. 刘和平,张卫宁,刘林,等.TMS320C28x系列DSP指令和编程指南[M].北京:清华大学出版社,2005.

作者:吕泽承,蒋学军 广西电力试验研究院 来源:单片机与嵌入式系统 2009(10)

皮尔蒙特牛的养殖技术

国产美女

无广告小说全集免费阅读