TMS320VC55x系列DSP的Flash引导方法研究

发布者:Howard_Sun最新更新时间:2007-06-29 来源: 国外电子元器件关键字:仿真  代码  容量  编程 手机看文章 扫描二维码
随时随地手机看文章
1 引言

随着数字信号处理技术的快速发展,DSP(数字信号处理器)越来越广泛地应用于各种数字信号处理系统中。最终开发的系统要想脱离仿真器运行,必须将程序代码存储在非易失性存储器中。Flash存储器以其大容量和可在线编程等特点已成为DSP系统的一个基本配置。如何将程序烧写进Flash,并在上电时加载到DSP内部的RAM是Flash在DSP系统中应用的两个基本技术问题。本文以基于TI公司的TMS320VC5509A和Atmel公司的AT49LV1024 Flash开发的系统为背景,详细介绍了系统引导相关的硬件设计、烧写软件设计以及自举引导和二次引导等实现方法。

2 TMS320VC5509A的自举引导

2.1 TMS320VC5509A的自举模式配置

TMS320VC5509A每次上电复位后,在执行完一系列初始化(配置堆栈寄存器、关闭中断、程序临时入口、符号扩展、兼容性配置)工作后,根据预先配置的自举模式,通过固化在ROM内的Bootloader程序进行程序引导。VC5509A的引导模式选择是通过4个模式选择引脚BOOTM[0:3]配置完成的。 BOOTM0~3引脚分别与GPIO1、2、3、0相连。在本系统设计中,采用EMIF(外部存储接口)并行引导模式(16位数据宽度),只需将BOOTM[3:0]设置成1011即可。

EMIF为外部存储接口,通过EMIF接口可以灵活地和各种同步或异步存储器件无缝连接。通过EMIF可以将VC5509A的存储空间扩展到128 Mbit(SDRAM),存储空间共被分为CE0~CE3四个段,每段占用不同的地址。在EMIF的并行引导模式中,ROM固化的Bootloader程序是以0x200000为首地址开始加载程序。0x200000即为CE1空间的首地址,所以Flash必须接在DSP的CE1空间上。在加载时。EMIF的CE1空间已经默认配置成异步静态随机存储器(SRAM)接口,并且在时序上采用了最差情况设置(即最慢访问速度),充分保证了时间裕量,使得程序代码顺利地加载到DSP的内存中。

2.2 TMS320VC5509A的引导表

Bootloader在引导程序时,程序代码是以引导表格形式加载的。TMS320VC55x的引导表结构中包括了用户程序的代码段和数据段以及相应段在内存中的指定存储位置,此外还包括了程序人口地址、部分寄存器的配置值、可编程延时时间等信息。TMS320VC55x系列DSP的引导表结构如表1所示。

其中,程序入口地址是引导表加载结束后,用户程序开始执行的地址;寄存器配置数目决定了后面有多少个寄存器需要配置;只有当延时标志为0xFFFF时,延时才被执行;延时长度决定了在寄存器配置后延时多少个CPU周期才进行下一个动作;段长度、段起始地址和数据则为用户程序中定义的各个段的内容,并且可以重复添加;最后以0x00000000(32个0)作为引导表的结束标志。

若要生成引导表,可用CCS最终编译生成的,out文件通过CCS自带的hex55.exe转换程序得到。将hex55.exe、.out文件、.0cmd文件放在同一个文件夹中,通过DOS命令调用hex55.exe。即可完成.out文件到hex格式的引导表文件的转化。.CMD文件用于提供引导表的相关配置信息,以下为一个.CMD文件的实例:

 

3 Flash的烧写和自举的实现

3.1 TMS320VC5509A和AT49LV1024的硬件没计

AT49LV1024是Atmel公司一款3 V供电系统的Flash存储器,16位位宽,容量为64 KB(16条地址线)。VC5509A(PGE封装)只有14条地址线,只能寻址16 KB的SRAM空间。要想寻址64 KB地址空间的话,Flash地址线的高两位则需要通过其他I/O线控制。在本系统中通过GPIO4和GPIO6与Flash的高两位地址相连实现,其连接示意图如图1所示。但是在Bootloader自举引导程序时,并不能控制GPIO引脚,也就是只能引导最大16 KB的程序。对于大于16 KB的程序,则需要进行二次引导。

3.2 二次引导技术

所谓二次引导,就是通过DSP内部ROM固化的Bootloader引导用户自行编写一个引导程序,其功能和ROM固化的Bootloader相同,再通过此引导程序加载系统最终运行的程序代码,并在加载结束后,把PC值置为新的程序入口地址。在用户编写的引导程序中控制GIPO4和GPIO6,即可实现64 KB地址空间寻址。具体实现框图如图2所示。

3.3 数据烧写程序设计

Flash的数据可直接读取,但对Flash的编程和擦除操作则需要通过一系列命令才能进行。AT49LV1024的写操作只能将1变成0,而0变成1必须通过擦除操作进行。所以每次写Flash之前必须进行片擦除,使存储单元值变成0xFFFF,才能进行编程。

擦除命令需要6个周期,操作命令如表2所示。

编程命令需要4个周期,操作命令如表3所示。

编程和擦除操作都需要一定周期的时间(AT49LV1024的单字编程时间是20μ8,整片擦除时间是10 s),用户可以通过查询标志数据线DQ6和DQ7确定编程或擦除是否完毕。当器件正处于编程或擦除状态时,连续读任意单元的值,DQ6的值将一直在0、1之间交替变化,当编程或擦除结束时,读DQ6则得到一个恒定值。本文即通过此方法判断操作是否结束。

根据Flash的编程和擦除命令,编写了相应的C语言程序,其中SetGPIO46Addr(Addr)子程序的作用是根据所传递的Addr值配置相应的GPIO4和GPIO6即高两位地址的值。

3.3.1 片擦除程序

 

 

3.3.2 单字编程程序

 

3.3.3 编程和擦除结束确认程序

 

3.4 程序的烧写实现

本系统在CCS仿真环境下对Flash进行在线编程。先建立一个Flash的烧写工程,并在工程中将要烧写进Flash的引导表文件通过CCS的LOADDATA功能直接加载进DSP的内存,根据加载的首地址和数据长度,在仿真环境下烧进Flash中。值得注意的是,程序加载的内存空间不能与Flash的烧写程序重叠,否则烧写失败。

需要补充的是,经hex55.exe文件转化后的hex格式的引导表文件是不能直接导入CCS中的。CCS只支持将特别规定的DAT格式文件通过LOADDATA导入内存,所以在导入之前必须先将引导表转化成DAT格式文件,这个工作可以由VC编写一个简单的C语言转化程序实现。

4 结束语

本文阐述了一种针对TMS320VC55x系列DSP简单有效的Flash烧写方法,并提出了程序自举引导的实现方法,包括大程序二次引导的实现方法。本文讨论的引导方法包括硬件设计及相关程序,已在笔者的实际开发CMOS图像采集项目中使用并成功运行。

关键字:仿真  代码  容量  编程 引用地址:TMS320VC55x系列DSP的Flash引导方法研究

上一篇:基于FPGA的RISC微处理器的设计与实现
下一篇:TMS320VC55x系列DSP的Flash引导方法研究

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

EH78系列单片机的编程技巧
在EM447中,当需要跳转或调用不同页面的子程序时,则需在调用前修改R3的PSl、PS0,这样当执行IMP指令或CALL指令时会将状态寄存器R3的PSl、PS0载入PC的A11、A10,所以PC程序指针可以在4K范围的地址空间内自由跳转。 当编写的程序代码量较大(超过1K)时,程序跨页跳转和跨页调用是避免不了的。在使用JMP指令时,一定要知道将要跳到哪个Page;使用CALL指令时,一定要知道要调用的子程序位于哪个Page中。这样在使用JMP指令和CALL指令之前必须要设置PSl和PS0位来选择将要跳转或调用程序的存储空间。例程如下: BS STATUS,PSl ;到Page3 BS STATUS,PS0 CA
[单片机]
EH78系列单片机的<font color='red'>编程</font>技巧
新思科技:许多组织仍会提交易受攻击的代码
美国新思科技公司 (Synopsys, Nasdaq: SNPS)近日发布的《现代应用程序开发安全》报告发现尽管许多组织仍会提交易受攻击的代码,但大多数组织认为他们的应用安全计划都是可靠的。拥有良好的应用安全计划并不意味着组织将不再提交易受攻击的代码。区别在于提交此类代码的人完全知情并清楚地了解他们所承担的风险。 要想实现应用程序安全就需要持续对潜在风险进行分类处理,这其中就涉及到如何制定优先级决策,使得开发团队既能在规定日期前交付应用程序,同时还能降低风险。如果在开发周期中过晚发现漏洞,那么这些漏洞通常将无法得到解决。这也进一步强调了尽早注重应用程序安全的重要性。因为只有尽早发现漏洞才能留出足够的时间及时解决关键问题,不影响
[物联网]
新思科技:许多组织仍会提交易受攻击的<font color='red'>代码</font>
如何对单片机读出目标代码进行反汇编
要正确获取程序的目标代码,首先要明确程序代码的存放地点。51单片机的程序存储器最大空间为64KB,在一个实际的应用系统中,程序存储器的分布情况可能有以下几种: (1)只使用了片内程序空间。而没有使用片外的程序空间。 其硬件特征为:/EA引脚接VCC;/PSEN引脚为空脚。 这种情况比较简单,全部应用程序都在单片机内部的程序存储器中,我们只要使用编程器将程序代码读出来,保存为一个目标代码文件就可以了。要注意的是,有一些新型的单片机具有加密功能,如果进行了加密,其中的程序代码就是不能读出。 (2)没有使用片内程序空间,片外程序空间由单个存储芯片构成。 其硬件特征为:/EA引脚接GND;/PSEN引脚接到一个存储芯片上。 这种情况下,全
[单片机]
如何对单片机读出目标<font color='red'>代码</font>进行反汇编
以ARM和DSP嵌入式系统为核心的实时仿真平台的开发
简介:针对船舶推进系统研制的新颖ARM+DSP嵌入式仿真平台扬长了ARM与DSP两种嵌入式处理器的特点,集丰富的控制接口和高速运算处理能力于一体。 引言 一个大型的船舶轮机模拟器蕴含着30多个全物理过程的数学模型,涉及千余个实时参变量,通常采用功能分散的DCS网络来实现。即便如此,个别仿真工作站由于模型复杂、任务繁重,难以满足实时仿真的要求。例如,动力推进系统的仿真是一个半实物在环的仿真系统,其中既有虚拟的动力装置即仿真计算机上运行的数学模型,又有真实的控制盘台、物理显示设备,是一种集实时控制和高速运算功能于一体的典型系统。 早期开发成功的SMSC2000型轮机模拟器采用工控机作为仿真计算机,所有数据的处理和输入输出的控制
[单片机]
以ARM和DSP嵌入式系统为核心的实时<font color='red'>仿真</font>平台的开发
变频调速器使用说明_变频调速器故障代码
  变频调速器使用说明   使用变频调速器需要注意以下几点:   安装:安装变频调速器需要在符合安装要求的环境下进行,避免出现潮湿、腐蚀等影响设备使用寿命的情况。安装过程需要严格按照设备说明书中的要求进行。   接线:接线前需要确认变频调速器的参数设置是否正确,以及与被控电机的接线方式是否匹配。接线过程中需要注意安全,避免触电等意外事故的发生。   参数设置:变频调速器的参数设置直接影响设备的使用效果和寿命,需要根据实际情况进行适当的调整。在设置参数时,需要遵循设备说明书中的要求,并结合具体应用场合进行调整。   运行:变频调速器的运行需要严格按照设备说明书中的要求进行,避免超负荷、过温等情况的发生。同时需要定期检查设
[嵌入式]
s3c2440裸机-代码重定位(1.重定位的引入,为什么要代码重定位)
1.重定位的引入(为什么要代码重定位) 我们知道s3c2440的cpu从0地址开始取指令执行,当从nor启动时,0地址对应nor,nor可以像内存一样读,但不能像内存一样写。我们能够从nor上取指令执行。 例子1:当nand启动的时候,我们nand中的前4K指令会变自动加载到sram中去,这时的0地址对应sram。 那么我们的程序如果大于4K,要从nand启动,sram只拷贝了nand中的前4K代码,那么如何解决这个问题呢? 那么就需要重定位代码到sdram中去,sdram的容量较大,又可以直接被cpu访问。 例子2:我们知道,程序含有: 代码段(.text) 数据段(.data):存放初始值不为0的全局变量/静态变量
[单片机]
s3c2440裸机-<font color='red'>代码</font>重定位(1.重定位的引入,为什么要<font color='red'>代码</font>重定位)
英特尔宣布公开霍金辅助说话软件源代码
英特尔曾为知名物理学家史蒂芬-霍金(Stephen Hawking)开发出了一套可以让其 说话 的软件,而该公司日前宣布将在网上免费公布这一软件的源代码。 英特尔希望通过此举鼓励软件开发商用不同的传感器进行实验,并为罹患肌萎缩性侧索硬化症患者和其他出现不同程度运动问题的病患提供更好的帮助。 霍金是英国剑桥大学著名物理学家,被誉为继爱因斯坦之后最杰出的理论物理学家之一。但由于身患肌肉萎缩性侧索硬化症而全身瘫痪、不能发音,他唯一能动的地方只有两只眼睛和3根手指。霍金在21岁被诊断出患有运动神经元疾病肌萎缩侧索硬化症的时候,医生曾预计他只能再活两年,但如今已经73岁高龄的他仍在孜孜不倦的工作。 据悉,
[医疗电子]
HSPICE:诞生40年3次自我革新,锻造电路仿真黄金标准
革新往往是通往成功的必由之路。 “要么创新,要么等死”在科技界广为流传。能够引领创新的组织才能够蓬勃发展。技术也是如此,HSPICE®电路仿真技术很好地说明了这一点。 HSPICE技术并非自诩为行业的黄金标准而停滞不前。多年来,随着仿真难度不断加大,HSPICE也在不断发展。HSPICE的主要变革浪潮在芯片领域发展的过程中发挥了重大影响力。 HSPICE现迎来40岁生日,今天我们将讨论HSPICE将如何继续重塑自己,帮助开发者们设计更高性能的芯片。 HSPICE的三次革新浪潮 电路仿真在确保芯片按预期运行这方面至关重要。毕竟,我们负担不起车辆制动系统、机器人手术设备或24/7生产线等关键应用因芯片问题而
[网络通信]
HSPICE:诞生40年3次自我革新,锻造电路<font color='red'>仿真</font>黄金标准
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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