TSMaster软件
它是一个媲美canoe的软件,详细介绍点击此处查看TSMaster,软件下载
好了,来看看它的刷写怎么编写吧
1、OEM选择
主机厂选择,这个用于刷写和boot时读DID需要。
2、提示
当前操作在哪一步,会提示加载配置文件成功/失败;读取did成功/失败;刷写成功/失败;修改ID、DID成功/失败;加载刷写文件成功/失败;等。
3、配置文件
路径框,加载配置文件paramerter.txt的绝对路径,不需要自己改,下面会详细说明怎么获取配置文件路径。
4、alter
点击,窗口自动弹出paramerter.txt,去修改里面的值,然后textbox里会自动刷新修改的值。此按钮是调用windows的exe命令来操作txt。下面会详细说明怎么获取exe命令。
5、info
配置文件路径正确时,会自动加载ID、DID的值,也可以在框里改值,16进制格式;最后选择app还是boot里读取。读取的值会以ASCII格式显示在界面上,一 一对应。
6、read
点击,获取info信息,读取DID。
7、文件个数
需要刷写的文件个数。
8、下载次数
需要连续下载的次数
9、app path
需要连续刷写的次数
10、driver path
路径框,获取driver绝对路径并显示出来。
11、app path
路径框,获取app绝对路径并显示出来。
12、load
点击,出现文本框找寻刷写文件路径,然后会将路径写入paramerter.txt并显示在路径框里;此按钮是我自己做的exe(API)来操作的(TSMaster控件无路径按钮),调用windows的exe命令来操作。下面会详细说明怎么做一个exe。
13、ok
点击,进行刷写;
14、下载进度
刷写的进度条,范围:0-100;
(1)用app.get_configuration_file_path函数获取当前工程目录,再用sprintf函数去获取配置文件路径,如下图
(2)找到cfg文件夹就可以fopen,fgets读取parameter.txt的值。parameter.txt里的值,如下图
可以清楚的看到[ID]/[DID]/[FILE],与panel的信息一一对应。
ID就不说了,用来发报文id,DID是用于获取ECU版本信息。
(3)通过程序启动事件将上面获取的值赋值给系统变量,而控件又绑定了系统变量,因此,控件显示出配置文件的值。
要想直接点击button按钮就弹出txt文件,如下图效果:
代码如下图:通过app.execute_app()函数调用windows下的notepad.exe打开配置文件路径,本来想用system的,但是TSMaster已经集成这个函数了,故选择它。并且打开时,没有命令窗口,完美!
要想跟canoe一样,实现用户自己查找刷写文件并把路径加载在textbox框里,就得自己做一个exe,同样用system或者app.execute_app()。
我的思路:
(1)用VS2019建一个命令c++文件,做一个exe。
(2)弹出电脑盘符窗口,VS部分代码,可以识别.s19或者.hex,看自己选择。如下图
效果如下图:
(3)刷写文件打开后,还需要将它写入配置文件中,而配置文件路径跟exe有关系,就同一个工程目录下(自己建)
VS代码写完集成exe后,exe集成在VS目录下解决方案文件下,然后把exe放到\exe\下,实在不会做exe的请去度一下。VS代码如下图
①获取当前exe文件路径
②出现选择刷写文件的窗口,选择文件
③拆掉exe,只保存当前工程路径
④拼接配置文件路径
⑤只读方式打开配置文件
⑥找到配置文件中的apppath字符串,因为要在这一行写入路径
⑦写入刷写文件路径
⑧只写方式打开配置文件
⑨写入成功后,程序自动刷新面板路径
当界面信息确认好后,即可开始刷写。老操作,文件先要解析后数据存入数组buff中以便传输。
1、文件解析
S1 10 2000 00 00 00 00 00 00 00 00 00 00 00 00 10 BF
如上数据:
:020000020FFBF2
:021000000001EC
如上数据: