链接:https://pan.baidu.com/s/1JZQHOvwi2fQU0hPGyGe6wA
提取码:kq7t
STM32 IAP(上位机部分)这里是STM上位机部分,我这里用的C# 写的一个winform 程序, 主要功能就是给下位机下发消息,然后验证消息是否正确。如果没有看到下位机的朋友可以去看下我下位机,具体的通信协议都在下位机帖子里面传送门: STM32 IAP升级(bootLoader) 单片机部分下面是软件图示,基本包括串口设置扫描,发送和接收对应的格式(忘记了好像只有一种没有做切换),然后一键更新代码进度条加载。然后bin导出 hex.txt 文本可以用于文件服务器下发到8266更新单片机。
2. 该项目包含三个部分(三套代码):
运行在STM32平台的Bootloader;
运行在STM32平台的App(我做了两个,一个是支持usmart的重量版,一个是很简洁的轻量版);
运行在Windows平台的上位机操作工具。
3. 本篇是属于运行在STM32平台的Bootloader部分,另外两篇介绍请参阅:
windows平台操作工具
STM32平台的APP(支持USMART的版本) STM32平台的APP(轻量版)
4. 该部分作为Bootloader可运行在多个STM32F10x系列:
CL系列、XL系列、HD系列、HD_VL系列、MD系列、MD_VL系列、LD系列、LD_VL系列。
5. 这套代码几乎不用移植就可以用在你的项目上。只需要简单的根据你的项目配置工程。
IAP开发---下位机STM32+上位机Linux一、准备工作二、IAP系统开发2.1 IAP简介2.2 IAP下位机开发2.2.1 刷写文件选择2.2.2 Bootloader程序框架2.2.3 Bootloader程序开发2.2.3.1 Bootloader Keil设置2.2.3.2 APP Keil设置2.2.4 Bootloader通信协议2.3 IAP上位机开发2.4 IAP系统功能测试三、开发总结
唠叨两句,IAP功能应该是嵌入式开发中最常用的功能,而且这玩意开发完后可以后期无限复用,之前接触
上段时间杂事比较多,没来得及写东西,下面开始记录一下这几天开发的第一个算是比较合格的上位机吧。首先板子上面使用CH340串口,RX和TX连接PA9和PA10使用usart进行通信,led的端口可以自行配置,但是需要改动加入我编写的一部分程序,我这里是使用库函数编写的,如果使用其他方式编写的,不能移植的。下面先说led.c部分:
这里添加了一个LED的控制函数,并且回传给上位机,显示在LCD屏幕上,其中flag0和flag1分别传递两个LED的状态,重要的一点是延时函数一定要加上,否则会导致两个串行通信的
笔者的开发板是正点原子的stm32F103zet6迷你板。串口的使用是USART1.单片机相关串口的程序就不讲解,编写上位机程序是使用C++语言,在VS2017里面编写,下面进入正题。
一、相关知识
大家可以先参考一下这篇blog,C++串口通信里面详细讲解了C++串口的相关知识,以及一些函数的讲解。
下面我也会根据他的blog再讲解。
二、实现过程
1、打开串口:
使用函数:HANDLE CreateFile();
HANDLE CreateFile(
LPCTSTR lpFileName
DWORD