stm32的软件在线更新的软件设计
基于STM32的软件在线更新的软件设计,使用STM32单片机IAP方式实现嵌入式端的远程在线更新。整个系统由主控端PC、主控端无线传输模块、嵌入式端无线传输模块和嵌入式端STM32核心板组成,其中PC与主控端无线模块使用RS232相连,STM32核心板与嵌入端无线传输模块使用RS232相连,两个部分之间使用GPRS方式进行通信和数据传输。该系统通过PC发送数据以及更新程序到STM32核心板中,核心板中存在两个项目,其中一个负责数据接收和进行程序更新,另一个项目为真正的功能模块,当STM32接收到程序包后,判断是否进行更新,通过则将原存储在Flash中的程序进行擦除重写,完成软件的在线更新。关键词 软件在线更新,STM32,IAP,GPRS
目 录
1引言 1
1.1研究目的和意义 1
1.2国内外发展现状 1
1.3系统工作原理 2
1.4 可行性分析 2
1.4.1 技术可行性 2
1.4.2 经济可行性 2
1.5 论文结构安排 3
2理论基础 3
2.1 STM32F103核心板 3
2.2 GPRS模块 5
2.3 Socket通信 5
2.4 IAP实现 6
3总体设计 7
3.1需求分析 7
3.2总体架构 8
4系统硬件设计 8
4.1 硬件开发工具 9
4.2 无线通信模块设计 9
4.2.1 功能需求 9
4.2.2 电源部分 9
4.2.3 主控芯片STM32 10
4.2.4 通信芯片 10
5系统软件设计 11
5.1 软件开发工具 12
5.2 无线模块软件设计 12
5.2.1 STM32的配置 12
5.2.2 串口配置 13
5.2.3中断控制器的配置 14
5.3 嵌入端IAP实现 15
5.3 FLASH程序模块 16
5.3 Socket通信设计 16
5. *好棒文|www.hbsrm.com +Q: &351916072&
4 上位机程序设计 19
6实验与调试 19
总 结 22
致 谢 23
参考文献 24
1引言
随着现在工业技术、无线传输技术以及物联网技术的迅速发展,嵌入式终端设备越来越多的应用于各行各业的生产生活中。这些嵌入式的智能化终端设备能够在实施过程中降低成本,也降低了实施使用的难度,对环境的要求也大大降低。但是当设备在使用过程中,硬件或者程序出现问题、或者提出新的需求时,需要对程序进行修改或者升级。常规的方法是维护人员需要到达现场对程序进行重新的下载烧录工作,并对相应驱动程序等进行升级,这样导致了浪费了大量的人力资源,各种维护成本高,尤其是在恶劣条件下,比如高海拔、森林等地方,给维护人员也会造成很大的风险。
1.1研究目的和意义
智能化的控制方式是未来实施领域的趋势之一,目前终端需要专业人员到达现场进行实地的测试、拷贝和升级,这样做消耗了大量的资源,在条件恶劣的状态下,存在各种风险,如何去解决这样的问题,就是本课题研究的目的和意义。通过GPRS无线网络实现嵌入式终端软件的在线升级以及更新,可以方便快捷的解决这个问题,并且能够获得该终端的工作信息以及状态,很好的对其工作情况进行监控,既能够节省成本也能够更有效率的完成各项工作。
1.2国内外发展现状
现在在单片机市场中ARM占有重要的市场份额,是目前市场使用最为广泛的精简指令集的微处理器结构,该芯片具有低功耗、底成本和高性能等优点。一直到2007年6月才由意法半导体公司,在ARM芯片CortexM3的基础上推出了STM32系列。STM32系列产品相比ARM早起产品,具有更好的性能、实时性更好、功耗更低、集成度高并易于进行开发的特点,这些特点给微处理器使用用户带来了很好的自由空间。
随着嵌入式系统的不断发展,在国际上形成了40多种嵌入式操作系统,比如:WinCE、QNX、LynxOS、pSOS等,其中WinCE是Windows系列中针对嵌入式系统开发而成,它是一种32位的微型操作系统,可以实现多任务、移植等功能。这些不同的系统,在不同的嵌入式领域优缺点不一,适用于不同的场合。正是由于这些系统软件的支持,才使得嵌入式应用软件的发展,为本系统的开发提供了基础。
在国内更加偏重应用型的开发,大量的应用软件用于各种嵌入式系统中,比如,杨欢欢提出的使用STM32微处理器在温室中的应用,能够远程控制温室中的温度,使得温室中的温度控制更加智能化;朱岩提出了将STM32微处理器使用在车辆的综合调度控制上,通过无线传感网,使得车辆的调度控制更加科学,道路更加通畅;周柱等提出将该微处理器应用于智能小车中,为未来智能车辆的发展提供了技术支持。综上所述,国内在应用上研究广泛,但是在底层芯片研究落后于国际水平。
1.3系统工作原理
本课题所设计系统包括PC端监控器、远程在线服务器、GPRS模块和STM32F103嵌入式模块,而远程在线服务器与GPRS模块通过运营商提供的GMS使用Socket进行通信,而两大部分内部通过RS232进行连接。该系统在实际使用中,首先通过GPRS模块与远程在线服务器建立连接,当需要更新升级STM32中程序时,由PC将升级程序包发送给STM32处理器模块,由处理器完成相应操作,最终达到在线升级的目的。系统原理图如图1.1所示。
图1.1 系统原理图
1.4 可行性分析
系统可行性的分析,不是分析系统怎么实现,而是分析系统实现的可能性以及价值,能不能在实现的基础上有其各方面的可行性。
1.4.1 技术可行性
目 录
1引言 1
1.1研究目的和意义 1
1.2国内外发展现状 1
1.3系统工作原理 2
1.4 可行性分析 2
1.4.1 技术可行性 2
1.4.2 经济可行性 2
1.5 论文结构安排 3
2理论基础 3
2.1 STM32F103核心板 3
2.2 GPRS模块 5
2.3 Socket通信 5
2.4 IAP实现 6
3总体设计 7
3.1需求分析 7
3.2总体架构 8
4系统硬件设计 8
4.1 硬件开发工具 9
4.2 无线通信模块设计 9
4.2.1 功能需求 9
4.2.2 电源部分 9
4.2.3 主控芯片STM32 10
4.2.4 通信芯片 10
5系统软件设计 11
5.1 软件开发工具 12
5.2 无线模块软件设计 12
5.2.1 STM32的配置 12
5.2.2 串口配置 13
5.2.3中断控制器的配置 14
5.3 嵌入端IAP实现 15
5.3 FLASH程序模块 16
5.3 Socket通信设计 16
5. *好棒文|www.hbsrm.com +Q: &351916072&
4 上位机程序设计 19
6实验与调试 19
总 结 22
致 谢 23
参考文献 24
1引言
随着现在工业技术、无线传输技术以及物联网技术的迅速发展,嵌入式终端设备越来越多的应用于各行各业的生产生活中。这些嵌入式的智能化终端设备能够在实施过程中降低成本,也降低了实施使用的难度,对环境的要求也大大降低。但是当设备在使用过程中,硬件或者程序出现问题、或者提出新的需求时,需要对程序进行修改或者升级。常规的方法是维护人员需要到达现场对程序进行重新的下载烧录工作,并对相应驱动程序等进行升级,这样导致了浪费了大量的人力资源,各种维护成本高,尤其是在恶劣条件下,比如高海拔、森林等地方,给维护人员也会造成很大的风险。
1.1研究目的和意义
智能化的控制方式是未来实施领域的趋势之一,目前终端需要专业人员到达现场进行实地的测试、拷贝和升级,这样做消耗了大量的资源,在条件恶劣的状态下,存在各种风险,如何去解决这样的问题,就是本课题研究的目的和意义。通过GPRS无线网络实现嵌入式终端软件的在线升级以及更新,可以方便快捷的解决这个问题,并且能够获得该终端的工作信息以及状态,很好的对其工作情况进行监控,既能够节省成本也能够更有效率的完成各项工作。
1.2国内外发展现状
现在在单片机市场中ARM占有重要的市场份额,是目前市场使用最为广泛的精简指令集的微处理器结构,该芯片具有低功耗、底成本和高性能等优点。一直到2007年6月才由意法半导体公司,在ARM芯片CortexM3的基础上推出了STM32系列。STM32系列产品相比ARM早起产品,具有更好的性能、实时性更好、功耗更低、集成度高并易于进行开发的特点,这些特点给微处理器使用用户带来了很好的自由空间。
随着嵌入式系统的不断发展,在国际上形成了40多种嵌入式操作系统,比如:WinCE、QNX、LynxOS、pSOS等,其中WinCE是Windows系列中针对嵌入式系统开发而成,它是一种32位的微型操作系统,可以实现多任务、移植等功能。这些不同的系统,在不同的嵌入式领域优缺点不一,适用于不同的场合。正是由于这些系统软件的支持,才使得嵌入式应用软件的发展,为本系统的开发提供了基础。
在国内更加偏重应用型的开发,大量的应用软件用于各种嵌入式系统中,比如,杨欢欢提出的使用STM32微处理器在温室中的应用,能够远程控制温室中的温度,使得温室中的温度控制更加智能化;朱岩提出了将STM32微处理器使用在车辆的综合调度控制上,通过无线传感网,使得车辆的调度控制更加科学,道路更加通畅;周柱等提出将该微处理器应用于智能小车中,为未来智能车辆的发展提供了技术支持。综上所述,国内在应用上研究广泛,但是在底层芯片研究落后于国际水平。
1.3系统工作原理
本课题所设计系统包括PC端监控器、远程在线服务器、GPRS模块和STM32F103嵌入式模块,而远程在线服务器与GPRS模块通过运营商提供的GMS使用Socket进行通信,而两大部分内部通过RS232进行连接。该系统在实际使用中,首先通过GPRS模块与远程在线服务器建立连接,当需要更新升级STM32中程序时,由PC将升级程序包发送给STM32处理器模块,由处理器完成相应操作,最终达到在线升级的目的。系统原理图如图1.1所示。
图1.1 系统原理图
1.4 可行性分析
系统可行性的分析,不是分析系统怎么实现,而是分析系统实现的可能性以及价值,能不能在实现的基础上有其各方面的可行性。
1.4.1 技术可行性
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wlw/570.html