AN3226.fm

Similar documents
STM32Cube IAP

STM32Cube_FW_F4?RTC??????BUG

ch09.PDF

Chapter #

ST template WORD

ST template WORD

<4D F736F F F696E74202D20A1B6CFEEC4BFD2BB20B3F5CAB6BCC6CBE3BBFACDF8C2E7A1B7C8CECEF1C8FD20CAECCFA A1A24950D0ADD2E9BACD4950B5D8D6B72E707074>

中科曙光云盘系统

联想天工800R路由器用户手册 V2.0

LSR-120 Router

UDP 8.2 TCP/IP OSI OSI 3 OSI TCP/IP IP TCP/IP TCP/IP Transport Control Protocol TCP User Datagram Protocol UDP TCP TCP/IP IP TCP TCP/IP TC

STM32F3??ADC??????????ADC

IP505SM_manual_cn.doc

1 产 品 简 介 特 性 包 装 产 品 外 观 电 脑 系 统 要 求 硬 件 安 装 软 件 安 装 软 件 操 作 IP

Microsoft Word SRS - 軟體需求規格.doc

D-link用户手册.doc

标题

一、

计算机网络实验说明

目 彔 1. 准 备 工 作 登 彔 设 置 功 能 说 明 实 时 监 控 基 本 控 制 功 能 设 置 画 质 调 节 彔 像 与 抓 拍

2012年报.xls

untitled

User Guide

证券期货市场之主要诚信规范

标题

飞鱼星多WAN防火墙路由器用户手册

叮当旺业通

目录

Data Server_new_.doc

ST template WORD

11N 无线宽带路由器

Microsoft Word - ch02.doc

IP Camera

厦门创兴科技股份有限公司

2013 Hewlett-Packard Development Company, L.P. 法 律 通 告 本 文 包 含 的 信 息 如 有 变 更, 恕 不 另 行 通 知 有 关 HP 产 品 和 服 务 的 全 部 保 修 和 保 证 条 款, 均 已 在 相 关 产 品 和 服 务 所

Microsoft Word - 改版式网页全文.doc

Microsoft Word - PA168XSIPPhoneWebSetupGuideGB.doc

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

XXXXXXXX

untitled

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD

第 1 章 概 述 1.1 计 算 机 网 络 在 信 息 时 代 中 的 作 用 1.2 计 算 机 网 络 的 发 展 过 程 *1.2.1 分 组 交 换 的 产 生 *1.2.2 因 特 网 时 代 *1.2.3 关 于 因 特 网 的 标 准 化 工 作 计 算 机 网 络 在

STM32™ I²C


QL1880new2.PDF

GPRS IP MODEM快速安装说明

IC-900W Wireless Pan & Tilt Wireless Pan & Tilt Remote Control / Night Vision FCC ID:RUJ-LR802UWG

穨UPSentry_SC_.PDF

AXIS P7224 Video Encoder Blade – Installation Guide

宁夏专业技术人员服务平台

ext-web-auth-wlc.pdf

工程师培训

Microsoft Word - Enriched TEKLA Curriculum Guide (chi ver)

<55342D323637CBB5C3F7CAE92E786C73>

EK-STM32F

專業式報告

MASQUERADE # iptables -t nat -A POSTROUTING -s / o eth0 -j # sysctl net.ipv4.ip_forward=1 # iptables -P FORWARD DROP #

甘肃工~1

Converting image (bmp/jpg) file into binary format

PL600 IPPBX 用户手册_V2.0_.doc

QVM330 多阜寬頻路由器

经华名家讲堂

<4D F736F F D D352DBED6D3F2CDF8D7E9BDA8D3EBB9DCC0EDCFEEC4BFBDCCB3CCD5FDCEC42E646F63>

外围器件-new.cdr

QVM330 多阜寬頻路由器

SEC-220

ADSLモデム-MNⅡ取扱説明書

注意事项:

