打印

求助!关于44b0的flash操作!!!

[复制链接]
1308|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
snowtx|  楼主 | 2008-2-22 12:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在flash程序中,有这样的一段语句:
int DownloadData(void)
{
    int i;
    U16 checkSum=0,dnCS;
    U32 fileSize=10;
    U8 *downPt;

    downPt=(U8 *)downloadAddress;
   
    Uart_Printf("downloadAddress=%x\n",downloadAddress);

    Uart_Printf("Download the plain binary file(.BHC) to be written\n");
    Uart_Printf(".BHC file format: <n+6>(4)+(n)+CS(2)\n");
    Uart_Printf("To transmit .BHC file    : wkocm2 xxx.BHC /1 /g /d:1\n");
    Uart_Printf("Or, to transmit .BIN file: wkocm2 xxx.BIN /1 /d:1\n");
    Uart_Printf("Download methods: COM:8Bit,NP,1STOP\n");
 
    Uart_Printf("\nSTATUS:");
    rINTMSK=~BIT_GLOBAL;
    RdURXH0(); //To remove overrun error state.

    i=0;    
    while(i<fileSize)
    {
    while(!(rUTRSTAT0&0x1));
    *(downPt+i)=RdURXH0();
    if(i==3)
    {
        fileSize=*((U8 *)(downloadAddress+0))+
        (*((U8 *)(downloadAddress+1))<<8)+
        (*((U8 *)(downloadAddress+2))<<16)+
        (*((U8 *)(downloadAddress+3))<<24);
    }
    
    if((i%1000)==0)
        WrUTXH0('#');
    i++;
    }

    downloadProgramSize=fileSize-6;

    for(i=4;i<(fileSize-2);i++)                                                                        
    {
        checkSum+=*((U8 *)(i+downloadAddress));
    }

    dnCS=*((U8 *)(downloadAddress+fileSize-2))+
          (*( (U8 *)(downloadAddress+fileSize-1) )<<8);

    if(checkSum!=dnCS)
    {
        Uart_Printf("Checksum Error!!! MEM:%x DN:%x\n",checkSum,dnCS);
    return 0;
    }

    Uart_Printf("\nDownload O.K.\n");
    return 1;
}
这个是把串口数据传到内存中的一短代码,对吧?
可是里面的这个语句确定了文件大小:
fileSize=*((U8 *)(downloadAddress+0))+
        (*((U8 *)(downloadAddress+1))<<8)+
        (*((U8 *)(downloadAddress+2))<<16)+
        (*((U8 *)(downloadAddress+3))<<24);
也就是说BIN文件的前四位包含了文件的大小信息?请高手回答对不对!
而语句:
    dnCS=*((U8 *)(downloadAddress+fileSize-2))+
          (*( (U8 *)(downloadAddress+fileSize-1) )<<8);
说明了BIN文件的后两位包含了文件的相加和信息,对不对,请指教!!!



相关帖子

沙发
dld2| | 2008-2-22 13:55 | 只看该作者

lz不是很明白吗

有啥好问的?!

使用特权

评论回复
板凳
snowtx|  楼主 | 2008-2-23 00:06 | 只看该作者

snowtx

呵呵,以前不了解,学习的时候突然发现了不敢确定!
还有什么别的像这样的小知识,请各位大虾给小弟说说,不胜感激!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

66

帖子

0

粉丝