付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TMS320F2812片内Flash在线烧写技术
TMS320F2812(以下简称F2812)是美国德州仪器公司(TI)新一代32位定点数字信号处理器(DSP),主要应用于逆变器控制、电机控制等领域,并拥有工作频率高达150MHz的32位DSP内核处理器,可以高效可靠地实现自适应控制和状态控制等。因此,TMS320F28X系列DSP已成为自动控制领域的首选控制器件。F2812片内拥有高达128KBx16位的F1ash程序存储器,可以满足大多数程序存储需要。在研究基于JTAG接口的两种常用Flash烧写技术(CCS插件烧写技术和Flash281x_API函数库烧写技术)的基础上,提出了一种利用RS485与PC机的串行通讯实现Flash烧写的方法。
F2812片内Flash简介TMS320F2812原理与开发
F2812带有128KBxl6位的片内Flash存储器,分为4个8KBxl6位和6个16KBxl6位的扇区,用户可以单独擦除、编程和验证Flash的一个扇区而不会影响其他扇区,但不能用F1ash的一个扇区执行Flash的算法对其他扇区擦除或编程。F1ash还可映射到程序数据空间,因此它既可用于执行代码,也可存储数据信息。
TI代码产生工具所产生的目标文件是一种模块化文件格式一一COFF格式,即.out文件。程序中的代码和数据在COFF格式文件中以段形式形成,不同的段存放不同类型的内容.应用中通过编写连接器命令文件(.cmd)将这些段正确地分配到DSP的地址空间,DSP集成开发环境CCS经编译链接之后。生成.out文件和.map文件。.map文件详细描述了.cmd文件中定义的各段起始地址以及使用长度。而out文件为COFF格式,DSP能够识别,但不能直接烧写到Flash,必须将.out文件转换为Flash能识别的数据格式,即.hex的数据文件。利用CCS转换和.hex转换工具HEX2000进行转换。
基于JTAG的烧写技术3.1CCS插件烧写技术
利用烧写插件完成Flash的烧写无需数据转换,只需通过程序调试生成.out文件即可。由于调试阶段程序的.cmd文件存放在F2812的RAM,而烧写阶段程序则存放在Flash,即调试阶段程序的重新定位不能在CCS环境下运行,需要编写两个不同的.cmd文件。3.2Flash281x_API函数烧写技术
F1ash281xAPI函数库烧写技术是利用TI公司的编程算法.该算法定义良好,操作简单,而且可以脱离烧写插件,真正实现在线烧写。
编程算法中函数定义如下:(1)擦除扇区的函数为Uintl6F1ash2812Erase(SectorMask,&FStatus),其中,SectorMask为擦除指定扇区;&Fstatus为状态值,判断操作是否成功。(2)烧写程序到F1ash函数为Uintl6Flash2812_Program(&FlashAddr,&BuffAddr,Length,&FStatus),其中&FlashAddr为程序在Flash中烧写的起始地址;&BuffAddr为程序当前存放在内存空间的首地址:Length为程序长度;&Fstatus为状态值,判断操作是否成功。(3)校验烧写到Flash中的程序为Uintl6Flash2812_Verifv(&FlashAddr,&BuffAddr,Length,&FStatus)。
Flash28x_API函数烧写步骤如下:
(1)先将.hex格式数据下载到F2812的内存.在CCS环境下完成File→Data→Load,并存放地址和数据长度两个参数,其中数据长度可以通过HEX转换为.map文件获得。
(2)编写基于Flash281x_API函数的烧写程序。先擦除相应的Flash扇区,通过Flash2812_Erase函数完成;将数据的起始地址和数据长度两个参数分别赋给&FlashAddr和Length变量,然后调用Flash2812_Program函数开始烧写,最后调用Flash2812_Verify函数确定烧写是否成功。
FlashAPI与用户工程建立关联后,目标代码通过调用API函数,实现对Flash的擦除、烧写和校验等操作,Flash的密码保护值不全为0,否则Flash将被锁死导使无法解锁。串口烧写FlaSh技术
基于JTAG的烧写技术必须在CCS环境下通过JTAG接口实现。虽然基于JTAG接口的两种烧写方法易于操作,方便调试,但常常受空间和传输距离限制。比如一台DSP系统安装在复杂、封闭的环境下,当程序需要更新或升级时,利用JTAG接口难以实现Flash的在线烧写。而通过串口烧写技术采用“程序”烧写“程序”的方法则不受限制。前一个“程序”指已固化程序,用于实现串口烧写的时机判断、数据接收及烧写的具体实施等,该程序使用了Flash281x_API库编程算法;而后一个“程序”是用户的应用目标代码。
实现串口烧写技术软件分为PC机内用于数据发送的顶层软件和目标机内的底层软件。顶层软件可实现用户程序的解析等;而底层软件可实现由串口发送的数据烧写至Flash。F2812DSP每次上电复位,先运行底层软件,判断是否需要重新烧写Flash。若需要,则将串口发送的目标代码烧写至F2812片内Flash指定扇区;否则将继续执行原有的用户目标代码。4.1顶层软件
顶层软件可实现用户程序的解析等工作。其用户程序为.oul文件,顶层软件主要完成.hex文件的解析,并将解析后的有用数据发送至目标DSP。.hex文件的组织格式严格,只要提取数据在内存中的存放地址和数据长度就可以按照要求将数据发送给目标DSP。如果用户程序很大而目标DSP的内存空间不足时,该过程还可以分段进行。顶层软件可以使用VC++或者LabVIEW等实现。4.2底层软件
底层软件用于实现将串口发来的数据烧写至Flash.涉及到用户程序的正确定位和复位后的启动过程,是整个软件设计的重点。底层软件主要实现以下功能:
(1)烧写程序搬移功能。由于F2812片上Flash不支持在其中一个扇区运行程序去擦除或烧写其他扇区,故完成接收数据和烧写Flash工作的这部分程序需搬移至片内RAM或片外RAM上运行。实现程序搬移的函数为:
其中,SourceAddr为Flash中程序的起始地址,即源程序开始地址;SourceEndAddr为Flash中程序的结束地址,即源程结束序地址;DestAddr为搬移至内存的首地址。
(2)上电复位查询功能。上电复位后查询一个通用I/O端口的状态以确定是否需要烧写程序。这个通用I/O端口可由用户自行确定,但I/O端口占用后其特殊功能便不可用,上电复位后保证其确定状态,否则会不间断烧写程序或者不能正确跳转到用户应用程序。
(3)接收PC机发送的数据并保存到目标DSP内存。这是在串口接收中断服务子程序中完成的,并确定用于数据保存的这部分内存未占用。
(4)接收结束后将内存中的数据烧写至指定Flash扇区,这由Flash28lx_APl库函数完成。图1为底层应用软件流程图。4.3底层软件的定位
电复位后,XMP/MC引脚为低电平.目标DSP处于计算机模式,CPU将从内部BootRom获得复位向量。复位向量指向BootRom并执行其内部的Bootloader程序,执行完毕后确定从内部Flash启动.程序指针跳转到Flash的Ox3F7FF6处.这个地址是同定的,因此底层软件程序必须烧写在以这个地址为起始地址的空间内,或者在0x3F7FF6烧写一条跳转指令,上电复位后通过跳转指令跳转到底层软件程序。4.4用户应用程序的定位
用户应用程序从main函数开始,但DSP首先必须调用_c_int00函数建立C语言的运行环境,主要包括:建立初始化系统堆栈,把.cinit段中的数据表拷贝到.bss段。对全局和静态变量初始化等。_c_int00执行结束后调用main函数开始运行用户应用程序。因此_c_int00函数的首地址才是整个程序的入口点。底层软件程序执行结束后应该调用_c_int00函数,而不是main函数,可用跳转指令实现,参考程序如下:
讨论的Flash三种在线烧写技术在实际工程中均得到实际运用。采用TMS320F2812作为控制器的数据采集系统.利用F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年卫生职称《中医学》专业知识全真模拟试卷
- 2026年高校外语教学能力测试试卷(冲刺押题)
- 2026年高校模具设计机械专业期末专项训练卷单套模具结构绘图大题
- 混凝土外加剂采购合同(31篇)
- 2027届山东省德州市临邑县数学七年级第一学期期末质量检测试题含解析
- 培训课件《CO2气体保护焊接技能》
- 压力容器定期检验规则讲义
- 园艺产品采后呼吸生理
- 宝宝奶藓最佳治疗
- 小学数学26班学习简报第三期
- 2026中国丘陵山区农机技术突破与市场推广策略报告
- CSCO多发性骨髓瘤诊疗指南2026
- 工业香精生产企业配方保密管控细则
- 实验室安全交接工作制度
- 生产经营单位安全生产事故应急救援预案
- GB/T 46164-2025金属和合金的腐蚀增材制造钛合金电化学临界局部腐蚀温度(E-CLCT)的测量
- 核反应堆核级机械设备检修工职业技能鉴定经典试题含答案
- 遗体火化师职业技能模拟试卷含答案
- 艾可慕(ICOM)IC-R5(R6)中文使用说明书
- 宫颈癌考试题及答案
- JJG 678-2007催化燃烧式甲烷测定器
评论
0/150
提交评论