1. Revo Uninstaller Pro Revo Uninstaller Pro Revo Uninstaller Pro Revo Uninstaller Pro Revo Uninsta ller Pro Revo Uninstaller Pro Revo Uninstaller Pro

Moto Z

RG-NBS5816XS交换机RGOS 10.4(3)版本WEB管理手册

(UTM???U_935_938_955_958_959 V )

untitled

目 录 第 五 部 分 第 六 部 分 第 七 部 分 第 八 部 分 投 标 邀 请 投 标 人 须 知 附 表 评 标 方 法 和 评 分 细 则 项 目 需 求 和 技 术 方 案 要 求 1

Chapter 2

VP8053产品概述

ebook140-9

Microsoft Word - 39.doc

安 全 信 息 此 摄 像 机 适 用 于 室 内 安 装 使 用 若 要 安 装 于 室 外, 需 要 配 合 使 用 室 外 防 护 罩 ( 不 提 供 ) 开 启 摄 像 机 前, 请 确 保 所 用 电 源 符 合 要 求 使 用 不 适 当 的 电 源 可 能 会 损 坏 摄 像 机 请

C3_ppt.PDF

管理员指南 VSX 系列

目 录 推 荐 文 章 1 1. 关 于 我 校 信 息 化 服 务 开 展 的 一 些 思 考 ( 人 事 处 周 礼 ) 1 2. 围 绕 协 同 创 新 理 念 构 建 科 研 服 务 管 理 信 息 化 新 体 系 ( 科 研 院 史 红 兵 钱 秀 红 方 令 超 )4 3. 协 同 科

关 于 使 用 说 明 书 本 书 说 明 本 软 件 的 安 装 方 法 和 各 个 设 备 的 设 置 方 法 本 书 使 用 Microsoft Windows 7 Professional 进 行 说 明 使 用 其 他 的 操 作 系 统 或 者 根 据 操 作 系 统 的 设 置 的 不

The Cisco Networking Academy NetRiders Contest Official Rules

ChinaBI企业会员服务- BI企业

Microsoft Word - YDB doc


自 學 進 修 學 力 鑑 定 考 試 職 業 證 照 與 專 科 學 校 類 科 對 照 表 修 正 規 定 序 號 考 試 單 位 考 試 及 格 證 書 名 稱 適 用 等 級 類 別 科 別 考 1 試 律 師 甲 級 商 業 財 經 法 律 院 2 計 師 甲 級 商 業 計 事 務 3

Microsoft Word - DIR-615_B2_Manual_1.00_T_.doc

Polycom RealPresence Capture Server - 设备版本入门指南

软件概述

ClientHelpSymantec™ Endpoint Protection 及 Symantec Network Access Control 客户端指南

(Microsoft Word - IP CAM\302\275\304\266_0103)

引 例 3 现 实 生 活 中 的 电 子 商 务 案 例 1 王 小 姐 是 一 家 网 络 公 司 职 员, 现 在 已 经 是 有 八 个 月 身 孕 的 准 妈 妈 由 于 出 行 不 是 很 方 便, 但 是 又 要 购 置 一 些 孕 妇 与 婴 儿 出 生 后 的 物 品 于 是 来

Microsoft Word - AccessPortal使用手册v3.1.doc

epub 61-2

Web

河 南 蓝 皮 书 文 化 (2008) 网 络 文 学 主 要 是 指 在 网 上 原 创 的 文 学 作 品 作 为 网 络 文 化 的 主 力 部 分, 网 络 文 学 的 发 展 在 近 年 来 势 不 可 挡 作 为 凭 借 新 兴 媒 介 兴 起 的 文 学, 网 络 文 学 与 传 统

21 flash

《將進酒》

Transcription:

应用笔记 STM32F107 通过以太网实现在应用中编程 (IAP) 前言 本应用笔记的目标读者为使用 STM32F107 微控制器的开发者 提供了如何使用 STM32F107 以太网接口实现在应用中编程 (IAP) 的解决方案 在 LwIP TCP/IP 协议栈上提供了两种可行的解决方案 : 使用 TFTP ( 简单文件传输协议 ) 的 IAP 使用 HTTP ( 超文本传输协议 ) 的 IAP 2010 年 7 月 Doc ID 17570 Rev 1 1/17 www.st.com

