(1)两个启动文件不一样,难怪出问题
lib文件工程用的启动文件和引用lib用的启动文件不是同一个
芯片的初始化函数initcpu();这个不能丢,初始化都不对
(2)
if(*p1flen)
{
*p1blen_0=*p1blen;
write_dgusii_vp(addr3_1+(*p1flen/2)+(*p1blen/2),stop,1);
write_dgusii_vp(addr3_1,p1_f,(*p1flen/2));
write_dgusii_vp(addr3_1+(*p1flen/2),p1_b,(*p1blen/2));
}
else
// write_dgusii_vp(addr3_1,stop,1);
后面跟前面类似,复制粘贴,只修改了addr 和len,没有修改指针buff,傻逼呀
if(*p2len)
{
ox write_dgusii_vp(addr3_2+(*p2len/2),stop,1);
write_dgusii_vp(addr3_2,p1_f,(*p2len/2));
}
else
write_dgusii_vp(addr3_2,stop,1);
if(*p3len)
{
write_dgusii_vp(addr3_3+(*p3len/2),stop,1);
write_dgusii_vp(addr3_3,p1_f,(*p3len/2));
}
else
write_dgusii_vp(addr3_3,stop,1);
if(*p4len)
{
write_dgusii_vp(addr3_4+(*p4len/2),stop,1);
write_dgusii_vp(addr3_4,p1_f,(*p4len/2));
}
else
write_dgusii_vp(addr3_4,stop,1);
正确的是
if(*p2len)
{
write_dgusii_vp(addr3_2+(*p2len/2),stop,1);
write_dgusii_vp(addr3_2,*p2,(*p2len/2));
}
else
write_dgusii_vp(addr3_2,stop,1);
if(*p3len)
{
write_dgusii_vp(addr3_3+(*p3len/2),stop,1);
write_dgusii_vp(addr3_3,*p3,(*p3len/2));
}
else
write_dgusii_vp(addr3_3,stop,1);
if(*p4len)
{
write_dgusii_vp(addr3_4+(*p4len/2),stop,1);
write_dgusii_vp(addr3_4,*p4,(*p4len/2));
}
else
write_dgusii_vp(addr3_4,stop,1);