文章目录
- 前言
- 功能需求
- GUI实现
- CAN ID配置
- 文件路径选择
- 进度条
- Capl Output
- 开始刷写Button
- 整体界面
- 总结
前言
在之前的系列文章中,介绍了Bootloader开发的中的下位机软件开发,本文接着介绍上位机软件的开发。主要就是通过调用CAN卡的API函数进行通信。汽车行业中,CANoe作为通信测试的不可或缺的软件,上位机首先基于CANoe和CAPL实现.
功能需求
目前只做了简单的功能,CAN ID可修改,APP File和Flash Driver File可以选择文件路径,一个进度条提示,一个刷写步骤提示。
GUI实现
通过CANoe中的Panel Designer设计GUI界面
CAN ID配置
通过Input/Output Box模块配置CAN ID,并将对应的Symbol关联到对应的系统变量中。
系统变量创建如下所示:
对应box配置如下:
文件路径选择
Panel中提供了一个专门的选择文件路径的模块Path Dialog,配置两个文件选择路径如下:
同样的,创建对应的系统变量
绑定对应的系统变量
文件有过滤选项Dialog File Filter,可以通过;符号过滤想要的文件类型
示例如下:
hex/s19 File|*.hex;*.s19*|All Files|*.*
进度条
Panel中提供了一个专门的进度条模块Progress Bar,创建对应的系统变量并关联
Capl Output
通过CAPL Output View模块打印刷写步骤信息
开始刷写Button
由于Panel中的Button只能实现按下和释放两个状态,此处我们使用一个LED作为Button功能
整体界面
总结
设计好界面之后,就可以开始编写脚本了。通过CAPL实现刷写过程,CAN TP可以通过osek_tp.dll中的API函数实现。普通的Node无法实现类似wait或sleep功能,时间相关的还没怎么处理。刷写脚本将在后面一篇文章中介绍。