求问IAP串口例的一段代码

2019-07-20 18:26发布

//appxaddr:ó|óÃ3ìDòμÄÆeê¼μØÖ·
//appbuf:ó|óÃ3ìDòCODE.
//appsize:ó|óÃ3ìDò′óD¡(×Ö½ú).
void iap_write_appbin(u32 appxaddr,u8 *appbuf,u32 appsize)
{
        u32 t;
        u16 i=0;
        u32 temp;
        u32 fwaddr=appxaddr;//μ±Ç°D′èëμÄμØÖ·
        u8 *dfu=appbuf;
        for(t=0;t<appsize;t+=4)
        {                                                  
                temp=(u32)dfu[3]<<24;   
                temp|=(u32)dfu[2]<<16;   
                temp|=(u32)dfu[1]<<8;
                temp|=(u32)dfu[0];          
                dfu+=4;//&#198;&#171;ò&#198;4&#184;&#246;×&#214;&#189;ú
                iapbuf[i++]=temp;            
                if(i==512)
                {
                        i=0;
                        STMFLASH_Write(fwaddr,iapbuf,512);
                        fwaddr+=2048;//&#198;&#171;ò&#198;2048  512*4=2048  &#213;yo&#195;ê&#199;2K
                }
        }
        if(i)STMFLASH_Write(fwaddr,iapbuf,i);
}


这段代码里的<<24 <<16<<8 <<0是什么意思

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。