一种STM32微处理器程序架构设计方法技术

技术编号:15638881 阅读:231 留言:0更新日期:2017-06-15 20:01
本发明专利技术提供一种STM32微处理器程序架构设计方法,将微处理器程序架构划分为四个区,包括BOOT程序区、应用程序区、配置信息区以及程序备份区;且通过所述BOOT程序区实现在线烧写程序和远程升级程序;通过所述应用程序区实现外设模块接口的调用;通过所述配置信息区存储配置信息参数;通过所述程序备份区实现APP程序或者配置信息的升级备份。本发明专利技术优点:通过对程序架构的设计,实现在更新程序的时候,可以只更新对应区域的内容,而无需整片擦除和烧写,可以降低开发成本,提高系统稳定性,提高生产效率,缩短更新时间。

【技术实现步骤摘要】
一种STM32微处理器程序架构设计方法
本专利技术涉及一种STM32微处理器程序架构设计方法。
技术介绍
嵌入式系统对于不同的应用,出于开发成本,开发周期,可维护性等方面考虑,都会选择不同的微控制器来进行产品开发。在嵌入式系统的程序设计中,存储架构的设计是程序设计的关键因素之一。STM32F103RCT6是一款基于ARM32位CORTEX-M3的高性能,高稳定性,低功耗,最高工作频率为72MHZ,1.25DIPS/MHZ单周期乘法与硬件除法的存储器。存储器片上集成了256KB的flash可在线擦除存储器和48KB的SRAM静态存储器。其中,由于flash可在线擦除存储器的256KB程序空间是连续的,因此在每次更新程序时,都只能整片擦除和烧写,而烧写又只能使用ISP模式进行烧写,操作起来及其不方便。
技术实现思路
本专利技术要解决的技术问题,在于提供一种STM32微处理器程序架构设计方法,通过对程序架构的设计,实现在更新程序的时候,可以只更新对应区域的内容,而无需整片擦除和烧写,可以降低开发成本,提高系统稳定性,提高生产效率,缩短更新时间。本专利技术是这样实现的:一种STM32微处理器程序架构设计方法,所述方法包括:将微处理器程序架构划分为四个区,包括BOOT程序区、应用程序区、配置信息区以及程序备份区;且通过所述BOOT程序区实现在线烧写程序和远程升级程序;通过所述应用程序区实现外设模块接口的调用;通过所述配置信息区存储配置参数;通过所述程序备份区实现APP程序或者配置信息的升级备份。进一步地,所述BOOT程序区分配有24KB的存储空间,所述APP应用程序区分配有100KB的存储空间,所述信息配置区分配有100KB的存储空间,所述程序备份区分配有32KB的存储空间。进一步地,所述“通过所述BOOT程序区实现在线烧写程序”具体包括:系统上电后,所述BOOT程序区开始运行BOOT程序,并判断是否进入ISP模式,若是,则进入ISP模式,并等待接收数据包;若否,则正常运行BOOT程序;进入ISP模式后,PC端先向所述BOOT程序区发送一个握手命令判断是否接收数据包信息,若BOOT程序区应答是,则PC端开始向BOOT程序区发送数据包信息;若BOOT程序区应答否,则PC端不向BOOT程序区发送数据包信息;所述数据包信息包含数据头、数据长度、数据命令、数据内容、CRC校验码以及包尾;BOOT程序区在接收到完整的数据包信息后,判断CRC校验码是否正确,若否,则返回重发指令给PC端,PC端重新发送数据包信息给BOOT程序区;若是,则从数据包信息中解析出指定的烧写地址以及烧写的数据,并将数据烧写到指定的烧写地址中。进一步地,所述“通过所述程序备份区实现APP程序或者配置信息的升级备份”具体包括:远程PC端通过升级协议向APP应用程序区推送升级文件,所述升级协议中包含文件大小、文件类型、文件CRC校验码、文件内容以及文件的数据包个数,所述升级文件为APP程序升级文件或者配置信息升级文件;APP应用程序区在接收到完整的升级文件后,判断文件CRC校验码是否正确,若否,则返回重发指令给远程PC端,远程PC端重新发送升级文件给APP应用程序区;若是,则将升级文件备份到程序备份区,且若升级文件为APP程序升级文件,则生成一对应的APP程序升级标志;若升级文件为配置信息升级文件,则生成一对应的配置信息升级标志。进一步地,所述“通过所述BOOT程序区实现远程升级程序”具体包括:BOOT程序正常运行后,BOOT程序区检测程序备份区是否存在APP程序升级标志或者配置信息升级标志,若存在,则将APP程序升级文件拷贝到应用程序区进行升级并运行APP程序,或者将配置信息升级文件拷贝到配置信息区进行升级,且删除APP程序升级标志或者配置信息升级标志;若不存在,则直接运行应用程序区中的APP程序;同时,在运行APP程序的过程中,若出现程序损坏,则从程序备份区拷贝APP程序升级文件至应用程序区,并重新运行APP程序。进一步地,所述“通过所述应用程序区实现外设模块接口的调用”具体包括:客户端向应用程序区发送调用命令数据包,所述调用命令数据包中包含数据头、调用的外设模块、数据长度、CRC校验码、数据内容以及包尾;应用程序区在接收到完整的调用命令数据包后,判断CRC校验码是否正确,若否,则返回重发指令给客户端,客户端重新向应用程序区发送调用命令数据包;若是,则解析出调用的外设模块,并调用相应的接口。进一步地,所述“通过所述配置信息区存储配置参数”具体包括:系统上电后,通过所述BOOT程序区将基本配置参数烧写到所述配置信息区中,所述基本配置参数至少包含厂家的协议版本以及外设模块的使能情况;且在系统第一次上电时,应用程序区先从该配置信息区获取微处理器芯片的唯一ID,并利用加密算法生成一加密数据,之后将加密数据写入到配置信息区中;在运行APP程序时,APP程序从配置信息区读取基本配置参数,并根据基本配置参数确定厂家的协议版本以及外设模块的使能情况;同时,APP程序读取微处理器芯片的唯一ID,利用加密算法生成一加密结果,并将加密结果与配置信息区中的加密数据进行比对,且若比对结果一致,则正常运行APP程序;若比对结果不一致,则执行开机自销毁操作。进一步地,所述“通过所述配置信息区存储配置参数”还包括:BOOT程序正常运行后,通过PC端向应用程序区下发配置指令,应用程序区从配置信息区读取基本配置参数,并将读取的基本配置参数返回到PC端进行修改,之后将修改后的基本配置参数写入到配置信息区中。本专利技术具有如下优点:通过对程序架构的划分,使得在更新程序的时候,可以只更新对应区域的内容,而无需整片擦除和烧写,比如只要更新应用程序区中的APP程序,或者只修改配置信息区中的基本配置参数,这可以缩短软件的更新时间。且在不增加额外存储集成电路的情况下,实现远程升级程序和更新配置参数,可以降低开发成本,提高系统稳定性,提高生产效率,并增加芯片的使用寿命,提高软件售后维护、升级的方便性。附图说明下面参照附图结合实施例对本专利技术作进一步的说明。图1为本专利技术中程序架构的示意图。具体实施方式请参照图1,一种STM32微处理器程序架构设计方法,所述方法包括:将微处理器程序架构划分为四个区,包括BOOT程序区(即图1中的BOOT区)、应用程序区(即图1中的APP区)、配置信息区(即图1中的BACK区)以及程序备份区(即图1中的BASE_INFO_CONF区);且通过所述BOOT程序区实现在线烧写程序和远程升级程序;通过所述应用程序区实现外设模块接口的调用;通过所述配置信息区存储配置参数;通过所述程序备份区实现APP程序或者配置信息的升级备份。其中,所述BOOT程序区分配有24KB的存储空间,分配给BOOT程序区的地址为:0x08000000--0x8006000;所述APP应用程序区分配有100KB的存储空间,分配给APP应用程序区的地址为:0x08006000--0x0801F000;所述信息配置区分配有100KB的存储空间,分配给信息配置区的地址为:0x0801F000--0x08038000;所述程序备份区分配有32KB的存储空间,分配给程序备份区的地址为:0x08038000--0x0803FFF本文档来自技高网...
一种STM32微处理器程序架构设计方法