目录 AN3226 目录 1 IAP 概述.................................................... 3 1.1 工作原理................................................... 3 1.2 使用 MCU 以太网接口实现 IAP.................................. 3 1.3 在 STM32F107 上通过以太网实现 IAP............................ 4 1.3.1 使用 TFTP 实现 IAP 的方法................................... 4 1.3.2 使用 HTTP 实现 IAP 的方法................................... 4 2 使用 TFTP 实现 IAP.......................................... 5 2.1 TFTP 概述.................................................. 5 2.2 在 STM32F107 上使用 TFTP 实现 IAP............................ 6 2.3 使用软件................................................... 8 3 使用 HTTP 实现 IAP.......................................... 9 3.1 HTTP 文件上传概述.......................................... 9 3.2 在 STM32F107 上使用 HTTP 实现 IAP...........................11 3.3 使用软件.................................................. 13 3.4 已知限制.................................................. 13 3.4.1 添加到二进制文件的额外字节................................. 13 4 环境...................................................... 14 4.1 MAC 和 IP 地址设置......................................... 14 4.2 STM3210C_EVAL 板上的跳线设置............................. 14 4.3 软件文件结构.............................................. 15 4.4 代码量测量................................................ 15 4.5 构建 IAP 映像.............................................. 15 5 版本历史.................................................. 17 2/17 Doc ID 17570 Rev 1

IAP 概述 1 IAP 概述 1.1 工作原理 在应用中编程 (IAP) 是一种在现场通过 MCU 的通信接口 ( 例如 UART,USB,CAN 和以太网等 ) 进行固件升级的方式 当启动微控制器时, 您可以选择让它进入 IAP 模式以执行 IAP 代码, 或者进入正常模式来开始执行应用代码 IAP 代码和应用程序代码都存在于微控制器的嵌入式 Flash 中 通常 IAP 代码被存储在 MCU Flash 的前几页, 用户应用代码占据剩余的 Flash 区域 下图说明了 IAP 操作流程 : 图 1. IAP 操作流程 MCU 复位 是否进入 IAP 模式? 有 IAP 初始化 执行应用代码 是否有 IAP 请求? 有 接收二进制映像并将其编程进用户 Flash 区域 1.2 使用 MCU 以太网接口实现 IAP 当以太网可用时, 它通常是在嵌入式应用中实现 IAP 功能的更好的接口 其优点是 : 高速通信接口 (10/100Mbit/s) 通过网络 (LAN 或者 WAN) 进行远程编程 TCP/IP 协议栈上的标准应用协议可用于实现 IAP, 比如 :FTP TFTP HTTP Doc ID 17570 Rev 1 3/17

IAP 概述 AN3226 1.3 在 STM32F107 上通过以太网实现 IAP 本应用笔记说明了两种使用以太网通信外设在 STM32F107 上实现 IAP 的解决方案 : 使用 TFTP ( 简单文件传输协议 ) 的 IAP 使用 HTTP ( 超文本传输协议 ) 的 IAP 两种解决方案都运行在 LwIP 协议栈 (v1.3.1) 上, 它是 TCP/IP 协议套件的一种轻量级实现 1.3.1 使用 TFTP 实现 IAP 的方法 使用 TFTP 实现 IAP 的方法广泛应用于需要固件升级能力的嵌入式应用 ( 比如在嵌入式 Linux bootloader 中 ) TFTP 是工作在 UDP 传输层上的简单文件传输协议, 它主要应用在 LAN 环境中 它基于客户端 / 服务器体系结构, 其中客户端向文件服务器请求文件传输 ( 读或写操作 ) 在我们的例子中, 在 LwIP 栈上实现了一个简单的 TFTP 服务器, 该服务器只处理来自 PC TFTP 客户端的写请求 1.3.2 使用 HTTP 实现 IAP 的方法 通过 HTTP 协议进行固件更新没有使用 TFTP 常见, 但是当需要通过互联网进行远程编程时, 它是一种有用的解决方案 在这种情况下, 需要 TCP 传输协议来确保最优操作 工作在 TCP 上的 HTTP, 提供了一种用 HTML 形式从 web 客户端 ( 例如 :Mozilla Firefox 或 Microsoft Internet Explorer) 发送二进制文件的方法, 称作 HTTP 文件上传 (RFC 1867) 本文档的下一部分给出了关于这两种 IAP 方法实现的更详细信息并解释了如何使用这个软件 4/17 Doc ID 17570 Rev 1

