[发明专利]一种基于智能巡检机器人本体系统的远程升级方法在审
申请号: | 201810768751.6 | 申请日: | 2018-07-13 |
公开(公告)号: | CN108932133A | 公开(公告)日: | 2018-12-04 |
发明(设计)人: | 周谊;陈娟 | 申请(专利权)人: | 四川超影科技有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;H04L29/06 |
代理公司: | 成都虹盛汇泉专利代理有限公司 51268 | 代理人: | 王伟 |
地址: | 610041 四川省成都市高新区*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 远程升级 智能巡检机器人 反馈响应信息 嵌入式产品 升级程序 升级指令 远程维护 向量表 服务器 管理 | ||
本发明公开了一种基于智能巡检机器人本体系统的远程升级方法;其包括获取升级指令,反馈响应信息至服务器,接收bin文件,运行升级程序。本发明采用远程升级方式,通过对NVIC向量表和RCC时钟进行处理,解决了对嵌入式产品进行远程维护和管理的技术问题,促进了产品的可持续性。
技术领域
本发明属于智能机器人技术领域,具体涉及一种基于智能巡检机器人本体系统的远程升级方法。
背景技术
在应用中编程(IAP,In Application Programming)是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,可在产品发布后方便地通过预留的通信口对产品中的固件程序进行更新升级。
通常在用户需要实现IAP功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信管道(如USB、USART)接收程序或数据,执行对第二部分代码的更新;第二个项目代码才是真正的功能代码。这两部分项目代码都同时烧录在User Flash中,当芯片上电后,首先是第一个项目代码开始运行,它作如下操作:
1)检查是否需要对第二部分代码进行更新;
2)如果不需要更新则转到4);
3)执行更新操作;
4)跳转到第二部分代码执行;
第一部分代码必须通过其它手段,如JTAG或ISP烧入;第二部分代码可以使用第一部分代码IAP功能烧入,也可以和第一部分代码一道烧入,以后需要程序更新是再通过第一部分IAP代码更新。对于STM32来说,因为它的中断向量表位于程序存储器的最低地址区,为了使第一部分代码能够正确地响应中断,通常会安排第一部分代码处于Flash的开始区域,而第二部分代码紧随其后。在第二部分代码开始执行时,首先需要把CPU的中断向量表映像到自己的向量表,然后再执行其他的操作;如果IAP程序被破坏,产品必须返厂才能重新烧写程序,这是很麻烦并且非常耗费时间和金钱的。针对这样的需求,STM32在对Flash区域实行读保护的同时,自动地对用户Flash区的开始4页设置为写保护,这样可以有效地保证IAP程序(第一部分代码)区域不会被意外地破坏。而现有的更新方法无法实现远程更新程序。
发明内容
本发明的发明目的是:为了解决现有技术中存在的以上问题,本发明提出了一种基于智能巡检机器人本体系统的远程升级方法。
本发明的技术方案是:一种基于智能巡检机器人本体系统的远程升级方法,包括以下步骤:
A、获取服务器下发的升级指令,利用工控机接收升级指令并下发至底板;
B、利用底板接收升级指令并反馈响应信息至工控机,工控机接收响应信息并转发至服务器;
C、服务器收到响应信息后发送bin文件至工控机,工控机接收bin文件并下发至底板;
D、利用底板接收bin文件并反馈正在升级信息至工控机,工控机接收正在升级信息并转发至服务器;
E、利用底板根据bin文件将升级程序写入到APP运行的起始地址,然后跳转至APP程序中开始运行。
进一步地,步骤E还包括升级程序运行出错时,使能看门狗从APP程序跳转回到IAP操作,恢复原始程序。
进一步地,所述从APP程序跳转回到IAP操作时,恢复NVIC向量表和RCC时钟为复位状态,并按照预设参数设置NVIC向量表和RCC时钟。
进一步地,步骤E还包括升级程序运行成功时,利用底板反馈升级成功信息至工控机,工控机接收升级成功信息并转发至服务器。
进一步地,所述升级程序升级完成后,恢复NVIC向量表为复位状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川超影科技有限公司,未经四川超影科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810768751.6/2.html,转载请声明来源钻瓜专利网。