您的位置 首页 产品

stm32 IAP 完成

在对STM32存储器结构及相关知识了解后,我们就可以进行IAP的设计了。在上一篇笔记中,进行了一个简单的IAP程序结构,以及和UserApp程序的…

在对STM32存储器结构及相关常识了解后,咱们就能够进行IAP的规划了。

在上一篇笔记中,进行了一个简略的IAP程序结构,以及和User App程序的彼此联络的体系规划。

本篇对IAP完结的细节进行了较为具体的论说,包含源码结构的规划;咱们从上位机(PC—C#)和下位机(MCU—C)一起描绘IAP功用的完结进程。

1 STM32的IAP完结渠道

IAP功用的完结需求两个方面(上位机和STM32上的IAP程序)的密切合作。因而,咱们除了需求知道STM32芯片上的IAP程序结构,咱们还需求了解上位机的程序结构,这样才能使上位机和STM32很好的彼此作业。

下位机(指的是STM32构成的单片机体系):

本下位机体系运用C言语进行编程,项目功用是完结IAP(In Application Programming);

下位机运用IAR Embedded Workbench for ARM 6.10 Kick start开发环境;

运用STM32F103C8-PKT开发板进行调试和验证;

上位机(指的是PC构成的PC体系):

本上位机体系运用C#言语进行编程,项目功用是合作下位机完结IAP;

上位机运用Visual Studio 2008开发环境;

运用一般的PC机进行调试和验证;

上位机和下位机通讯(串口通讯):

上下位机之间经过串口进行通讯;

上位及通讯必定的通讯协议将需求更新的程序经过串口传输给IAP程序,再由IAP程序将数据写到用户的Flash区域;然后到达IAP功用,如图所示:

2 STM32和上位机的通讯协议

怎么将更新程序的bin文件数据传输到STM32体系内部?

怎么将串口接纳到的一连串数据给解析出来,进行有用数据的写Flash?

怎么得知数据传输的开端?

又怎么得知数据传输的完毕?

……

以上的种种疑问,都是咱们必需求关怀的问题;而这些问题都隐藏着相同的实质——怎么获取PC端有用的信息?

关于怎么获取有用信息,有几个问题需求考虑:

经过何种方法获取?——咱们选用USART;

何种数据才是有用的?——咱们指定一个简略的协议;

又是怎么完结IAP程序和APP程序的切换的;

在硬件上,USART的完结较为简略;咱们要点在于协议的规划和了解;

3 STM32—IAP程序的完结

1、IAP经过USART和上位机通讯,完结数据的下发和在使用编程;如图:

2、上位机和STM32体系USART之间经过一个简略的协议进行衔接;

当接连收到4次0xBB后,表明开端接纳用户代码;

当接连收到4次0xEE后,表明完毕接纳用户代码;如图:

3、IAP程序坐落Flash发动的开始地址,判别相应标志,是更新程序,或是运转用户程序;IAP程序更新之后,设定标志,跳转到用户程序区去,完结IAP,完结新的用户功用;如图:

4 STM32—上位机程序的完结

如图,为一个简略的上位机界面:

上位机首要分为两个部分:

1、串口装备部分:

挑选端口、波特率,和数据类型,点击USART Open按钮;

2、串口通讯部分:

通讯部分,能够经过三步进行一次IAP功用的完结;

A、发送开始字节——0xBBBBBBBB

B、发送用户代码——经过转化Hex文件获取

C、发送完毕字节——0xEEEEEEEE

5上位机和STM32完结IAP功用的留意

1、上位机和STM32体系需求有相对应契合的通讯协议;

2、上位机和STM32体系的规划,要考虑到程序处理时刻;避免时刻的要素而无法呼应;

3、为进步可靠性和安全性,需求规划更为友爱的通讯协议;

至此,关于《STM32完结IAP(上位机和IAP程序规划)》常识现已完毕;

至此,关于STM32存储器常识等三篇笔记都现已完毕。

完结STM32存储器常识进程中,总共参阅了以下官方文档:

《RM0008 Reference manual》

《Cortex-M3技能参阅手册》

《PM0042 Programming manual:STM32F10xxx Flash programming》

《AN2557 Application note:STM32F10x in-application programming using the USART》

等等;

别的也参阅了许多忘我网友的贡献,在此感谢。

关于我的STM32存储器常识共有三篇文章,分别是:

stm32的存储器》

《STM32存储器常识的相关使用(IAP、Bit Banding)》

《STM32完结IAP(上位机和IAP程序规划)》

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/272681.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部