基于CCS的DSP片外Flash直接烧写设计

发布者:黑白之间最新更新时间:2009-09-15 来源: 电子设计工程关键字:DSP  Flash  CCS  DATA  直接烧写 手机看文章 扫描二维码
随时随地手机看文章

  引言

  自加载后DSP能够正常运行,关键是Flash中原程序代码的正确烧写。CCS编译生成的.out格式文件不能直接用于Flash烧写,在TI公司给出的技术文档闭中,首先将.out文件利用其HEX工具转换为.hex格式文件,然后利用Flash烧写工具将.hex格式映像文件写入到片外Flash中。.out格式到.hex格式转换操作,需要编写特定格式的命令文件;将.hex格式文件烧写到Flash,需要严格按照.hex文件中的数据存放格式,编写相应的Flash烧写程序。对于初学者而言命令文件、烧写程序的编写则不容易理解和掌握,其中任何一个环节出现错误都将导致Flash烧写的失败。这里提出了一种简单且方便可行的DATA直接烧写方法,不需要数据格式的转换,保存有效的烧写DATA后,只需编写简单且容易理解的烧写程序即可完成Flash在线烧写。

  2 DATA直接烧写原理

  TMS320C671l提供含有DEBUG模块的JTAG接口,可以通过JTAG接口访问DSP内部寄存器和挂在CPU总线上的设备,对DSP内部所有部件进行编程。在工程开发初始阶段,一般都是通过JTAG口采用硬件仿真器进行调试,将CCS编译生成的.out文件,通过仿真器加载到DSP板卡系统中,加载成功后,会弹出一个Disassembly(反汇编)窗口,如图l所示。

Disassembly

  从窗口中可以看到程序加载的位置、对应的机器指令和汇编语言指令。DSP器件正常工作,支持二进制机器指令代码,仿真器加载.out文件的操作完成了.out格式到.hex格式的转换,将DSP运行所需要的二进制机器指令代码加载到DSP板卡。其加载的位置可由CCS中的cdb配置文件设定,也可以用户编写Linking文件指定。虽然.out文件不能直接用于片外Flash烧写,但CCS具有存储器内的数据保存和加载功能,所以,在仿真器加载.out完成后,将存储器中的二进制机器指令数据保存起来,再通过JTAG口采用在线编程的方式,将保存下来的数据烧写到片外Flash中。这就不必进行.out格式到.heX格式的转换,可方便容易地完成片外Flasn直接烧写,这就是DATA直接烧写原理。

  3 COFF段设置及保存与二级加载设计

  3.1 COFF段设置

  CCS编译成功后生成一个.map文件,在文件中可以查看存储器的使用情况,COFF段运行地址,加载地址及段的长度。COFF段按属性可分为Initialized和Unintialized,Initialized段需要在DSP上电复位时从加载地址搬移到运行地址。要得到在线烧写方便且有效的DATA,必须为COFF段指定特定的运行地址,然后将运行地址上的DATA进行保存.DSP上电复位后的加载操作则实现DATA从Flash到运行地址上的还原。

  COFF段运行地址的指定可以手动编写Linking文件,应用DSP/BIOS操作系统时也可直接对MEM属性进行设置。这里选用的TMS320C6711器件,内部RAM为64 K,在程序小于64 K、RAM不做他用时,将COFF段运行地址全部指定在内部RAM。因为TMS320C6711上电复位自加载l K大小的程序,大多数情况下远不能满足需求,需采用二级加载的方式,将自加载的1K字节指令代码设计成二级加载程序,完成剩余代码的搬移。DSP上电复位结束后是从内部RAM的零地址开始执行,需要将内部RAM零地址开始的1 K大小的存储区域分配给二级加载程序代码段,剩余的内部RAM作为存储其他COFF段使用。内部RAM划分情况如表l所示。

内部RAM划分情况

  应用DSP/BIOS操作时,图2给出在.cdb文件中对COFF段运行地址的设置。二级加载程序.boot段不能通过.cdb文件设置,需要在工程的Linking文件中以下面的格式设定其运行地址:

程序

COFF段运行地址的设置

  在没有应用DSP/BIOS,而是手动编写Linking文件时,需要以同样的格式在SECTIONS大括弧内设定所需要加载的COFF段。

  3.2 DATA保存与二级加载设计

  由于TMS320C67ll自加载的l K程序不能满足需求,需要进行二级加载程序设计。DATA方法二级加载的实质就是将运行地址下的有效数据通过二级加载从外部Flash还原到运行地址下,使程序能够按照仿真器模式那样的状态正常运行。二级加载所需要的正确EMIF配置,二级加载方式以及加载结束后跳转到C语言入口函数_c_int00()等设计在很多资料中都有介绍,在此不予赘述。这里主要介绍用于二级加载所需要的DATA保存操作,以及二级加载程序中,搬移表源地址,目的地址及其长度的设计方法。

  文中3.1部分将COFF段运行地址指定为IRAM,在编译生成的.map文件中,可看到图3所示的COFF段信息。从COFF段可看到其运行起始地址,长度及属性信息,将.out文件通过仿真器加载到DSP中后,根据.map文件保存属性为Initialized的COFF段。在保存操作中发现Initialized段可能不连续,需要分多个数据段进行保存。当Uninitialized段与相邻的Initialized段大小比较可忽略时,可将Initialized段间的Uninitialized段一起保存起来,它不会影响二级加载后程序的运行,这样做既能减少需要保存数据段的个数,又能简化保存操作,二级加载程序及在线烧写程序的设计。

map文件中COFF段信息

  在二级加载程序搬移表中,要严格按照保存的DATA段信息进行搬移表配置,其格式如下:

程序

  其中,Length为所保存的DATA段的长度:Destination Addr为DATA段IRAM中的起始地址;Source Addr为将保存的DATA段存放于外部Flash的起始位置。在线烧写程序中要严格按照此搬移表中的Source Addr值将保存的DATA段烧写到Flash的相应位置。有多个DATA段时,要配置相应个数的搬移参数表。

  4 Flash在线烧写设计

  将用户程序代码写入Flash的方法一般有2种:①用专门的Flash编程器实现;②根据DSP与Flash的接口,通过在线编程来实现。前者的主要优点是使用方便可靠,但要求Flash只能是双列直插等一些可插拔的封装形式,且表面贴装或PLCC封装的Flash难以利用编程器实现;后者克服了前者的缺点,使用灵活,因而在DSP系统中得到广泛采用。

  Flash在线烧写操作就是将保存起来的DATA,烧写到二级加载程序搬移表所指定位置的Flash中。在线烧写的思想是,首先将保存起来的DATA加载到DSP的内部RAM或系统的外部RAM中,再通过在线烧写程序将加载的DATA写入到Flash中。DSP实验板Flash采用的是AM29LV160D,根据其数据手册分别建立擦除void ChipErase(void)和写入Byte Write(int offsent,short data)子函数。编写在线烧写程序如下:

程序

  在对Flash写操作前首先要进行其擦除,在擦除后要指定DATA存放首地址Saddr,要烧写到的Flash首地址FlashAddr,以及待烧写的数据长度Length。在有多个DATA段时,程序中要进行相应个数的DATA段烧写指定操作。

  在线烧写程序设计完成后,编译将.out文件下载到DSP中,可以在擦除操作完成,开始烧写前设置断点,运行完Flash擦除操作后,将保存的DATA加载到程序中指定的位置,为了确保烧写程序的正常运行,不能将DATA加载到烧写程序占据的RAM空间。当所需要烧写的DATA全部加载完成后继续运行烧写程序,即可完成Flash的在线烧写。

  基于所用到的实验板,在Flash烧写完成后断电,将DSP设置为Flash启动模式,再上电,测试到应用程序中预先设计的运行指示,表明Flash已烧写加载成功,验证了DATA方法的Flash烧写是切实可行的。

  5 结语

  详细介绍了DATA方法直接烧写原理,如何进行合适的COFF代码段设置,如何保存烧写数据DATA以及二级加载程序和在线烧写程序的相应设计。DATA方法容易理解,操作简单、不易出错,能够简便、快捷的完成Flash的烧写操作,为DSP开发者提供了一条有效的Flash烧写途径。该方法适应于C6000系列所有DSP,其设计思想对其他系列的DSP也提供了有益的借鉴。

