- 博客(5)
- 资源 (16)
- 收藏
- 关注
原创 13.5-“制作一款私有IAP串口下载小工具”之STM32的Bootloader代码编写(包含源码)
一、开发环境与工具STM32CubeMX、TrueSTUDIO、J-Flash V6.32f芯片:STM32L072KBUx二、使用CubeMx新建工程与配置说明使用CubeMX通过芯片型号新建工程。需要配置如下内容:配置系统时钟下载程序的SWD口一个定时器(开启中断)一个串口(开启接收中断)配置过程及详细参数如以下截图所示:注意:只要能实现同样功能即可,不强制必须使用串口1或定时器7。三、通信协议构架代码在单片中需要接收来自上位机的数据,并安装协议规定格式反馈数据。比
2020-08-05 23:59:41 2353 1
原创 13.4-“制作一款私有IAP串口下载小工具”之STM32的Bootloader设计说明
一、原理简要说明从上一章可知,IAP更新程序的原理,就是在单片机flash中的划分出两个区域,分别叫做Bootloader区域和一个App区域。芯片上电启动的时候,会默认运行Bootloader,然后bootloader来做逻辑判断,bootloader会等待5s左右,如果在5s之内收到需要更新固件的命令,则进行固件更新,否则的话,判断芯片中是否已经有之前的可用app。如果有,跳转过去执行app。否则的话继续保持在“等待固件下载模式”。这就是bootloader的大概原理。二、Bootloader逻辑说
2020-08-05 23:37:43 1267
原创 13.3-“制作一款私有IAP串口下载小工具”之上位机软件设计说明(包含源码)
一、原理简要说明实现IAP下载,本质上相当于把单片机编程软件编译生成的bin文件,传递到“单片机的Flash”中。而在传递的过程中可以使用任何数据传输通道,比如:串口,蓝牙,网络等。而传输bin文件的协议可以采用一些标准的格式,也可以完全自定义一个协议。总之,只要满足把bin文件传输到单片机的Flash即可。本文所描述的传递方式采用:串口+私有协议。二、上位机IAP下载工具的功能设计bin文件选择框和选择按钮用于从电脑磁盘上选择一个要传输到单片机的bin文件。串口通信以及协议实现用于和下位机单
2020-08-05 23:25:40 2318
原创 13.2-“制作一款私有IAP串口下载小工具”之串口IAP的通信协议设计
一、前言本章以“串口IAP”来讲解IAP的实现过程。因此,在这里讲一下,具体通过怎样的技术与协议,来把“固件”文件传递到芯片的bootloader中。串口通信方式与参数约定可以使用“RS232”或“RS485”来组成通信链路。串口通信参数约定如下:波特率:57600数据位:8bits校验:None停止位:1 bit二、协议约定协议规则CRC校验码 = [命令类型码 + 命令码 + 命令参数]一个完整封包 = [包头 + 包长 + 命令类型码 + 命令码 + 命令参数 + CRC
2020-08-05 23:22:11 1088
原创 13.1-自己开发一个“单片机烧写工具”!不是开玩笑吧?原来如此^~^(OTA升级)
听到这个"需求"的第一反应“这是开玩笑吧”。我是是一个普通的码农,怎么可能开发出了那么复杂的东西。带着一头冷汗,开始查资料中…原来如此,有一种下载程序的方式叫做“IAP”。 悬着的心终于放了下来。原来“给单片机烧写程序”的实质就是把“编译”好的“程序二进制文件”复制到芯片的flash中,和从电脑传电影到MP4播放器上是相似的原理。只不过现在这个“电影”是 “程序二进制文件”,而单片机就是这个“二进制程序”的“播放器”。一、前言(需求背景)需求背景就是“远程更新硬件设备的芯片程序(固件)”。在开发硬
2020-08-05 23:17:12 4114
STM32L0xx软件校准RC晶振.zip
2020-07-30
nsis-3.02.1-setup.exe
2020-03-28
QT动态语言切换、历史语言记录、QMessageBox和QDialogButtonBox的Ok按钮动态切换汉字
2019-12-25
qt_ffmpeg_mp4_export_and_import.zip
2019-09-04
Qt使用qbreakpad示例工程(win32,macos,linux).zip
2019-06-13
创建cordova工程需要的库文件
2017-08-10
Android拖动,缩放,自定义内容控件源码
2017-06-23
调用cordova插件的一个ionic实例,插件包含android服务
2017-01-05
cordova调用Android关于服务的插件示例
2017-01-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人