【技术保护点】
一种STM32微处理器程序架构设计方法,其特征在于:将微处理器程序架构划分为四个区,包括BOOT程序区、应用程序区、配置信息区以及程序备份区;且通过所述BOOT程序区实现在线烧写程序和远程升级程序;通过所述应用程序区实现外设模块接口的调用;通过所述配置信息区存储配置参数;通过所述程序备份区实现APP程序或者配置信息的升级备份。

【技术特征摘要】
1.一种STM32微处理器程序架构设计方法,其特征在于:将微处理器程序架构划分为四个区,包括BOOT程序区、应用程序区、配置信息区以及程序备份区;且通过所述BOOT程序区实现在线烧写程序和远程升级程序;通过所述应用程序区实现外设模块接口的调用;通过所述配置信息区存储配置参数;通过所述程序备份区实现APP程序或者配置信息的升级备份。2.根据权利要求1所述的一种STM32微处理器程序架构设计方法,其特征在于:所述BOOT程序区分配有24KB的存储空间,所述APP应用程序区分配有100KB的存储空间,所述信息配置区分配有100KB的存储空间,所述程序备份区分配有32KB的存储空间。3.根据权利要求1所述的一种STM32微处理器程序架构设计方法,其特征在于:所述“通过所述BOOT程序区实现在线烧写程序”具体包括:系统上电后,所述BOOT程序区开始运行BOOT程序,并判断是否进入ISP模式,若是,则进入ISP模式,并等待接收数据包;若否,则正常运行BOOT程序;进入ISP模式后,PC端先向所述BOOT程序区发送一个握手命令判断是否接收数据包信息,若BOOT程序区应答是,则PC端开始向BOOT程序区发送数据包信息;若BOOT程序区应答否,则PC端不向BOOT程序区发送数据包信息;所述数据包信息包含数据头、数据长度、数据命令、数据内容、CRC校验码以及包尾;BOOT程序区在接收到完整的数据包信息后,判断CRC校验码是否正确,若否,则返回重发指令给PC端,PC端重新发送数据包信息给BOOT程序区;若是,则从数据包信息中解析出指定的烧写地址以及烧写的数据,并将数据烧写到指定的烧写地址中。4.根据权利要求1所述的一种STM32微处理器程序架构设计方法,其特征在于:所述“通过所述程序备份区实现APP程序或者配置信息的升级备份”具体包括:远程PC端通过升级协议向APP应用程序区推送升级文件,所述升级协议中包含文件大小、文件类型、文件CRC校验码、文件内容以及文件的数据包个数,所述升级文件为APP程序升级文件或者配置信息升级文件;APP应用程序区在接收到完整的升级文件后,判断文件CRC校验码是否正确,若否,则返回重发指令给远程PC端,远程PC端重新发送升级文件给APP应用程序区;若是,则将升级文件备份到程序备份区,且若升级文件为APP程序升级文件,则生成一对应的APP程序升级标志;若升级文件为配置信息升级文件,则生成一对应的配置信息升级...

【专利技术属性】
技术研发人员:林世明林智铃
申请(专利权)人:恒鸿达信息技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1