程序如下 uint16 tmpR[128],tmpG[128]; void write_to_flash(void) { Bptr=(uint8*)tmpR; SelSector(10,10); vIntUart_TransmitByte(0,(uint8)(paramout[0]&0xff)); RamToFlash(0x18000,(uint32)(Bptr),256); // 写数据到扇区10 BlankCHK(10,10); } 由于对Flash读写不成功我就读出了IAP程序的返回值它总是02(地址未对齐到字 我觉得很费解!) IAP程序如下 void RamToFlash(uint32 dst, uint32 src, uint32 no) { paramin[0] = IAP_RAMTOFLASH; // 设置命令字 paramin[1] = dst; // 设置参数 paramin[2] = src; paramin[3] = no; paramin[4] = IAP_FCCLK; (*IAP_Entry)(paramin, paramout); // 调用IAP服务程序 } copy的模板 |