CCS开发DSP综合资料一 - 图文(2)

2019-05-18 22:10

3、DSP应用程序在线编程

DSP应用程序发布后,一般是存放在目标板的Flash中,要将应用程序写入Flash,最容易想到的方法是使用通用编程器,但这要求Flash是可拆卸的,而且最好是DIP 封装的,如果是表贴且焊死在目标板上的,就只有使用在线编程方法了。与一般的MCU在线编程(ISP)不同,TI公司并没有提供工具来完成这一工作,只有用户自己编程来实现。通常有两种方法可以使用:

○ 根据所使用的Flash型号,设计一个专用DSP程序,该程序用仿真器下载至DSP片内RAM运行,然后由它将应用程序目标代码文件写入Flash中。

○ 如果目标板上有USB接口,可以在应用程序中插入一段专门写Flash的代码,在应用程序运行中,由PC机通过USB口将待更新的应用程序传至DSP片内未用RAM区,再由应用程序中的专用程序将其写入Flash覆盖原来的老程序,加电复位后装载运行的就是新程序了。

在TI DSP开发板中烧写Flash程序 实现在FLASH存储器烧写程序一般有以下三种方法:一是通过编程器下载烧写;二是通过开发商提供的专门软件工具+在线仿真器烧写;三是自己编程通过DSP烧写。个人使用的是合众达电子SEED-VPM642开发板,在最新版本例程中提供了专用的烧写软件

SeedConvertTool.exe;但为了实现通用的FLASHBURN烧写,我进行了一些尝试以便了解程序烧录过程及运行情况。

实现Bootloader自引导功能,除了需要生成可执行文件(.out),还需要进行如下步骤: 1、合理配置工程文件(.pjt):需要添加一个boot.asm文件(做搬移时一些初始化和跳转工作),另外工程中.cmd文件也需要为bootloader保留空间。

2、将添加了boot.asm和修改cmd后重新生成的.out文件转化为.hex文件,这时需要一个转换.cmd文件(这个.cmd文件与工程文件中.cmd完全不同,前者是为了指明flash的属性(大小,数据宽度,起始地址和产生文件名)以实现转换.out文件为flash兼容的.hex文件,不能混淆)。

3、最后通过Flashburn工具将.hex文件写入Flash,这时需要转换.cmd文件、.hex文件和FBTC642.out文件。

介绍下各烧录中用到的文件(Flashburn、FBTC.out、hex6x.exe,.cdd和.cmd文件)作用:

1、FBTC.out文件:负责对flash的操作,比如flash的擦除、读、写等。这里主要看个人板子上flash的型号,因为不同型号的flash,它们的操作命令不一样。这样你就必须对FBTC

工程进行修改,然后重新编译生成.out文件。如DM642开发板使用的FBTC文件在安装ccs的根目录下(boards\\evmdm642\\flashburn\\FBTC642)。

2、hex6x.exe:将用户工程生成的.out文件转换为二进制文件的工具,这样Flashburn就可以将.out文件以二进制方式烧进flash中。

3、Flashburn:TI的第三方软件公司 Software Design Sloutions 为TI的DSP用户编写的Flash烧写软件,给软件以CCS为基础,通过运行仿真程序FBTC,将用户程序写入Flash中。

4、.cdd文件:保存Flashburn的设置的。

5、.cmd文件:指明flash属性(大小,数据宽度,起始地址和产生文件名),按照flash要求实现将.out文件到二进制文件的转换。

具体步骤:

1。用户程序中添加boot.asm文件,修改.cmd文件中的MEMORY和SECTION部分(DSP/BIOS环境中直接通过配置CDB或者TCF文件中的System->MEM->ISRAM即可;非DSP/BIOS在cmd文件中添加一个名为BOOT的section,位置为0x000,长度为0x400),在连接仿真器环境下编译生成可执行的.out格式的COFF文件。

2。使用HEx6.exe工具,将工程文件生成的.out文件转换成为HEX的ascii格式的二进制文件。

a.编写一个.cmd文件用于设置hex6x.exe的参数 如果例程中存在,则可用记事本打开如下: SeedH264loopback.out -a

-memwidth 8 -boot

-bootorg 0x90000400

-bootsection .boot_load 0x90000000

ROMS {

FLASH: org = 0x90000000, len = 0x400000, romwidth = 8, files = {SeedH264Loopback.hex} }

b.生成二进制文件: 两种方法:

i)将.cmd文件和.out文件放在同一目录下,双击convert.bat。具体操作是将三个文件复制到一起分别是:hex6x.exe和.cmd以及.bat在编辑修改其中的内容(改文件名),最后运行批处理文件即可;

ii)通过windows命令窗口键入命令进行转换。将.out文件,cmd文件,和hex6x.exe文件放在同一个文件夹内。如C:\\DSP_BURN。在dos窗口中键入cd C:\\DSP_BURN将路径改为“C:DSP_BURN>”,再键入“hex6x.exe XX.cmd”结果生成“XX.hex”文件 在DOS下进入程序保存的目录,直接运行(hex6x.exe)如

D:\\ti\\myprojects\\a_video_process_XY>hex6x hex6x.cmd文件得到二进制文件(可以从DOS状态看到),此时就得到了seedvpm642_vedioloop_ahex.hex(文件名可能不同)用于烧写的文件。

