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)怀 ...
随机推荐
- 对于并发任务,应该使用 Task 替代 BackgroundWorker
背景 EF + Oracle,并发存储监控记录,使用 BackgroundWorker 时产生错误如下: public void MonitorLogging(DateTime DateStart, ...
- 开发板与pc之间文件传输:kermit and lrzsz
imx6开发板与pc机之间通过串口传输文件步骤: 1. 安装好kermit并可以使用 2. 交叉编译lrzsz开源软件并把可执行程序lrz lsz拷贝到开发板 2.1 下载并解压lrzsz-0.12. ...
- Hibernate-validator数据验证
前言 数据效验工作在开发工作中,是非常重要的,保证数据的正确性,可靠性,安全性.不仅在前端进行效验,还要在后台继续进行效验. 前端做验证只是为了用户体验,比如控制按钮的显示隐藏,单页应用的路由跳转等等 ...
- Javascript获取JSON对象长度
- FireDAC 中文字段过滤问题
当使用 FireDAC Filter 过滤数据的时候,通常这样写: FDMemTable.Filtered := False; FDMemTable1.Filter := '姓名=' + strin ...
- php位运算及其高级应用
我们之前学过逻辑与(&&) 条件1 && 条件2 当两边条件同时成立时候返回1 逻辑或(||) 条件1 || 条件2 当两边条件只要有一 ...
- LOJ3123 CTS2019 重复 KMP自动机、DP、多项式求逆
传送门 CTS的计数题更完辣(撒花 Orz zx2003,下面的内容在上面的博客基础上进行一定的补充. 考虑计算无限循环之后不存在子串比\(s\)字典序小的串的个数.先对串\(s\)建立KMP自动机, ...
- oracle数据库 部分函数的用法
select * from tab; //获取当前用户的数据库的所有表名 select sys_guid(),UserName from TESTLIKUI; //获取guid select sys_ ...
- SharePoint中用Power shell命令设置文档库列表的权限
首先停止继承权限 $web = Get-PnPweb $spoList= Get-PnPList "Testlist" -Web $web (注释:获取对象)$spoList.Br ...
- Flutter 实现图片裁剪
实现原理很简单 ,自己绘制一个裁剪框, 根据手势 选择到适合的位置 ,然后将选中的区域绘制到一个新的图片上,从而完成裁剪 裁剪框的绘制 这里我是根据点来连线的 因为每个点上会绘制一个拉伸的标识符 ...