[发明专利]基于STM32F4控制器的程序远程下载的实现方法无效
| 申请号: | 201310463593.0 | 申请日: | 2013-10-08 |
| 公开(公告)号: | CN103514018A | 公开(公告)日: | 2014-01-15 |
| 发明(设计)人: | 袁三男;王绍徐 | 申请(专利权)人: | 上海电力学院 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445 |
| 代理公司: | 上海申汇专利代理有限公司 31001 | 代理人: | 吴宝根 |
| 地址: | 200090 *** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 stm32f4 控制器 程序 远程 下载 实现 方法 | ||
1.一种基于STM32F4控制器的程序远程下载的实现方法,其特征在于,包括如下具体步骤:
1)将STM32F4的引导加载程序bootloader通过上位机的串口与STM32F4系统连接,程序开始后即进行STM32F4系统初始化和参数设置,同时解锁STM32F4系统Flash,以备Flash的读写操作,初始化串口,开启串口中断,STM32F4系统和上位机的通信完全通过串口的STM32F4_bootloader来实现;
2)STM32F4_bootloader每隔1秒向串口输出信息,同时检测上位机是否发送程序重下载命令信息,如果5秒内没有收到串口信息,则系统自动运行在Flash固定位置的用户应用程序,如5秒内收到上位机数据,则通过串口输出菜单信息,用户选择使用STM32F4_bootloader处理用户程序;
3)若用户输入‘1’,则进行程序下载,通过串口将上位机中已经编译连接后的*.bin文件下载到STM32F4的内部Flash固定位置中;若用户输入‘2’则进行逆过程,将STM32F4内部Flash固定位置中的内容上传到上位机文件;若用户输入‘3’则进行用户程序的自动执行,从STM32F4内部FLASH固定位置开始执行程序。
2.根据权利要求1所述基于STM32F4控制器的程序远程下载的实现方法,其特征在于,所述串口的发送接收数据采用了YMODEM协议。
3.根据权利要求1所述基于STM32F4控制器的程序远程下载的实现方法,其特征在于,所述步骤1)STM32F4系统初始化,STM32F4_bootloader程序驻扎STM32F4内部Flash空间的Sector0,其系统地址为0x0800 0000 ~ 0x0800 3FFF,应用程序下载空间固定从Sector1即地址0x0800 4000开始,应用程序大小限制于在Sector1~ Sector11之间,执行应用程序时,固定从地址0x0800 4000开始。
4.根据权利要求3所述基于STM32F4控制器的程序远程下载的实现方法,其特征在于,所述步骤1)STM32F4系统参数设置,按照正常流程生成的应用程序是按照从Flash的0地址开始执行的,其地址配置、中断向量表进行修正,具体包括如下步骤:
A:生成默认运行程序:
首先按照正常的操作流程、默认配置建立应用程序;
B:修改应用程序的地址空间:
按照默认流程编译连接产生的应用程序,修改对应于Flash的0地址,也即STM32F4的系统地址空间Sector0,应用了STM32F4_bootloader以后,Sector0空间由STM32F4_bootloader占据;修改Flash下载地址Sector1,系统上电后首先执行STM32F4_bootloader,当下载、上传或执行应用程序时按照从应用程序下载空间Sector1开始;
C:修改应用程序的中断向量表地址:
将原来中断向量地址从Flash的0地址开始,改为Flash下载地址Sector1开始,当加了STM32F4_bootloader以后,中断向量表必须进行偏移;
D:将Keil uvision MDK环境中生成的axf文件转换为bin文件:
在Keil uvision MDK的集成开发环境中,默认情况下生成*.axf格式的调试文件和*.hex格式的可执行文件,将*.axf格式文件或*.hex格式文件转换成二进制*.bin格式的文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海电力学院,未经上海电力学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310463593.0/1.html,转载请声明来源钻瓜专利网。





