iap_write_appbin函数无法写数据

2019-07-21 05:53发布

[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时,不工作,啥原因?
小的时候没问题。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
lancker
1楼-- · 2019-07-22 14:13
正点原子 发表于 2018-1-7 01:26
恩,换大容量的战舰试下。
然后,还不行的话,换个芯片试试吧

不知道放在那个SD卡的APP到底有啥要求?
一些接口的初始化等 ,还有内存初管理等

我发现跳入我的程序以后,在初始化定时器立马挂掉
        TIM3_Int_Init(999,71);        //1KHZ 定时器1ms
        TIM6_Int_Init(999,719);        //10ms中断

一周热门 更多>