没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
12页
对于大部分基于闪存的系统来说,一项重要的需求就是当这些系统安装在终端产品上后,具有更新固件的能力,这个能力称为在应用中编程(In-Application Programming IAP)。这篇应用笔记的目的就是为创建一个IAP应用程序提供一些通用的指导原则。本文中使用STM3210B-EVAL/STM3210E-EVAL板验证IAP驱动。 STM32F10xxx微控制器可以运行用户指定的固件,在微控制器嵌入的闪存上实现IAP。这个功能可以使用任何通讯协议(如CAN、USART、USB)对片上闪存进行重新编程。示例程序使用了USART作为通信通道。
资源推荐
资源详情
资源评论
AN2557
应用笔记
使用STM32F10xxx的USART
实现在应用中编程
介绍
对于大部分基于闪存的系统来说,一项重要的需求就是当这些系统安装在终端产品上后,具有
更新固件的能力,这个能力称为在应用中编程(In-Application Programming IAP)。这篇应用笔
记的目的就是为创建一个IAP应用程序提供一些通用的指导原则。本文中使用STM3210B-
EVAL/STM3210E-EVAL板验证IAP驱动。
STM32F10xxx微控制器可以运行用户指定的固件,在微控制器嵌入的闪存上实现IAP。这个功
能可以使用任何通讯协议(如CAN、USART、USB)对片上闪存进行重新编程。示例程序使用了
USART作为通信通道。
译注:
本译文的英文版下载地址为:
http://www.st.com/stonline/products/literature/an/13588.pdf
示例程序包下载地址:
http://www.st.com/stonline/products/support/micro/files/an2557.zip
参照2008年6月 AN2557 英文第4版
本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时注意在ST网站下载更新版本
使用STM32F10xxx的USART实现在应用中编程
目录
1 IAP概述.....................................................................................................................3
1.1 原理.....................................................................................................................................3
1.2 IAP驱动程序........................................................................................................................3
2 运行IAP驱动程序 ......................................................................................................5
2.1 超级终端配置 ......................................................................................................................5
2.2 执行IAP驱动程序.................................................................................................................5
3 IAP驱动程序的菜单...................................................................................................6
3.1 下载映像文件到内部闪存存储器..........................................................................................6
3.2 执行新的程序 ......................................................................................................................6
3.3 解除写保护 ..........................................................................................................................6
4 STM32F10xxx IAP实现总结......................................................................................8
5 用户程序条件 ............................................................................................................9
6 IAP限制...................................................................................................................10
7 如何使用IAP驱动程序 .............................................................................................11
2/12
参照2008年6月 AN2557 英文第4版
本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时注意在ST网站下载更新版本
使用STM32F10xxx的USART实现在应用中编程
1 IAP概述
中容量产品是指闪存存储器容量在64K至128K字节之间的STM32F101xx、STM32F102xx和
STM32F103xx微控制器。在意法半导体STM3210B-EVAL评估板上集成的即为中容量产品。
大容量产品是指闪存存储器容量在256K至512K字节之间的STM32F101xx和STM32F103xx微
控制器。在意法半导体的STM3210E-EVAL评估板上集成的即为大容量产品。
1.1 原理
IAP驱动程序必须使用用户选用的任意开发工具,通过JTAG或SWD接口烧写到Flash存储器的
开始区域,随后这个驱动程序使用USART从 PC 端的HyperTerminal 下载二进制文件到
STM32F10xxx的内部闪存中,然后转去执行新下载的程序。
1.2 IAP驱动程序
IAP驱动包含有下列的源文件:
● main.c:USART初始化和RCC设置,然后从common.c中执行主菜单。
● common.c:包含显示功能和主菜单。主菜单给出了一系列的操作选项:加载新的二进制
文件、执行载入的二进制文件、对用户想载入自己二进制文件的存储器页解除写保护(如
果这些页被写保护的话)。
● ymodem.c和download.c:它们用来从超级终端中接收数据(使用YMODEM协议
(a)
),然后把
数据加载到STM32F10xxx内部RAM中。当接收数据发生错误时,显示错误信息“Failed
to receive the file”,如果接收数据成功,把它编程到内部Flash Memory的适当地址。通
过比较内部RAM数据和内部Flash的数据来检测数据完整性。如果有任何数据的差异,显
示错误信息“Verification failed”。也显示其他的错误消息如映像文件大于允许的内存空
间或用户终止了任务等。
● STM32F10xxx固件库
用户可以通过去掉文件platform_config.h的相关定义行的注释,来选择在哪种产品(中容
量产品或者大容量产品)上运行该软件。
//define USE_STM3210B_EVAL
//define USE_STM3210E_EVAL
用户可以通过操作一个连接到引脚的按键,来选择是运行用户程序还是执行IAP以重新编程。
● 复位时未按下按键切换到用户程序。
● 复位时按下按键显示IAP主菜单。
有关使用STM3210B_EVAL / STM3210E_EVAL板上的按键进入IAP模式的细节,参见表1。
a) Ymodem
协议将
1024
个字节作为一个数据块发送:传送到
STM32F10xxx
内部
RAM
的数据块中,
还执行错误检查:比较发送和接收到的数据。若出现
NAK
应答则说明数据块没有被成功接收。
关于
Ymodem
的更多细节请参阅相关文档。
3/12
参照2008年6月 AN2557 英文第4版
本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时注意在ST网站下载更新版本
剩余11页未读,继续阅读
资源评论
dongsongz
- 粉丝: 36
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- apk.tw_LineLite_v8a_v.2.17.1_sign.apk
- Elasticsearch实战:构建高效搜索系统的秘诀.zip
- HTML+CSS+JS网页设计:从入门到精通.zip
- 数据库课程设计:从理论到实践的全面指南.zip
- Python闭包:深入理解与应用场景解析.zip
- Win64OpenSSL-3-3-0.exe
- 课高分程设计-基于C++实现的民航飞行与地图简易管理系统-南京航空航天大学
- 航天器遥测数据故障检测系统python源码+文档说明+数据库(课程设计)
- 北京航空航天大学操作系统课设+ppt+实验报告
- 基于Vue+Echarts实现风力发电机中传感器的数据展示监控可视化系统+源代码+文档说明(高分课程设计)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功