如题,原子哥的串口IAP已经试验通过,现想将其修改为以太网IAP操作,使用UDP进行传输。
但是有几个问题。
1)串口可以通过中断将大容量APP写进FLASH里面,非常顺利
u8 USART_RX_BUF[USART_REC_LEN] __attribute__ ((at(0X08050000)));
u32 FLASH_APPX_ADDR=0x08050000;
void USART1_IRQHandler(void) //?®??1????·??????ò
{
u8 Res;
#ifdef OS_CRI
tiCAL_METHOD //????OS_CRITICAL_METHOD?¨????,???÷????ucosII??.
OSIntEnter();
#endif
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //????????(????????????±?????0x0d 0x0a?á??)
{
Res =USART_ReceiveData(USART1);//(USART1->DR);//????????????????
if(USART_RX_CNT
{
FLASH_Unlock();//????
FLASH_DataCacheCmd(DISABLE);//FLASH????????,±???????????????
FLASH_ProgramByte(FLASH_APPX_ADDR,Res);
FLASH_DataCacheCmd(ENABLE);//FLASH?????á??,????????????
FLASH_Lock();//????
FLASH_APPX_ADDR +=1;
USART_RX_CNT++;
}
/*{
USART_RX_BUF[USART_RX_CNT]=Res;
USART_RX_CNT++;
}
*/
}
#ifdef OS_CRITICAL_METHOD //????OS_CRITICAL_METHOD?¨????,???÷????ucosII??.
OSIntExit();
#endif
}
#endif
但在原子哥的UDP的接收程序里,没有中断操作,只有系统自带的接收函数,它是怎么接收数据的,
不知道怎么修改,在任务中执行,怎么将其接收进FLash里啊,
netconn_recv(udpconn,&recvbuf);
谁有以太网UDP进行IAP的程序参考一下,谢谢