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

通过JTAG口对DSP外部Flash存储器的在线编程


依次读入编程数据,并由DSP将其写入到其外部Flash中,程序段如下:
  
  while(data_flag=0){
  
  display_count++;
  
  if(display_count==DISPLAY_SIZE){
  
  display_count=0;
  
  /*printf(".");*/
  
  }
  
  for(i=0;i<FLASH_WRITE_SIZE;i++){
  
  j=fscanf(hex_fp,“%x”,&data);/*从文件中读入编程数据,每次取一个字节*/
  
  if(j==EOF||j==0){
  
  data_flag=1;
  
  break;
  
  }
  
  host_buffer[i]=data;
  
  checksum+=data;
  
  flash_addr+=1;
  
  if(falsh_addr>0x90020001){
  
  printf("ERROR:beyondvalidflashaddress!");
  
  }
  
  }
  
  //写入Flash
  
  ptr=(unsignedvolatilechar*)(flash_addr-0x80);
  
  if(data_flasg==0){
  
  length=FLASH_WRITE_SIXZE;
  
  flash_page_prog(host_buffer,ptr,length);
  
  printf("Programmingaddress:%x",flash_addr-0x
  
  
  
  80);
  
  }
  
  }
  
  注意:所采用的十六进制文件应使用“Hex6x.exe”命令,并在hex.cmd命令文件中使用“-a”参数生成的文件;指定的存储器长度必须能被128整数(len参数能被128整除)。因为AT29LV010A以扇区为操作单位,每个扇区为128字节,共1024个扇区,其格式如下:
  
  …
  
  -maphex.map
  
  -a
  
  -image
  
  -zero
  
  -memwidth8
  
  ROMS
  
  {
  
  FLASH:org=0x90000000,len=0x20000,romwidth=8,files={test.hex}
  
  }
  
  …
  
  5仿真运行
  
  将上述程序组成一个完整的程序,经过编译、链接(Project/Build命令)后,使用“File/LoadProgram...”将编程代码Load到DSP中,运行程序,经过几分种后即编程完毕。
  
  结语
  
  对DSP外部Flash编程虽不是一项关键技术,但它在整个DSP嵌入式系统开发中却有着至关重要的作用。

《通过JTAG口对DSP外部Flash存储器的在线编程(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/174754.html

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