中级会员
 
- 积分
- 202
- 金钱
- 202
- 注册时间
- 2014-9-16
- 在线时间
- 11 小时
|
5金钱
如题,原子哥的串口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_CRITICAL_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<USART_REC_LEN)
{
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的程序参考一下,谢谢
|
最佳答案
查看完整内容[请看2#楼]
回复【7楼】laoguren1122:
---------------------------------
做协议。
参考modbus。
|