使用 TFTP 实现 IAP 2 使用 TFTP 实现 IAP 2.1 TFTP 概述 简单文件传输协议 (TFTP) 是工作在 UDP 上的一种简单的文件传输协议 文件传输是从 TFTP 客户端发起的, TFTP 客户端向 TFTP 服务器发送读或写请求 当服务器确认请求后, 文件数据传输开始 数据按固定大小的数据块发送 ( 如 512 字节的数据块 ) 必须在每个传输的数据块被接收端响应后, 才能发送下一个数据块 这种回应机制通过随每个数据块同时发送的数据块编号来实现 数据块小于固定块大小表示文件传输结束 图 2 说明了各类 TFTP 包的格式 : 图 2. TFTP 包 RRQ/WRQ 包 2 字节字符串 1 字节字符串 1 字节 操作码文件名 0 模式 0 2 字节 2 字节 n 字节 数据包 操作码数据块 # 数据 2 字节 2 字节 ACK 包 操作码数据块 # 2 字节 2 字节字符串 1 字节 错误包 操作码 错误代码 错误消息 0 TFTP 操作码在表 1 中列出 表 1. TFTP 操作码操作码 0x1 0x2 0x3 0x4 0x5 操作读请求 (RRQ) 写请求 (WRQ) 数据响应 (ACK) 错误 Doc ID 17570 Rev 1 5/17

使用 TFTP 实现 IAP AN3226 2.2 在 STM32F107 上使用 TFTP 实现 IAP 该 IAP 实现包括一个基本的 LwIP TCP/IP 栈上的 TFTP 服务器 该服务器响应从远程 TFTP 客户端 (PC) 接收的 WRITE 请求 TFTP READ 请求被忽略 服务器将接收到的数据块写入 MCU Flash ( 在用户 Flash 区域 ), 而不是将接收的文件写入文件系统 注 : 在本实现中, 数据块大小固定为 512 字节 下面的流程图给出了使用 TFTP 实现 IAP 操作的过程 6/17 Doc ID 17570 Rev 1

使用 TFTP 实现 IAP 图 3. 使用 TFTP 实现 IAP 的流程图 进入 IAP 模式 TFTP 服务器初始化 TFTP 写请求? 擦除全部用户 Flash 区域 发送响应 数据包接收? 向 Flash 写数据块 发送响应 是否为最后一个数据包 ( 大小 <512 字节 )? 文件传输结束 Doc ID 17570 Rev 1 7/17