注意:hex6x.exe的版本,如果版本太低,在转换过程中会出现问题。

二、改写FBTC工程,这个CCS工程编译而成的文件主要是对flash的操作,其作用相当于一个搬运工具,将hex文件由PC搬入Flash中。这里要注意自己的CCS版本和flash的型号,编译完成会得到一个FBTC642.out文件。对于不同的DSP系统板,TBTC工程主要修改DM642teb.h、FBCmd.c、FBTC_DM642.c和FBurnCmd.c等文件。 三、打开开发板上电,启动ccs软件,加载gel文件并连接(connect)硬件仿真器。 四、打开FlashBurn软件,重新对主界面中“Conversion Cmd”、“File to burn”、“Fbtc program file”的三个文件的路径重新设置,分别点击“Browser”按钮,找到事先创建的相应目录下的三个文件“.cmd”、“.hex”、“FBTC642.out”;然后保存关闭cdd文件。

五、点击 flashburn软件中的“Program”依次“download FBTC”(下载),“Erase Flash”(擦除),“show memory”(查看),“Program flash”(编程)。完毕后拔出仿真器,关电源重启即可

成功实现烧写。

更多介绍请见:http://blog.sina.com.cn/s/blog_48fc29af0100n4ye.html

烧写过程中遇到的问题

使用合众达电子SEED-VPM642例程中flashburn程序需要用到的FBTC文件会出现提示:

## 06/29/06 11:35:02

Attempt to create Code Composer Studio... CCS created OK.

Either I cannot load FBTC, or the FBTC is not compatible with this version of FlashBurn. Verify that the FBTC file is compatible with target and this version of FlashBurn.

这是由于烧写所需要的文件存放路径不同引起的,因为合众达的工程师在开发这个例程的时候保存配置文件是按照他自己的存放来保存的(F:改为你存放的例程文件夹目录地址),所以你需要修改。最方便的办法就是重新浏览各个配置文件的地址。然后利用flashburn打开CDD配置文件又会提示: ## 06/30/06 12:53:44

Attempt to create Code Composer Studio... CCS created OK. Req. FBTC Load. FBTC Download OK.

Failed to get msg storage addr Cannot load FBTC Program

这是由于该例程提供的FBTC642文件(大概22k)应该只能用于CCS3.0以下;而个人安装的是CCS3.3版本的,因此提示flashburn和FBTC不兼容。 解决方法有2种:重新安装低版本的CCS软件;使用兼容的FBTC。

个人经过认真的分析和查阅网上资料,用一下午的时间终于解决这个问题了,最后实现了利用flashburn烧写将工程的可执行文件生成的二进制文件.哈哈

DSP/BIOS详解入门 DSP/BIOS是TI公司特别为其TMS320C6000TM,TMS320C5000TM和TMS320C28xTM系列DSP平台所设计开发的一个尺寸可裁剪的实时多任务操作系统内核,是TI公司的Code Composer StudioTM开发工具的组成部分之一。

DSP/BIOS 实时操作系统介绍 TI公司的DSP开发软件包括集成开发系统(CCS), 实时操作系统(DSP/BIOS),第三方算法库标准(eXpressDSP)。下面重点介绍DSP/BIOS。 DSP/BIOS是一个用户可剪裁的实时操作系统,主要由三部分组成:多线程实时内核;实时分析工具;芯片支持库。利用实时操作系统开发程序,可以方便快速的开发复杂的DSP程序。操作系统维护调度多线程的运行,只需将定制的数字信号算法作为一个线程嵌入系统即可;芯片支持库帮助管理外设资源,复杂的外设寄存器初始化可以利用直接图形工具配置;实时分析工具可以帮助分析算法实时运行情况。 DSP/BIOS以模块化方式提供给用户对线程、中断、定时器、内存资源、所有外设资源的管理能力都可以根据需要剪裁。实际应用中需要的定制算法作为一个线程插入DSP/BIOS的调度队列,由DSP/BIOS进行调度。 使用前需阅读了解DSP/BIOS用户手册和DSP/BIOS设备驱动的开发与使用,具体内容包括DSP/BIOS概述、程序生成、监测、线程调度、存储器和低级函数、I/O概述和管道、流I/O和设备驱动;设备驱动开发工具包(DDK)简介、DSP/BIOS设备驱动的结构和使用、使用DSP/BIOS设备驱动、GIO类驱动、微型驱动的开发步骤、IOM接口、PIO适配器、LIO模型到IOM模型的移植和GIO API的ASYNC扩展。

DSP/BIOS入门

1 DSP/BIOS简介

DSP/BIOS是CCS中集成的一个简易的嵌入式实时操作系统,能够大大方便用户编写多任务应用程序。DSP/BIOS拥有很多实时嵌入式操作系统的功能,如任务的调度,任务间的同步和通信,内存管理,实时时钟管理,中断服务管理等。有了它,用户可以编写复杂的多线程程序,并且会占用更少的CPU和内存资源。

DSP/BIOS是一个可用于实时调度、同步,主机和目标机通信,以及实时分析系统上的一个可裁减实时内核,它提供了抢占式的多任务调度,对硬件的及时反应,实时分析和配置工具等。同时提供标准的API接口,易于使用。它是TI的eXpressDSP实时软件技术的的一个关键部分。


CCS开发DSP综合资料一 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2015年生物试剂现状研究及发展趋势

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: