保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

ADSP-218X的IDMA接口自举设计


218X程序编完后,用ADI公司提供的VisualDSP++ for 21xx软件将它编译生成218X的目标文件,后缀名为DEX。在VisualDSP++ for 21xx软件中的还有一个转换工具elfsp121,它将218X目标代码转换成便于IDMA下载的文件。如果218X的目标文件为EXAMPLE1.DEX,可以按下面格式调用。

c:EXAMPLE1.DXE DSP.OUT -idma

其中的开关-idma表示要将EXAMPLE1.DXE转换为IDMA下载格式,输出文件为DSP.OUT。下面简单地表示一下DSP.OUT文件格式。

0040

4000

FFFF

FFFE

可以看出它不是C语言格式,因此要将DSP.OUT改写成DSP.H。它内含C语言格式的常量数组,供主机下载程序代码到218X使其自举。

下面对DSP.H文件内容进行编写,并分析其结构。

注:在←及以后的内容DSP.H文件中是没有的,只是帮助说明。

#define MAX_CODE_LEN 257

unsigned short DSP_ROM_CODE[MAX_CODE_LEN]={←32位机使用short,而16位机要将short改为int 0x0040, ←当前一段要下载的代码长度为0x40,不包含IDMA控制字

0x4000, ←IDMA控制字。先初始化数据空间,地址为数据空间的0x0000,其中4表示访问的是DM数据空间

0xFFFF, ←第一个数据字

0xFFFE, ←第二个数据字

…………

0x001F,←第0x40个数据字

0x00B8,←当前一段要下载的代码长度

0x0001,←IDMA控制字。下面下载程序代码至PM程序空间,起始地址为0x0001

0x0000,←第1个程序代码的高16位一个程序代码由24位的字组成,因此要下载两个字

0x0000,←第1个程序代码的低8位

…………

0x000F,←最后一个程序代码的低8位,相当于下载的第0xB8个程序字

0x0002,←当前段长度为2,218X的IDMA口程序下载最后是对程序空间地址0写代码。

0x0000, ←IDMA控制字。下载程序代码至PM程序空间,起始地址为0x0000,一写完,218X就开始运行程序

0x1803,

0x000F,

0xffff};←0xffff表示下面没有数据要主机下载了

从上面描述可以看出,主机下载218X程序时,要多个段。如果218X程序在数据空间定义了常量数组,就要先下载数据段,然后下载程序段最后再对程序空间地址0x0000写代码。如果218X工作在IDMA接口自举模式下,在系统复位后,218X并不执行程序。一旦主机对程序空间地址0x0000写了代码,218X才开始运行程序。
(凹丫丫范文网fanwen.oyaya.net收集整理)
4 主机下载218X程序

在主机的C程序中,将DSP.H作为头文件,DSP_ROM_CODE是填充218X程序的常量数组,数组长度由MAX_CODE_LEN宏定义。由主机将DSP_ROM_CODE中的数据按其格式下载

《ADSP-218X的IDMA接口自举设计(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/167394.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。