使用 TFTP 实现 IAP AN3226 2.3 使用软件 为了通过 TFTP 对 IAP 进行测试, 请确保遵循如下步骤 : 1. 在 STM3210C_EVAL 板上确保正确的跳线设置 ( 参见表 2) 2. 在 main.h 文件中, 取消选项 USE_IAP_TFTP 的注释 根据需求, 您还可以取消注释 / 注释其它选项, 比如 USE_DHCP 或 USE_LCD 3. 重新编译软件 使用生成的 map 文件, 确保 IAP 代码区域 ( 从地址 0x0 开始 ) 和开始于 USER_FLASH_FIRST_PAGE_ADDRESS ( 在 main.h 中定义 ) 的用户 Flash 区域之间没有重叠 4. 将程序下载到 STM32Flash 中并运行它 5. 按住 Key 按钮的同时, 按下并释放 Reset 键, 进入 IAP 模式 6. 若在 main.h 文件中定义了 USE_LCD,LCD 屏幕上会显示消息, 指示已经进入 IAP 模式 如果采用了 DHCP( main.h 文件中定义了 USE_DHCP), LCD 屏幕上也会显示一条消息, 指示 DHCP IP 地址分配的成功或失败 7. 分配完 IP 地址后 ( 动态或静态地址 ), 用户可启动 IAP 进程 8. 在 PC 上, 打开 TFTP 客户端 ( 例如,TFTPD32) 并配置 TFTP 服务器地址 (TFTPD32 中的主机地址 ) 9. 选择一个二进制映像下载到 STM32 Flash 中 (/project/binary 文件夹中提供了两个二进制映像作为例子 ) 10. 在 TFTPD32 应用程序上点击 Put 按钮, 启动一个文件写请求 11. 如果定义了 USE_LCD, IAP 操作的进度会显示在 LCD 上 12. 在 IAP 操作结束时, 可以复位评估板来运行您刚才在 STM32 Flash 中编写的程序 图 4. TFTPD32 对话框 8/17 Doc ID 17570 Rev 1

使用 HTTP 实现 IAP 3 使用 HTTP 实现 IAP 3.1 HTTP 文件上传概述 RFC1867 中定义了使用 HTTP 进行文件上传 该上传文件方法基于 HTML 表单 通常用 HTML POST 方法代替 GET 来发送原始二进制数据 下面是一个实现基于表单的文件上传的 HTML 代码示例 : <form action ="/upload.cgi" enctype="multipart/form-data" method="post"> <p>please specify a binary file to upload into STM32F107 flash: <br> <input type="file" name="datafile" size="40"> </p> <div> <input type="submit" value="upload"> </div></form> 图 5. 文件上传 HTML 表单的浏览器视图 用户可以浏览选择一个二进制文件上传, 然后按下上传按钮发送它 根据文件大小, 数据以连续的 TCP 段形式发送给 web 服务器 注 : 发送文件数据前, web 客户端发送包括文件名 内容长度等信息的 HTTP 头数据, 其中一些信息必须由 web 服务器进行解析 不同的 web 客户端并不总是拥有相同的 HTTP 头格式 图 6 显示了 POST 请求的 Internet Explorer HTTP 头格式 图 7 显示了 Mozilla Firefox HTTP 头格式 http web 服务器必须能够处理这些不同格式 Doc ID 17570 Rev 1 9/17

使用 HTTP 实现 IAP AN3226 图 6. IE6 HTTP 头格式 图 7. Mozilla Firefox HTTP 头格式 10/17 Doc ID 17570 Rev 1

使用 HTTP 实现 IAP 3.2 在 STM32F107 上使用 HTTP 实现 IAP 该 IAP 实现包括一个基于 LwIP 栈的简单 HTTP web 服务器 当在浏览器上输入 STM32 IP 地址时, 将显示登录网页如图 8 所示 此登录网页的目的是限制只有授权用户可以进行 IAP 文件上传 图 8. 登录网页 用户必须输入正确的用户 ID 和密码 ( 在 main.h 文件中预定义的 ) 并点击登录按钮 然后载入一个文件上传页面 ( 参见图 5) 注 : 1 默认用户 ID 为 : user, 密码为 stm32 2 如果用户 ID 或密码不正确, 登录网页将会重新加载 成功登录后, 您可以浏览选择要加载进 STM32 Flash 的二进制文件 注 : 1 用户需要确保该二进制文件的大小不超出 STM32 用户 Flash 区域的总大小 点击上传按钮 ( 参见图 5) 时, 就向服务器发送了一个 POST 请求 此时服务器开始擦除所有的用户 Flash 区域并等待二进制文件的原始数据 然后接收到的数据将会被写入用户 Flash 区域 请注意, 要接收的数据总长度是从传输开始时发送的 HTTP 头数据中提取出来的 在 IAP 操作结束时, 会加载一个网页指示 IAP 操作成功, 网页上显示了一个可以复位 MCU 的按钮 图 9. 文件上传完成网页 下面的流程图总结了使用 HTTP 实现 IAP 的方法 Doc ID 17570 Rev 1 11/17

