博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bootloader
阅读量:5266 次
发布时间:2019-06-14

本文共 743 字,大约阅读时间需要 2 分钟。

1) C#

为了给设备升级固件,在前同事的基础上改了下,在.NET Framework下写的。

 

2)Tera Term + ttl

上面.NET平台的运行文件虽然小巧,但是依赖.NET Framework框架,而且这个框架还比较大,有些系统缺这个,装起来麻烦。

于是换了个办法,用Tera Term超级终端。

Tera Term 超级终端, 自带ttl脚本,很方便定制操作流程。

如下实例是在串口端通过xmodem协议更新MCU固件。

     

几行代码 就能清晰的描述 一个繁琐的握手协议 并且 使用xmodem协议发送文件。

文件发送协议也可以自定义,具体细节请看Tera Term安装目录下的help文档。

 

3)上面脚本已经够简单了,但是用户还是希望有个界面,于是添加一个qt界面来运行这段脚本,个人感觉非常不和谐。

 

4)感觉是不是窗口有点多,但是又不能去掉,因为都是Tera Term内置的,这里只是调用exe执行文件,哎...算了,推到重来! 还是从稍微熟悉点的qt下手,不用什么超级终端,这里有个现成的,

握手流程改一下就OK了。

 

5)发现qt对XP系统下的USB CDC 接口支持不彻底,XP以上系统都正常。

在XP系统下烧录完一次,再烧第二次就连不上USB CDC的虚拟串口了,正常的串口是没这个问题的。非要重新插拔一次才能重新连上。

于是加了个xp系统的选项,并且引导用户做个插拔的流程。

 

6)折腾完,总算解脱了。

...

你以为就这样完了,没那么简单!

我们的设备是通过充电座连接USB的,把设备放上充电座容易抖动,一抖动就相当于USB插拔了n次,直接灸挂了。

折腾无止尽...

 

转载于:https://www.cnblogs.com/dong1/p/5472340.html

你可能感兴趣的文章
C# GC 垃圾回收机制
查看>>
mysqladmin 修改和 初始化密码
查看>>
字符串
查看>>
vue2.x directive - 限制input只能输入正整数
查看>>
实现MyLinkedList类深入理解LinkedList
查看>>
自定义返回模型
查看>>
C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 客户端多网络支持
查看>>
HDU 4122
查看>>
Suite3.4.7和Keil u3自带fx2.h、fx2regs.h文件的异同
查看>>
打飞机游戏【来源于Crossin的编程教室 http://chuansong.me/account/crossincode 】
查看>>
[LeetCode] Merge Intervals
查看>>
【翻译自mos文章】当点击完 finishbutton后,dbca 或者dbua hang住
查看>>
Linux编程简介——gcc
查看>>
2019年春季学期第四周作业
查看>>
MVC4.0 利用IActionFilter实现简单的后台操作日志功能
查看>>
windows下mongodb安装与使用
查看>>
rotate the clock
查看>>
bugku 变量
查看>>
Python 环境傻瓜式搭建 :Anaconda概述
查看>>
数据库01 /Mysql初识以及基本命令操作
查看>>