【技术实现步骤摘要】
本专利技术涉及通信领域,特别涉及一种STM32的USB在线升级方法及系统。
技术介绍
目前,STM32F103RCT6只能支持ICP(在电路编程)下载(jtag方式下载)和ISP(在系统编程)下载方式(串口ISP下载模式),这在大批量生产和维护的情况下及其不方便,生产效率也不高。同时,由于ICP下载程序需要使用到JTAG(联合测试)工具,这对售后或用户更新程序相当的不方便;而ISP下载程序需要使用到串口,由于现在新的个人计算机有很多都没有配置串口功能,因此更新程序也相当的不方便。
技术实现思路
本专利技术要解决的技术问题之一,在于提供一种STM32的USB在线升级方法,该方法可以实现利用集成电路本身带有的USB接口进行程序更新和维护。本专利技术是这样实现技术问题之一的:一种STM32的USB在线升级方法,所述方法包括如下步骤:步骤1、使用预烧工具将HID的boot程序烧写到芯片的程序加载区中;步骤2、系统启动后,boot程序将USB设备初始化为HID高速设备;步骤3、将USB设备与USB主机连接,USB主机枚举USB设备;步骤4、枚举成功后,USB设备从USB主机接收APP程序数据包,并将APP程序数据包存储到USB设备的数据备份区中;步骤5、重启USB设备,将APP程序数据包从数据备份区拷贝到APP数据区,并跳转至APP应用区运行APP程序。进一步地,所述步骤2具体为:启动系统,运行boot程序,初始化时钟,判断是否进入更新程序模式,若是,则将USB设备初始化为HID高速设备,并进入步骤3;若否,则判断APP数据区中有无APP程序,若无,则将USB设备初始 ...
【技术保护点】
一种STM32的USB在线升级方法,其特征在于:包括如下步骤:步骤1、使用预烧工具将HID的boot程序烧写到芯片的程序加载区中;步骤2、系统启动后,boot程序将USB设备初始化为HID高速设备;步骤3、将USB设备与USB主机连接,USB主机枚举USB设备;步骤4、枚举成功后,USB设备从USB主机接收APP程序数据包,并将APP程序数据包存储到USB设备的数据备份区中;步骤5、重启USB设备,将APP程序数据包从数据备份区拷贝到APP数据区,并跳转至APP应用区运行APP程序。
【技术特征摘要】
1.一种STM32的USB在线升级方法,其特征在于:包括如下步骤:步骤1、使用预烧工具将HID的boot程序烧写到芯片的程序加载区中;步骤2、系统启动后,boot程序将USB设备初始化为HID高速设备;步骤3、将USB设备与USB主机连接,USB主机枚举USB设备;步骤4、枚举成功后,USB设备从USB主机接收APP程序数据包,并将APP程序数据包存储到USB设备的数据备份区中;步骤5、重启USB设备,将APP程序数据包从数据备份区拷贝到APP数据区,并跳转至APP应用区运行APP程序。2.根据权利要求1所述的一种STM32的USB在线升级方法,其特征在于:所述步骤2具体为:启动系统,运行boot程序,初始化时钟,判断是否进入更新程序模式,若是,则将USB设备初始化为HID高速设备,并进入步骤3;若否,则判断APP数据区中有无APP程序,若无,则将USB设备初始化为HID高速设备,并进入步骤3;若有,则校验APP程序的CRC值是否正确,若正确,则跳转至APP应用区运行APP程序;若错误,则从数据备份区拷贝存储的APP程序数据包至APP数据区,并重启USB设备运行APP程序。3.根据权利要求1所述的一种STM32的USB在线升级方法,其特征在于:在所述步骤3中,所述“将USB设备与USB主机连接”具体为:将USB设备与USB主机连接,并在USB设备的数据线上接一1.5K的上拉电阻,使USB设备与USB主机之间产生3V电压;USB主机的集线器在检测到3V电压后,告知USB主机有USB设备接入,USB主机检测并连接USB设备。4.根据权利要求1所述的一种STM32的USB在线升级方法,其特征在于:在所述步骤3中,所述“USB主机枚举USB设备”具体为:USB主机对USB设备进行复位,复位后USB设备用端点0来传输数据;USB主机向USB设备发送获取设备描述符指令,USB设备收到指令后,通过端点0将设备描述符信息返回给USB主机,且若端点0中包含完整的18字节设备描述符信息,则将完整的设备描述符信息返回给USB主机;而若端点0中包含的设备描述符信息小于18字节,则将已包含的设备描述符信息返回给USB主机;其中,完整的设备描述符信息包括USB协议版本信息、厂家VID信息、数据包大小信息以及PID信息;USB主机对USB设备进行再复位,并分配一唯一地址给USB设备作为新地址;USB主机再次向USB设备发送获取设备描述符指令,USB设备收到指令后,若端点0中包含完整的18字节设备描述符信息,则通过新地址将完整的18字节设备描述符信息返回给USB主机;若端点0中包含的设备描述符信息小于18字节,则通过新地址将已包含的设备描述符信息返回给USB主机,并继续向USB设备发送获取设备描述符指令,直至将完整的18字节设备描述符信息均返回给USB主机;获取完设备描述符信息后,USB主机向USB设备发送获取配置描述符指令,USB设备收到指令后,通过新地址将配置描述符信息返回给USB主机;其中,配置描述符信息包括设备类型信息、总线供电方式信息、数据包大小信息、端点传输及接收数据的信息;获取完配置描述符信息后,USB主机向USB设备发送获取报告描述符指令,USB设备收到指令后,通过新地址将报告描述符返回给USB主机,获取的报告描述符的数据信息包括设备类型信息、报告ID信息、数据位数信息、数据长度信息、逻辑最大值信息以及逻辑最小值信息。5.根据权利要求1所述的一种STM32的USB在线升级方法,其特征在于:在所述步骤5中,所述“将APP程序数据包从数据备份区拷贝到APP数据区,并跳转至APP应用区运行APP程序”具体为:将APP程序数据包从数据备份区拷贝到APP数据区,并校验APP程序的CRC值是否正确,若正确,则跳转至APP应用区运行APP程序;若错误,则从数据备份区拷贝存储的APP程序数据包至APP应用区,并重启USB设备运行APP程序。6.一种STM32的USB在线升级系统,其特征在于:所述系统包括预烧模块、初始化模...
【专利技术属性】
技术研发人员:胡崟春,林智铃,
申请(专利权)人:恒鸿达信息技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。