使用 HTTP 实现 IAP AN3226 图 10. 使用 HTTP 实现 IAP 的流程图 进入 IAP 模式 HTTP 服务器初始化 请求索引页? 索引页发送到 web 客户端 输入正确的用户 ID/ 密码? 文件上传页面发送到 web 客户 接收到文件上传的 HTML POST 请求? 擦除全部用户 Flash 区域 接收到原始数 将数据写入 Flash 接收到所有数据? 上传完成页面发送到 web 客户端 12/17 Doc ID 17570 Rev 1

使用 HTTP 实现 IAP 3.3 使用软件 为了通过 HTTP 对 IAP 进行测试, 请遵循如下步骤 1. 在 STM3210C_EVAL 板上确保正确的跳线设置 ( 参见表 2) 2. 在 main.h 文件中, 取消选项 USE_IAP_HTTP 的注释, 并且根据需求您还可以取消注释 / 注释其它选项, 比如 USE_DHCP 或 USE_LCD 3. 重新编译软件 使用生成的 map 文件, 确保 IAP 代码区域 ( 从地址 0x0 开始 ) 和开始于 USER_FLASH_FIRST_PAGE_ADDRESS ( 在 main.h 中定义 ) 的用户 Flash 区域之间没有重叠 4. 将程序下载到 STM32Flash 中并运行它 5. 按住 Key 按钮的同时, 按下并释放 Reset 键, 进入 IAP 模式 6. 若在 main.h 文件中定义了 USE_LCD,LCD 屏幕上会显示消息, 指示已经进入 IAP 模式 同样在使用 DHCP(main.h 文件中定义了 USE_DHCP) 的情况下,LCD 屏幕上也会显示一条消息, 指示 DHCP IP 地址分配的成功或失败 7. 分配完 IP 地址后 ( 动态或静态地址 ), 用户可启动 IAP 进程 8. 打开一个 web 客户端 (Mozilla Firefox 或 Microsoft Internet Explorer) 并输入 STM32 IP 地址 9. 将会显示一个登录网页 在 UserID 字段中输入 user 并在 Password 字段中输入 stm32, 然后按 Login 按钮 10. 然后会加载 fileupload.html 网页 选择一个要加载进 STM32 Flash 的二进制映像, 然后按 Upload 按钮开始 IAP 进程 11. 如果定义了 USE_LCD, IAP 操作的进度会显示在 LCD 上 12. 在 IAP 操作结束时, 会加载一个新的网页, 指示文件上传操作成功 13. 可以按 RESET MCU 按钮复位 MCU 来运行您刚才在 STM32 Flash 中编写的程序 注 : 请注意, 该软件已用下列 web 客户端测试 :MSIE6, MSIE8 和 Mozilla Firefox 3.6 3.4 已知限制 3.4.1 添加到二进制文件的额外字节 网络浏览器 (MSIE 或 Mozilla Firefox) 会将一个随机边界标签 ( 根据 RFC 1521, 不长于 72 字节 ) 添加到上传的二进制文件末尾 在当前的 IAP 软件版本中, 如果有足够的空间, 该边界标签不会被移除而是存储在 Flash 中 如果空间不足, 仅是额外的字节不写入 Flash 中, 并不返回错误 Doc ID 17570 Rev 1 13/17

