[mw_shl_code=applescript,true]u16 iapbuf[512];
//appxaddr:应用程序的起始地址
//appbuf:应用程序CODE.
//appsize:应用程序大小(字节).
void iap_write_appbin(u32 appxaddr,u8 *appbuf,u32 appsize)//2556
{
u16 t;
u16 i=0;
u16 temp;
u32 fwaddr=appxaddr;//当前写入的地址
u8 *dfu=appbuf;
for(t=0;t<appsize;t+=2)
{
temp=(u16)dfu[1]<<8;
temp+=(u16)dfu[0];
dfu+=2;//偏移2个字节
iapbuf[i++]=temp;
if(i==512)
{
i=0;
STMFLASH_Write(fwaddr,iapbuf,512);
fwaddr+=1024;//偏移1024 16=2*8.所以要乘以2.
}
}
if(i)STMFLASH_Write(fwaddr,iapbuf,i);//将最后的一些内容字节写进去.
}
[/mw_shl_code]
当appxaddr:应用程序的起始地址数值超过 0x08040000时,不工作,啥原因?
小的时候没问题。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
不知道放在那个SD卡的APP到底有啥要求?
一些接口的初始化等 ,还有内存初管理等
我发现跳入我的程序以后,在初始化定时器立马挂掉
TIM3_Int_Init(999,71); //1KHZ 定时器1ms
TIM6_Int_Init(999,719); //10ms中断
一周热门 更多>