我再ti例程Flash2808_API_V302中调试:
在dsp280x在线烧写时调用flashapi功能函数: Status = Flash_Program(Flash_ptr,&i,Length,&FlashStatus);,其中的Length长度大小是何种要求呢,我在程序中遇到问题如下:当定义Length >=7时程序提示烧写失败进入Example_Error但是被烧写的空间里边的内容也对是0xFFEE,但是当Length<7时,程序烧写一切正常,这是为什么?
难道Length 不是定义只要大于被烧写的数据长度就可以吗?,请求大侠们指教!!!
Flash_ptr = Sector[2].StartAddr;
i = 0xFFEE;
Length = 7;
Status = Flash_Program(Flash_ptr,&i,Length,&FlashStatus);
if(Status != STATUS_SUCCESS)
{
Example_Error(Status);
}
i = 0xFFEE;
Status = Flash_Verify(Flash_ptr,&i,Length,&FlashStatus);
if(Status != STATUS_SUCCESS)
{
Example_Error(Status);
}
Hank Zhao:
您好,只写一个数据的话Length的值应该为1,如果要写多个数据至少应该定义一个Length长度的数组,为其分配地址空间。将数据i = 0xFFEE写入Flash_ptr没有问题,但它之后的地址空间是不确定的,容易出错。