环境 AN3226 4 环境 4.1 MAC 和 IP 地址设置 MAC 和 IP 地址设置在 main.h 文件中完成 默认 MAC 地址固定为 :00:00:00:00:00:02 IP 可以被设置为静态地址, 也可以设置为由 DHCP 服务器分配的动态地址 默认静态 IP 地址设为 :192.168.0.10 您可以通过在 main.h 文件中使能 USE_DHCP 来选择 DHCP 模式 请注意, 如果选择通过 DHCP 配置 IP 地址, 但应用程序法在它已经连接到的网络上发现 DHCP 服务器, 则 IP 地址会自动设为静态地址 (192.168.0.10) 4.2 STM3210C_EVAL 板上的跳线设置 为了运行该软件, 您需要遵照下表配置 STM3210C_EVAL 板 需要在 stm32f107.c 文件中选择 MII 或 RMII 配置 例如, 选择 RMII 模式 : //#define MII_MODE #define RMII_MODE 对于 MII 模式,PHY 时钟取自外部晶体, 而对于 RMII 模式, 时钟由 STM32 经由 MCO 管脚提供 表 2. 跳线配置 跳线 MII 模式配置 RMII 模式配置 JP2 未连接 连接 JP3 2-3 1-2 JP4 1-2 2-3 JP11 2-3 JP12 2-3 JP13 2-3 JP14 1-2 14/17 Doc ID 17570 Rev 1

环境 4.3 软件文件结构 下表介绍了项目源文件 : 表 3. 文件结构 文件名 main.c main.h httpserver.c /.h tftpserver.c /.h flash_if.c /.h netconf.c /.h stm32f107.c /.h stm32f10x_it.c /.h fsdata.c lwipopts.h 说明主应用文件主配置文件 HTTP 服务器实现 TFTP 服务器实现高级闪存访问函数高级以太网接口函数 STM32F107C_Eval 板 bsp 函数中断处理程序 HTML 文件作为 ROM 文件系统 LwIP 配置选项 注 : 表中未列出所用的标准固件库和 LwIP 栈的文件 4.4 代码量测量 下表给出了根据 main.h 文件中不同的配置选项进行的代码量测量 表 4. 代码量 Vs 配置选项 代码量 ( 字节 ) USE_IAP_TFTP USE_IAP_HTTP USE_LCD USE_DHCP 12588 x 25504 x 23532 x x x 36128 x x x 注 : 该软件使用 IAR EWARM v5.41 编译, 对代码量进行了高度优化 4.5 构建 IAP 映像 为了构建 IAP 映像 ( 将用 IAP 软件进行加载 ), 请确保 : 1. 向量表起始地址配置为用户 Flash 区域的起始地址 可以通过使用 std 库函数 : NVIC_SetVectorTable 实现 2. 被编译 / 链接的软件必须从用户 Flash 区域起始地址开始运行 3. 编译后的软件大小不超出总的用户 Flash 区域 AN2557: 使用 STM32F10xxx 的 UASRT 实现在应用中编程 中包括了一个软件示例, 以供参考 Doc ID 17570 Rev 1 15/17

版本历史 AN3226 5 版本历史 表 5. 文档版本历史 日期版本变更 2010 年 7 月 26 日 1 初始版本 16/17 Doc ID 17570 Rev 1

重要通知 - 请仔细阅读 意法半导体公司及其子公司 ( ST ) 保留随时对 ST 产品和 / 或本文档进行变更 更正 增强 修改和改进的权利, 恕不另行通知 买方在订货之前应获取关于 ST 产品的最新信息 ST 产品的销售依照订单确认时的相关 ST 销售条款 买方自行负责对 ST 产品的选择和使用, ST 概不承担与应用协助或买方产品设计相关的任何责任 ST 不对任何知识产权进行任何明示或默示的授权或许可 转售的 ST 产品如有不同于此处提供的信息的规定, 将导致 ST 针对该产品授予的任何保证失效 ST 和 ST 徽标是 ST 的商标 所有其他产品或服务名称均为其各自所有者的财产 本文档中的信息取代本文档所有早期版本中提供的信息 2015 STMicroelectronics - 保留所有权利 Doc ID 17570 Rev 1 17/17