关键字:DSP  Flash  CCS  DATA  直接烧写 引用地址:基于CCS的DSP片外Flash直接烧写设计

上一篇:爱特:基于快闪的低功耗和混合信号FPGA
下一篇:基于DSP技术的变电站综合自动化系统简介

推荐阅读最新更新时间:2024-05-02 20:52

主从模式的TLC320AC01与DSP的接口设计
    摘要: DSP应用系统中,大多有ADC和DAC通道。本文介绍一种集成了ADC和DAC于一体的TLC320AC01模拟接口电路与TMS320VC5402定点DSP的接口电路的硬件设计方法。该设计采用2片TLC320AC01芯片,工作于主从模式。最后给出一个软件实例说明主从模式下软件的实现方法。     关键词: TLC320AC01 TMS320VC5402 DSP ADC DAC 主从模式 缓冲串口 在许多应用系统中,数字信号处理器DSP必须从多路模数转换器(ADC)通道获取信息,并且将经DSP处理后的数字信号传送到多路数模转换器(DAC)通道输出。关键问题是怎样在DSP系统中十分容易和高效地实现这些转
[应用]
深度解析DSP电磁兼容性问题
  1 引言   自从20世纪80年代初期第一片数字信号处理器芯片(DSP)问世以来,DSP就以数字器件特有的稳定性、可重复性、可大规模集成、特别是可编程性和易于实现自适应处理等特点,给数字信号处理的发展带来了巨大机遇,应用领域广阔。但由于DSP是一个相当复杂、种类繁多并有许多分系统的数、模混合系统,所以来自外部的电磁辐射以及内部元器件之间、分系统之间和各传输通道间的窜扰对DSP及其数据信息所产生的干扰,己严重地威胁着其工作的稳定性、可靠性和安全性。据统计,干扰引起的DSP事故占其总事故的90%左右。同时DSP又不可避免地向外辐射电磁波,对环境中的人体、设备产生干扰、妨碍或损伤。并且随着DSP运算速度的提高,能够实时处理的信号带宽也
[嵌入式]
PCI总线智能GJB289A仿真卡的设计
    虚拟仿真系统模拟GJB289A总线设备,需要收发大量的GJB289A总线数据。传统的处理方式是通过GJB289A总线PCI通讯卡将接收到的数据传输到上位机,由上位机程序对数据进行处理,然后上位机再将处理结果通过PCI卡传输到GJB289A总线上,这种方式影响虚拟仿真系统仿真效率,系统实时性不好。此外,传统的GJB289A总线仿真卡处理器程序固定,不能满足不同处理算法的需要。PCI总线智能GJB289A仿真卡实时处理GJB289A 总线数据,无需将数据转移到上位机,提高数据处理速度,增强了系统实时性。用户能够根据需要,在线加载DSP程序,更新数据处理算法,以适应不同处理算法的需要。增强了仿真卡的灵活性。 1 主要功能及指
