你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 603|回复: 1

【中文文档】AN3226_基于STM32F107以太网应用升级应用手册

[复制链接]

1347

主题

1124

回帖

0

蝴蝶豆

管理员

最后登录
2020-12-9
发表于 2019-4-11 12:56:00 | 显示全部楼层 |阅读模式
STM32F107 通过以太网实现在应用中编程 (IAP)

前言

本应用笔记的目标读者为使用 STM32F107 微控制器的开发者。提供了如何使用 STM32F107以太网接口实现在应用中编程 (IAP)的解决方案。

在 LwIP TCP/IP 协议栈上提供了两种可行的解决方案:
● 使用 TFTP (简单文件传输协议)的 IAP
● 使用 HTTP (超文本传输协议)的 IAP

1 IAP 概述

1.1 工作原理

在应用中编程(IAP)是一种在现场通过 MCU 的通信接口(例如 UART,USB,CAN 和以太网等)进行固件升级的方式。

当启动微控制器时,您可以选择让它进入 IAP 模式以执行 IAP 代码,或者进入正常模式来开始执行应用代码。IAP 代码和应用程序代码都存在于微控制器的嵌入式 Flash 中。通常 IAP 代码被存储在 MCU Flash 的前几页,用户应用代码占据剩余的 Flash 区域。

下图说明了 IAP 操作流程:

1.png

1.2 使用 MCU 以太网接口实现 IAP

当以太网可用时,它通常是在嵌入式应用中实现 IAP 功能的更好的接口。其优点是:

● 高速通信接口 (10/100Mbit/s)

● 通过网络 (LAN 或者 WAN)进行远程编程

● TCP/IP 协议栈上的标准应用协议可用于实现 IAP,比如:FTP、 TFTP、 HTTP……

1.3 在 STM32F107 上通过以太网实现 IAP

本应用笔记说明了两种使用以太网通信外设在 STM32F107 上实现 IAP 的解决方案:

● 使用 TFTP (简单文件传输协议)的 IAP

● 使用 HTTP (超文本传输协议)的 IAP两种解决方案都运行在 LwIP 协议栈 (v1.3.1) 上,它是 TCP/IP 协议套件的一种轻量级实现。

1.3.1 使用 TFTP 实现 IAP 的方法

使用 TFTP 实现 IAP 的方法广泛应用于需要固件升级能力的嵌入式应用(比如在嵌入式 Linuxbootloader 中)。

TFTP 是工作在 UDP 传输层上的简单文件传输协议,它主要应用在 LAN 环境中。它基于客户端 / 服务器体系结构,其中客户端向文件服务器请求文件传输 (读或写操作)。

在我们的例子中,在 LwIP 栈上实现了一个简单的 TFTP 服务器,该服务器只处理来自 PCTFTP 客户端的写请求。

1.3.2 使用 HTTP 实现 IAP 的方法

通过 HTTP 协议进行固件更新没有使用 TFTP 常见,但是当需要通过互联网进行远程编程时,它是一种有用的解决方案。在这种情况下,需要 TCP 传输协议来确保最优操作。

工作在 TCP 上的 HTTP,提供了一种用 HTML 形式从 web 客户端(例如:Mozilla Firefox 或Microsoft Internet Explorer)发送二进制文件的方法,称作 HTTP 文件上传 (RFC 1867)。

...........

想了解更多,请下载原文阅读

回复

使用道具 举报

6

主题

930

回帖

133

蝴蝶豆

金牌会员

最后登录
2020-12-9
发表于 2019-4-11 13:17:50 | 显示全部楼层
收藏
回复 支持 反对

使用道具 举报

请先关注话题后回复
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版