stm32f103c8t6 怎么使用IAP下载程序
首先下载官方STM32F10X的IAP Bootloader源码,STM32F10x_AN2557_FW_V3.3.0。
用Keil4打开工程代码STM32F10x_AN2557_FW_V3.3.0ProjectIAPMDK-ARMIAP.uvproj
工具/原料
电脑
stm32开发板
方法/步骤
第一步:因为我们是用的STM32F103C8T6 是64K Flash,所以特别重要的是修改Flash宏,如下图示,改为:STM32F10X_MD。
代码中对不同规格的Flash做了处理。
第二步:限定一下IAP BootLoader的Flash大小,如下图示:为 0x2FFF。所以应用层代码在 0x8003000位置。
如上则完成了我们BOOT工程的修改,可以进行编译烧录了,烧入后,连接我们的串口助手,会显示如下信息:如图,输入1,则是进行串口程序写入,输入2,则是串口程序读出,输入3,则是执行应用层程序。
接下来,我们编译一个简单的APP测试闪灯程序,需要注意程序几个关键的配置操作。
第一步:设置APP程序的写入位置,从0x8003000开始:
第二步:在程序开始处,重新设置一下中断向量表的位置,如下图示:初始化到0x8003000位置。
第三步,设置编译出BIN文件,如下图示,添加上一段编译指令。
E:SoftwareKeil4.74ARMARMC\bi\fromelf.exe --bin -o ./output/test.bin ./output/test.axf
如果自己的路径有问题的,需要自己做一下调整。以上完成了所有操作可以编译后,会看到 test.bin文件。
最后,我们利用串口助手,以ymodem协议发送该bin文件,实现升级。
第一步:输入1,进行文件发送状态
完成后如图,发送"3",检查开发板指示灯是否闪烁,闪烁即代表成功执行了应用程序。
stm32f103c8t6 怎么使用IAP下载程序的更多相关文章
- php实现在线下载程序安装包功能
在线下载程序安装包可以很方便在服务器端下载各种程序安装包(Discuz!.phpwind.Dedecms.WordPress....等一些常用程序)并存储在服务器,大大减少站长上传程序安装包时间.默认 ...
- 学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装
在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘.可是,这两天,他又抱怨他的下载程序不好用,让我 ...
- C#一个简单下载程序实例(可用于更新)
运行时的界面 using System; using System.Collections.Generic; using System.ComponentModel; using System.Dat ...
- LPC2378-Jlink 能下载程序,但是调试出现各种奇怪问题
LPC2378-Jlink调试经验 1.Jlink(d版的没有关系)不能下载程序? 把下载速率设置到500Khz及以下的速率. 2.Jlink能在500Khz的速率下载程序,但是不能调试?添加 ...
- 关于第一次STM32连接电脑下载程序
安装了Keil(ARM)版本之后,不管是自己编程,还是配套的程序运行.我们都想把它下载到STM32芯片里面,在板子上运行.这里介绍几种方法. 1.用J-LINK下载调试. 这个工具,可以直接点击kei ...
- centos 7 运行Quartus ii 17.0 标准版,下载程序时遇到错误error (209053): unexpected error in jtag server -- error code 89
对于错误error (209053): unexpected error in jtag server -- error code 89,它产生的原因在于,在linux系统下,Quartus ii的驱 ...
- SubTool 电影字幕下载程序
项目地址 https://github.com/backtracker/SubTool 程序说明 作为一个高清电影爱好者,找字幕的痛苦懂的人自然会懂.我在网上找了很久,并没有找到好用的字幕下载程序,于 ...
- 台达PLC实现远程下载程序
台达PLC实现远程下载程序 日期:2019-04-27 时间 08:33:57 让物联变得更简单 18-09-2411:25 明明在公司调试没问题的设备一到 ...
- vivado2016.1下载程序出错:End of startup status: LOW
现象 使用JTAG下载程序,发现刚开始下载就出现了End of startup status: LOW错误.但能检测到芯片,证明JTAG没烧毁. 流程 前几次下载都没有问题,然后就有问题了. (1)怀 ...
随机推荐
- 关于close_wait状态的理解
以web服务器产生大量的close_wait状态为例 1.close_wait状态介绍: 客户端主动关闭连接,服务器接收到客户端的FIN,但是还没有发送自己的FIN,此时的状态为close_wait状 ...
- elementui禁用全选按钮
document.getElementsByClassName('el-checkbox__input')[0].classList.add('is-disabled') doc ...
- C语言实现简单的计算器(加、减、乘、除)
利用运算符做为swich case 语句条件,实现简单程序的编写;并且对输入的运算做判断,除数为零也需做判断; #include<stdio.h> int add(int a, int ...
- JVM运行参数优化详细教程
获取设置的参数str的值: 常用的-X参数有以下这些: 手动调用GC执行垃圾回收操作:(-XX:+DisableExplicitGC 手动调用将会失效) 查看tomcat的进程ID: 或者:
- jquery 如何获取select 选中项的下一个选项的值
<select> <option value="1" selected="selected">a</option> < ...
- Postman 基本使用
Postman 基本使用 Postman主界面 工具栏 New: 新建,可以新建Request请求,Collection请求集,环境等等 Import: 导入,可以导入别人导出的请求集 Runne ...
- Vasya and Shifts CodeForces - 832E (高斯消元)
大意: 给定$4n$个$m$位的五进制数, $q$个询问, 每个询问给出一个$m$位的五进制数$b$, 求有多少种选数方案可以使五进制异或和为$b$. 高斯消元入门题 每次询问相当于就是给定了$m$个 ...
- COCOeval接口使用
COCOeval类简介 class COCOeval: # Interface for evaluating detection on the Microsoft COCO dataset. # # ...
- 运行时找到main方法所在的类
private Class<?> deduceMainApplicationClass() { try { StackTraceElement[] stackTrace = new Run ...
- MySQL5.7.16安装及配置
一.下载 下载页面http://dev.mysql.com/downloads/mysql/ 选择系统平台后,点击download(根据系统选择64或32位) 二.配置 1.下载成功后,解压安装包到要 ...