[嵌入式]
基于DSP的高性能通用并行弹载计算机设计实现
0 引 言 随着技术的发展,在导弹控制和通信等领域,需要处理的任务规模越来越大。虽然随着VLSI技术的发展,已产生了运算能力达每秒几十亿次的处理器,但还远远不能满足这些领域的需求。而VLSI技术的发展已受到其开关速度的限制,进一步提高处理器主频遇到的困难越来越大。为此,把用于大型计算机的并行处理技术应用到信号处理中来,在信号处理系统中引入并行多处理器技术是必然趋势。传统弹载计算机一般针对特定场合,先确定算法,再根据算法确定系统结构,由于系统结构与算法严格相关,因此通用性较差。随着一些标准技术(标准板型、接口、互联协议等)在弹上控制系统中的应用,设计标准化、模块化的通用型计算机成为了可行。而且所设计的还要可扩展、可重构,进而根
[嵌入式]
DDR4、NAND Flash存储器芯片发展趋势
   DDR4以前瞻性的高传输速率、低功耗与更大记忆容量,在2014年下半将导入英特尔工作站/伺服器以及高阶桌上型电脑平台,并与LP-DDR3记忆体将同时存在一段时间;至于NAND Flash快闪记忆体也跨入1x奈米制程,MLC将以iSLC/eSLC自砍容量一半的方式,提升可抹写次数(Program Erase;P/E)来抢占极端要求耐受度的军方与工控市场,而C/P值高的TLC从随身碟、记忆卡的应用导向低阶SSD… DDR4伺服器先行  2016超越DDR3成为主流 处理器(CPU)、绘图晶片(GPU)运算效能随摩尔定律而飞快进展,加上云端运算、网际网路行动化浪潮下,持续驱动动态记忆体(Dynamic RAM;DRAM)的规格进
[手机便携]
创见推出最新3D NAND Flash固态硬盘,容量、效能、可靠度提升
全球数码储存媒体领导品牌—创见(Transcend Information, Inc.)了解消费者对储存空间及速度的需求日渐增加,推出首款搭载3D NAND闪存的2.5寸固态硬盘SSD230。最新一代3D NAND闪存突破2D NAND技术瓶颈,全面提升容量、效能、可靠度,将NAND闪存技术带入新纪元! 3D NAND闪存技术,全面提升容量、速度及耐用度 为提升内存容量,2D平面NAND技术以缩小每个储存单元的方式,来增加同一层储存密度。但此种制程微缩技术已逐渐接近物理极限,且储存密度提高也带来数据间的相互干扰,降低可靠度。3D NAND闪存技术的研发,改透过垂直立体堆栈储存单元的方式来扩增容量,形成多层结构。相较于2D平面
[嵌入式]
创见推出最新3D NAND <font color='red'>Flash</font>固态硬盘,容量、效能、可靠度提升
基于ARM和DSP的嵌入式智能仪器系统设计
1 引言 随着智能仪器及控制系统对实时性信号处理的要求不断提高和大规模集成电路技术的迅速发展。越来越迫切的要求有一种高性能的设计方案与之相适应,将DSP技术和ARM技术结合起来应用于嵌入式系统中,将会充分发挥两者优势以达到智能控制系统中对数据的实时性、高效性的通信要求。该嵌入式系统要求实时响应,具有严格的时序性。其工作环境可能非常恶劣,如高温、低温、潮湿等,所以系统还要求非常高的稳定性。 2 嵌入式系统的总体设计 2.1 核心器件的主要功能 ARM和DSP分别选用Cirrus Logic公司的EP7312、TI公司的TMS320VC5402。充分利用ARM丰富的片上资源和DSP强大的信号处理功能,实现高效性、实时性的信号处理及网络通
[嵌入式]
MSP432的CCS工程配置以及使用J-Link下载程序
一、CCS软件安装 CCS官方所有版本 1、下载CCS安装包 下载完成后将压缩包解压(注意解压的目标路径不要含有中文不然安装会报错) 2、开始安装 安装之前建议先将360,防火墙之类的安全防护都关掉,不然会报莫名其妙的错,还有就是电脑的用户名不能是中文,如果是中文的话改成中文否则安装不了。 3、安装选择 4、选择开发芯片 5、 安装J-link调试器 全部自定义选择完成点击Next开始安装,过程需要几分钟,需要通过的选项点击通过即可。安装完成之后不要忘了再打开杀毒软件和防火墙。 二、配置工程 1、新建工作区间 我在D盘根目录下新建了一个“CCS11”的文件夹,然后在这个文件夹里面新建一个 wor
[单片机]
MSP432的<font color='red'>CCS</font>工程配置以及使用J-Link下载程序
热门资源推荐
热门放大器推荐
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved