通过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
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页)》