欢迎来到天天文库
浏览记录
ID:22905460
大小:59.00 KB
页数:8页
时间:2018-11-01
《dsp平台使用串口升级软件的实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、DSP平台使用串口升级软件的实现摘要:产品的软件不断升级,带来了许多软件在外场升级工作,DSP平台软件升级一直采用仿真器烧录。对于此操作过程,必须先将产品拆开,接上仿真器,加载程序,设置断点,然后再继续运行。这个过程对于没有一定软件基础的人来说,操作相当复杂,容易出错。上述问题可以通过对软件升级人员进行反复培训来解决问题。但是更危险的是整个烧片过程需要拆开机箱,这个过程给产品带来了很多难以预计的风险,比如静电的作用,二次安装是否到位。关键词:关键词:DSP;在线编程;串口烧录中图分类号:TP311文献标识码:A:1.引言 在产品研制过程中,由于软件不断更改完善,带来了许多外场软件升级
2、的工作,DSP平台软件升级一直采用仿真器烧录,对于此操作过程,首先必须将产品拆开,接上仿真器,加载程序,设置断点、然后再继续运行仿真器程序进行烧录,这个过程对于没有一定软件基础的人来说,操作相当复杂,容易出错。上述问题可以通过对软件升级人员进行反复培训来解决。但是整个烧片过程需要拆开机箱,这个过程给产品带来了很多难以预计的风险,比如静电的作用,二次安装是否到位。 如何简化烧片流程,提高软件升级的可靠性,并且减少软件升级操作的风险,这是一个需要研究的重要课题。本文详细介绍了ADI21160DSP的启动过程,以及如何通过修改其启动过程,使得直接通过串口,进行软件升级,并且提供一个友好、易
3、操作的界面。2.DPS的启动原理及流程 DSP21160的引导方式有三种:prom引导,host引导,linkport引导。DSP不能直接运行用户程序,需要一段引导码在复位后先对系统所初始化,再从外部设备调入实际的用户程序。引导码执行后会进行自我覆盖以保证存储器的充分利用,然后跳转到实际用户程序,此时用户程序和数据与EXE文件的内容完全一致。目前我们的产品研制都是采用prom方式,对于prom方式,其具体流程如下: a)DSP21160上电,或者复位之后,II6,IM6,C6,CP6,GP6,EI6,EM6,EC6都为固定值; b)ADSP21160进入IDLE状态,PC指针为400
4、04H; c)DMAC6参数寄存器初始化; d)BMS有效; e)DMA开始运行。 在上述过程之后,编译生成的ldr文件的前256个字的指令被加载的Ox40000的地址中,也就是160_prom.asm编译所生成的引导码段。其主要功能是将程序代码中除了引导码自身之外的所有部分装入DSP内部RAM,同时对RAM进行初始化。 编译生成的运行文件一般有大量的初始化数据,在其加电复位后的初始值为0,Vdsp++的链接器将这些数据块用地址和长度记录,从而提高在加载过程中的效率。编译后有如下数据块:标识号初始化类型0FINALINITIAL1ZERODM162ZERODM323ZERODM404
5、INITDM165INITDM326INITDM407ZEROPM168ZEROPM329ZEROPM4010ZEROPM4811INITPM1612INITPM3213INITPM4014INITPM48 当读入标号为1,2,3,7,8,9,10的时候,即执行相应的填0过程。当读入4,5,6,11,12,13,14则将后续的代码引导进入内部存储器。当读入0标识块时,此标识后的48BIT字将被写入地址0x40050地址。同时启动DMA来覆盖引导码。在DMA结束的时候,执行存放在0x40050的RTI指令。程序跳转会0x40004,此处仅有一条对系统配置寄存器初始化的指令,接下来执行0
6、x40005从而指向真正的用户代码。 引导码160_prom.asm文件位于211xxldr160_prom文件夹下。这个文件夹下的工程编译后将生成160_prom.dxe,在我们工程通过仿真器加载时,160_prom.dxe不影响正常工程的运行,当生成ldr文件时,将变为ldr文件的头部引导段。3.软件实现 DSP专用仿真器进行烧录程序的烧录软件是将ldr文件作为一个数组进行引用,烧录软件首先进行擦片,等待擦片完成,而后写数据。 在上述原有程序烧录过程的基础上,要实现DSP的应用程序在线烧录有如下问题要解决: a)让产品的DSP处理器在监控程序、应用程序之间选择跳转运行; b)编写
7、在线烧录上位机程序,在上位机上通过串口将ldr文件发送至产品内部监控软件; c)监控软件将接收到的ldr文件烧录到FLASH特定的区域中。 由上可知,在一片FLASH中,最终会存储两个程序目标代码,分别是监控程序目标代码和用户实际应用程序目标代码。其中,监控程序目标代码用专用仿真器烧录在FLASH芯片特定区域。监控程序主要有两个主要模块构成:主程序模块,RS422数据接收中断模块。 主程序流程图如图一所示: 图一主程序流程图 在该模块中,程
此文档下载收益归作者所有