在使用STM32F103C8T6单片机IAP功能时,可以自己写bootloader程序,也可以使用官方bootloader文件。下面说一下使用官方bootloader的使用方法。
首先下载官方bootloader文件
目前使用的是这个版本,打开文件夹,选择适合自己编译器的工程。

目前使用的是keil,所以打开MDK-ARM文件夹

打开IAP工程

打开后根据自己的单片机型号,对工程进行简单的修改。用的是STM32F103C8T6单片机,FLASH为64K,SRAM为20K。

设置IROM1的起始地址和大小。

设置引用的头文件,STM32F103C8T6为中等容量,所以设置文件为STM32F10X_MD,。
下来要设置APP的起始地址,这个地址要和下载的APP运行地址对应,否则下载的APP不能正常运行。

在common.h 头文件中将 ApplicationAddress 地址设置为APP在FLASH中存储的位置。要因为要测试的APP在FLASH中的起始位置为0x8005000,所以此处将ApplicationAddress值也设置为0x8005000。然后编译项目

没有出现错误,将代码下载到单片机中。然后打开secureCRT软件。

选择串口端口号和波特率

程序默认波特率为115200,8位数据位,1位停止位。无奇偶校验位。设置好之后选择连接。

然后给单片机重新上电,这时候软件上就会显示提示信息。

然后按键盘的数字1,准备下载bin文件。

在菜单栏上面选择 传输----发送Ymodem选项。

选择要下载的bin文件,然后点添加按钮。
添加好bin文件后,选择确定按钮。


文件传输成功后,会出现提示信息。这时候说明bin文件已经下载到了FLASH中。
下来在按键盘上的数字3,APP就开始执行了。
这个串口软件上没有回显功能,所以按下的数字键,界面上不会显示的。光标永远是个小黑点在闪烁。APP有没有成功运行,直接看单片机的现象就行。

STM32F103C8T6用官方bootloader实现IAP升级操作方法相关推荐

  1. STM32 USB HID IAP升级

    找了网上大量的资料,最后发现这个东西人家还出售源码.又不是什么算法级的东西,实在理解不了. 至于为什么要用HID,不用官方的DFU,因为驱动呀,DFU识别USB的时候还是要装驱动,客户你永远理解不了他 ...

  2. STM32F103C8T6单片机IAP升级

    关于IAP升级的方法和原理,网上已经有很多资料了,这块就不再说了,现在就将bootloader和app配置方法整理如下: APP程序就是一个简单的LED闪烁. APP设置为从FLASH中启动: STM ...

  3. STM32 IAP升级(bootLoader)

    STM32 IAP升级(bootLoader) 今天给大家做一个STM32F系列的IAP 升级, 网上有不少例子,我这里字数有点多如果看请耐心看完,如果嫌麻烦可以看其他的帖子 我这边以103为例子,用 ...

  4. STM32F4单片机bootloader及在线升级IAP基本原理

    STM32F407基础总结系列(三) STM32F4bootloader及在线升级IAP基本原理 一 .前言 二.背景知识补充 2.1 系统启动过程 2.2 内存映射分布 三.bootloader 3 ...

  5. LPC11U3x系列IAP升级 BootLoader分析

    首先要明确LPC11Uxx系列的程序执行开始地址是0x00000000, 从0x0开始的512字节大小的存储空间存放的是中断向量表,之后便是程序,数据一般存放在8KB大小的SRAM中.(具体可参考LP ...

  6. 国民技术N32G430开发笔记(9)- IAP升级 Bootloader的制作

    IAP升级 Bootloader的制作 1.上节提到Flash的分区,0x8000000-0x8004000为Boot分区,我们的bootloader就烧录到此分区. Bootloader很简单,新建 ...

  7. STM32升级方法(一):IAP升级

    此博客主要用于记录学习过程中的心得以及防止遗忘,下面的一些图片来源于网上,如有侵犯请联系. STM32芯片的升级方式众多,这里简单介绍下,主要有ICP((In-Circuit Programming ...

  8. STM8 IAP升级程序设计详解 - IAR环境

    一 STM8 IAP 原理分析 IAP原理非常简单,首先我们需要设计两个程序,然后在第一个程序(即Bootloader)中接收(通过串口.IIC.SPI等)第二个程序(即App)的代码,并写入Flas ...

  9. GD32F4XX IAP升级

    这里使用的是GD32F405RG,flash 为1M(0x08000000 - 0x080FFFFF),具体参考官方手册 因为每个芯片的falsh大小不一样,地址划分根据实际flash大小和自己的设计 ...

最新文章

  1. 牛客练习赛81 小Q与彼岸花 (分块+可持久化01trie)
  2. Python web 开发:部署一个3行代码的wsgi app
  3. HDU 5695 Gym Class 拓扑排序
  4. 一文理解拉格朗日对偶和KKT条件
  5. python读取json文件转化为list_Python从所有子目录读取JSON文件
  6. lisp方格网法计算土方量_CAD土方软件方格网法与三角网法相结合,准确计算土方量...
  7. 第五天 断点续传和下载
  8. C语言的atoi和C++的to_string
  9. $(document).scrollTop()与$(window).scrollTop()
  10. wp自定义帖子没标签_ofollow标签的作用有重大变化
  11. fprintf,input和disp函数
  12. 江苏高考成绩什么时候可以查询2021,2021年江苏高考成绩什么时候公布出来,几月几号几点钟可以查询...
  13. 高质量C /C编程指南---第2章 步调的版式
  14. 基于javaweb+jsp的大学生个人财务记账系统(带报告文档)
  15. Duet Display用一根数据线将iPad变身扩展显示器
  16. Belief propagation
  17. 《卓有成效的管理者(The Effective Executive)》读后感
  18. 疫情下的春招季:AI面试官已就位,请接招!
  19. 数据结构(三)---树
  20. ​力扣解法汇总954-二倍数对数组

热门文章

  1. Windows 10 Build 9879 新变化(内含ISO下载)
  2. 解决CHROME中画布中无法显示图片的方法
  3. 解析Java对象引用与JVM自动内存管理(2)
  4. 计蒜客 2019 蓝桥杯省赛 B 组模拟赛(一)
  5. Django-urls路由系统
  6. 无外网情况下RPM方式安装MySQL5.6
  7. window.onload与document.ready的区别
  8. tp mysql 去重
  9. a href=javascript:void(0)
  10. 【Linux】Linux的常用远程工具