- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TMS320C6701(以下简称 C6701)是一款浮点运算 DSP ,适用于需要大量运算且实时
性要求高的场合,如导航解算等。在浮点 DSP 芯片中,C6701 是一款可应用于恶劣环境
并具有高可靠性的产品,因此该型 DSP 芯片虽然推出较早,却依然在某些领域具有重要
应用价值。
DSP 应用程序需脱离开发系统独立工作,在实时 DSP 应用系统中,通常将应用程序
存储在外部非易失性存储器(如 FLASH、EEPROM、PROM 等)中。系统上电后,DSP 将
外部程序存储器的程序代码加载到可高速存取的 RAM 中,加载完成后自动跳转到零地址
开始运行。因此 DSP 程序烧写及自动加载是实时 DSP 系统设计的重要部分。本文采用的
烧写方法不需要格式转换到外部辅助设备 ,同时 DSP 程序不再进行二次加载,简化了烧
写及程序自动加载的过程。
1 加载方案及电路设计
1.1 外围电路设计
C6701 有三种加载模式 :不加载(No Boot)、ROM 加载(Rom Boot)、主机加载
(Host Boot)。这三种加载模式由 C6701 的 BOOTMODE[4 :0]引脚电平设定 ,由这 5 个
引脚的设置共同决定使用何种存储空间映射模式。
在恶劣环境及高可靠应用场合中,可使用不加载方式,也可使用程序从 ROM 中加载
到 DSP 片外高可靠 RAM 存储器中的运行方式。FLASH、EEPROM、PROM 等程序存储
芯片多为 8 位或 16 位 ,在高可靠应用环境中8 位比较常见。本文中设置
BOOTMODE[4 :0]为 01010B ,即程序由外部 8 位程序存储器加载到外部 32 位 SRAM
中,LENDIAN 引脚接高电平。
外部程序存储器选用 FLASH 芯片 AM29LV160 ,32 位 SRAM 芯片选用 ACT—
S512K32V。FLASH 和 SRAM 芯片与 C6701 的硬件连接如图 1 和图 2 所示。
1.2 加载方案设计
在 BOOTMODE[4 :0]为 01010B 的设置下,程序由外部 8 位程序存储器加载到外部
32 位 SRAM 中。C6701 具体加载过程为:DMA 按默认时序从 CE1 地址(0
复制 64 KB 到零起始地址外部 SRAM 芯片中,加载完成后,从零地址处开始执行。
C6701 加载过程与 C6713 稍有不同,C6713 只复制 1 KB 到零起始地址。64 KB 应用程
序可以满足部分应用需求,本例中应用程序小于 64 KB ,C6701 的 DMA 自动加载即可
满足要求。当应用程序大于 64 KB 时,开发人员需要在前 64 KB 中编写将 DSP 应用程序
从外部 ROM 搬移到指定存储空间的二级引导程序,详细过程可参考文献。
2 DSP 应用程序设计
一个 C 语言工程通常包括.c 文件、.cmd 文件、.asm 文件、.h 文件和.lib 文件。其
中.cmd 文件既是内存定位文件,又是链接器命令文件,在链接过程中起着重要作用。链
接时,链接器把所有目标文件中的同名段合并,并按链接器命令文件给各段分配地址。中
断向量表决定加载完成后的 C 语言程序入口 ,通常中断向量表用.asm 文件实现。.cmd
文件和中断向量表的编写是决定 DSP 程序加载成功与否的关键和难点。
2.1 .cmd 文件设计
.cmd 文件的作用是实现应用程序和数据在 DSP 映射存储空间中的定位,存储空间的
分配与硬件设计密切相关。本文 BOOTMODE[4 :0]为 01010B ,即存储空间为MAP0 映
射模式 ,由CE0 片选的 RAM 空间起始地址为 0,由CE1 片选的 FLASH 空间
起始地址为 0,用户程序小于 64KB。.cmd 文件如下:
2.2 中断向量表设计
本文中断向量表如下:
上电或复位完成后,DMA 按默认时序从 CE1 地址复制 64 KB 到零起始地址处,加
载完成后,DSP 从零地址开始执行。本文中断向量表从程序空间 0 地址开始存放,每个
中断向量 8 个字节,总计大小为 0x200 字节。加载完成后程序从 0 地址开始执行,直接
跳转到 DSP 主程序入口~c_int 00 处。
3 烧写程序设计
应用程序编写完成后,需要将程序烧写到程序存储器中。程序烧写主要有以下几种方
法:
①采用通用烧写器进行烧写;
②使用 CCS 中
文档评论(0)