用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

双片ADSP-21160系统的程序加载设计

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:28:15
片映射到0x00200000
}

下是对共享的外部存储区的声明,比如外挂的SRAM等器件的存储空间
{ OUTPUT(shared.sm)
 SECTIONS
 { dxe_dmex
  { INPUT_SECTIONS( shared.doj(sram_da) )
  } >mem_dmex
 }
}
PROCESSOR ID1  //处理器 ID1 的段定义.
{   LINK_AGAINST(ID2.dxe)
    OUTPUT(ID1.dxe)
    SECTIONS
    {  dxe_rth
  { INPUT_SECTIONS( ID1.doj(seg_rth) $LIBRARIES(seg_rth))
  } >mem_rth
  dxe_pmco
  { INPUT_SECTIONS( ID1.doj(seg_pmco) $LIBRARIES(seg_pmco))
  } >mem_pmco
  dxe_pmda
  { INPUT_SECTIONS( ID1.doj(seg_pmda) $LIBRARIES(seg_pmda))
  } >mem_pmda
  dxe_dmda
  { INPUT_SECTIONS( ID1.doj(seg_dmda) $LIBRARIES(seg_dmda))
  } >mem_dmda
 }
}

PROCESSOR ID2  //处理器 ID2 的段定义
{
 LINK_AGAINST(ID1.dxe)
    OUTPUT(ID2.dxe)
     SECTIONS
    { dxe_rth
  {INPUT_SECTIONS( ID2.doj(seg_rth) $LIBRARIES(seg_rth))
  } >mem_rth
  dxe_pmco
  { INPUT_SECTIONS( ID2.doj(seg_pmco) $LIBRARIES(seg_pmco))
  } >mem_pmco
  dxe_pmda
  {INPUT_SECTIONS( ID2.doj(seg_pmda) $LIBRARIES(seg_pmda))
  } >mem_pmda
  dxe_dmda
  {INPUT_SECTIONS( ID2.doj(seg_dmda) $LIBRARIES(seg_dmda))
  } >mem_dmda
 }
}

    通过以上的定义,就实现了在一个LDF文件中声明了两片AD21160的存储空间,以及多片存储区映射(MMS),和共享片外存储区。

3. 烧写双片SHARC的流程实例

    新建一个工程,采用以上的LDF文件声明。
    然后编写两个.asm文件:ID1.asm,ID2.asm。
    这两个.asm文件都有独立的中断向量表,可以独立执行各自的程序。

    例如,可以在ID1.asm中让FLAG0和FLAG1输出反相的方波,在ID2.asm中让FLAG2和FLAG3输出另一个频率的反相的方波。

    编译通过后,可以找到新生成的可执行文件ID1.DXE,ID2.DXE。

    在VISUAL DSP++集成环境中,选择工程属性(Project Option),改变如下:

javascript:window.open(this.src);" style="cursor:pointer;"/>

1.如上图,把Type由DSP executable file改为Loader file;

javascript:window.open(this.src);" style="cursor:pointer;"/>

    2.如上图,选定Multiprocessor,就可以在被激活的选择框中选择要使用的.DXE文件。在1处,选择ID1.DXE;在2处,选择ID2DXE。这意味着将对第一片加载ID1.DXE,对第二片加载ID2.DXE。Kernel file选择默认的160_prom.dxe,该文件是由AD提供的加载核文件。在Output file中设定输出文件名(在这里是Two_SHARC.ldr);选定ASCII格式,将产生16bit的数据文件;boot type选定eprom,这将产生适合从eprom中加载的数据文件。

    3.一切完成后,进行一次编译。就可以在DEBUG文件夹里找到生成的Two_SHARC.ldr。

    4.接好仿真器后,打开FLASH烧写程序,把要烧结的文件名添加到程序中。运行FLASH烧结程序,就把两片加载程序烧到FLASH里了。

    5.关闭VisualDSP,拔掉仿真器,重新启动目标板,按下RESET,通过示波器观测第一片DSP的FLAG0和FLAG1,和第二片DSP的FLAG2和FLAG3,检查是否有对应的反相方波输出。如果有,说明双片AD21160加载成功。

4. 结 束 语

    美国AD公司的SHARC系列DSP的多片级连能力是其特点之一,从本文介绍的两片系统加载方案可以推知多片SHARC系列DSP芯片系统的加载也是类似的。多片系统同样也要注意系统的硬件架构,包含多片DSP芯片之间的连接方式,总线仲裁机制,以及与FLASH MEMORY之间的连接。软件上对.LDF的设置是关键,它决定了多片DSP之间的相互访问的存储分区。多片SHARC系统会大大发挥该系列芯片强大的浮点处理能力,在通信,雷达等方面有重大应用。

作者联系:hanwei2004@sohu.com



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:11,390.63000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号