STR912--自编TFTP(服务器模式)IAP下载
2009-05-13 10:45
253 查看
在ST网站上下到的STR912IAP的示例,有两种,一种是用的HTTP方式,例外一种是DCHP+TFTP方式,前一种没什么好说的,后一种其实是网上常看到的建立无盘工作站的原理,不懂的,网上可以搜搜看看。
第二种方法我个人觉得太复杂,且不适用。它的TFTP是采用客户端的模式,我于是想到采用TFTP服务器模式,不是更简单,只用在dos下敲tftp命令就可以下载了。我觉得TFTP协议是我至今为止看到过最简单的TCP/IP应用层协议(传输层采用UDP),说简单点就是你发一个数据包,下面发一个回应,每个数据包有个块编号,简单吧。部分代码
/*******************************************************************************
* Function Name : tftp_rcv_packet
* Description : TFTP数据报处理函数
* Input1 : TFTP数据报头指针
* Return : 0
*******************************************************************************/
int tftp_rcv_packet(unsigned char *skb)
{
struct tftphdr *tftp_hdr;
tftp_hdr = (struct tftphdr *)skb;
switch (HTONS(tftp_hdr->th_opcode)) {
case RRQ:
break;
case WRQ:
tftp_rcv_wrq(skb);
break;
case DATA:
tftp_rcv_data(skb);
break;
case ACK:
break;
case ERROR:
break;
default:
break;
}
return 0;
}
值得一题的是STR912的擦写时间,主flash一个扇区(64K),要1S多,这样会导致TFP请求超时。
程序最后下载成功。下面是这个问题没?我是上传用sniffer抓的网络包
第二种方法我个人觉得太复杂,且不适用。它的TFTP是采用客户端的模式,我于是想到采用TFTP服务器模式,不是更简单,只用在dos下敲tftp命令就可以下载了。我觉得TFTP协议是我至今为止看到过最简单的TCP/IP应用层协议(传输层采用UDP),说简单点就是你发一个数据包,下面发一个回应,每个数据包有个块编号,简单吧。部分代码
/*******************************************************************************
* Function Name : tftp_rcv_packet
* Description : TFTP数据报处理函数
* Input1 : TFTP数据报头指针
* Return : 0
*******************************************************************************/
int tftp_rcv_packet(unsigned char *skb)
{
struct tftphdr *tftp_hdr;
tftp_hdr = (struct tftphdr *)skb;
switch (HTONS(tftp_hdr->th_opcode)) {
case RRQ:
break;
case WRQ:
tftp_rcv_wrq(skb);
break;
case DATA:
tftp_rcv_data(skb);
break;
case ACK:
break;
case ERROR:
break;
default:
break;
}
return 0;
}
值得一题的是STR912的擦写时间,主flash一个扇区(64K),要1S多,这样会导致TFP请求超时。
程序最后下载成功。下面是这个问题没?我是上传用sniffer抓的网络包
相关文章推荐
- 开发板tftp下载文件
- LINUX下tftp安装步骤及tftp下载内核到开发板的方法
- mini2440基于uboot的TFTP下载教程
- uboot通过tftp下载镜像文件
- busybox tftp上传下载命令
- OK6410 tftp下载内核、文件系…
- linux 下载tftp报错 缺少库文件libssl0.9.8
- 开发板s5pc100搭建环境(串口发送命令,tftp下载)
- 利用tftp和nfs下载文件到开发板
- 用TCP实现tftp的下载上传功能
- secureCRT利用 Zmodem 和 TFTP 上传/下载文件
- 嵌入式linux学习笔记二--用tftp下载镜像文件到开发板
- linux开发环境搭建(2)-tftp下载内核
- UBOOT 通过 TFTP 下载 uImage
- Stm32IAP使用securcrt ymodem协议 下载程序
- tftp--实现服务器与客户端的下载与上传
- 篇二、tftp下载不成功原因及NFS挂载不成功原因分析
- 配置tftp服务以及开发板中通过tftp下载文件
- 在开发板上使用tftp命令下载服务器上的文件
- u-boot不能用tftp下载文件的解决方法积累