您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

利用ISA总线实现对DSP芯片VC5402的软配置

时间:2007-1-20栏目:电子通信论文

,在DOS命令提示符下键入:Coff_both-outexample.out。这时就会生成example.out.c格式的文件。该文件的形式见图三。这个程序只有一段程序,即.text段,这段程序一共由41个字组成,该程序段需要装载到开始地址为0X0080开始的内部RAM中去运行。而这41个字的16进制代码则是最后真正被执行的VC5402的程序代码。
  
  ⑶把example.out.c文件中的代码由HPI写到VC5402的内部RAM中。HOST主机软件,需要用户自己来编写,可以采用VC或VB调用驱动程序来完成,也可以通过TURB0C2.0直接通过I/O操作来完成,甚至可用MASM的汇编语言来编写,程序的主要任务就是读取example.out.c文件和写I/O端口。HOST主机软件的流程图见图四。为了便于读者编程验证,我们用TURBOC2.0编写了名为HOST_HPI.C的主机程序,读者可以运行该程序来读取example.out.c文件,把41字的代码装载入VC5402。使用方法如下:在DOS命令提示符下键入:HOST_HPI.exe后,屏幕将提示输入example.out.c文件的路径,例如:键入:C:\ti\myprojects\example.out.c后,HOST_HPI.exe将完成HOST装载VC5402的任务,如果看到发光二级管不停的闪烁,表明VC5402已经开始正常运行程序了。至此,整个装载过程完毕。
  
  3.HOST_HPI.C源程序
  
  /*HOST_HPI.C*/
  
  #include"stdio.h"
  
  #include"dos.h"
  
  #defineSIZE100
  
  main()
  
  {
  
  FILE*fp;
  
  UnsignedintDSP_RES,HPIC_H,HPIC_L;
  
  UnsignedintHPIA_H,HPIA_L,HPID_H,HPID_L;
  
  char*a,ch,filename;
  
  unsignedinti,j,length,addr,start[10],*data;
  
  printf("Pleaseinputthenamefile:\n");
  
  scanf("%s",filename);/*输入程序文件名*/
  
  if((fp=fopen(filename,"r"))==NULL)/*打开程序文件*/
  
  {
  
  printf("cannotopenfile:\n");
  
  exit(0);
  
  }
  
  DSP_RES=0x240;/*设置DSP各寄存器的I/O地址*/
  
  HPIC_H=0x230;
  
  HPIC_L=0x231;
  
  HPIA_H=0x234;
  
  HPIA_L=0x235;
  
  HPID_H=0x236;
  
  HPID_L=0x237;
  
  outportb(DSP_RES,0x00);/*DSP复位(DSP_RES寄存器置00H)*/
  
  delay(2000);/*延时以保证DSP准确的复位*/
  
  outportb(DSP_RES,0x01);/*DSP跳出复位(DSP_RES寄存器置01H)*/
  
  outportb(HPIC_H,0x00);/*DSP的HPIC寄存器置0000H*/
  
  outportb(HPIC_L,0x00);
  
  i=0;
  
  while(!feof(fp))/*判断程序文件是否结束*/
  
  {
  
  fgets(a,SIZE,fp);
  
  fgets(a,SIZE,fp);
  
  fscanf(fp,"%s",a);
  
  fscanf(fp,"%s",a);
  
  fscanf(fp,"%x",&length);/*读取数据的长度*/
  
  fgets(a,SIZE,fp);
  
  fscanf(fp,"%s",a);
  
  fscanf(fp,"%s",a);
  
  fscanf(fp,"%x",&addr);/*读取程序的开始地址*/
  
  fgets(a,SIZE,fp);
  
  fgets(a,SIZE,fp);
  
  for(j=0;j<length;j++)
  
  fscanf(fp,"%x,",data+j);
  
  start[i]=addr;/*保存程序开始地址*/
  
  for(j=0;j<length;j++)/*为DSP装入数据*/
  
  {
  

上一页  [1] [2] [3] [4] 下一页

下页更精彩:1 2 3 4 下一页