STM32 UDS Bootloader开发-上位机篇-CANoe制作(1)

文章目录

    • 前言
    • 功能需求
    • 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关联到对应的系统变量中。

系统变量创建如下所示:

STM32 UDS Bootloader开发-上位机篇-CANoe制作(1)_第1张图片

对应box配置如下:

STM32 UDS Bootloader开发-上位机篇-CANoe制作(1)_第2张图片

STM32 UDS Bootloader开发-上位机篇-CANoe制作(1)_第3张图片

文件路径选择

Panel中提供了一个专门的选择文件路径的模块Path Dialog,配置两个文件选择路径如下:


同样的,创建对应的系统变量


绑定对应的系统变量

STM32 UDS Bootloader开发-上位机篇-CANoe制作(1)_第4张图片
文件有过滤选项Dialog File Filter,可以通过;符号过滤想要的文件类型
示例如下:

hex/s19 File|*.hex;*.s19*|All Files|*.*

进度条

Panel中提供了一个专门的进度条模块Progress Bar,创建对应的系统变量并关联

STM32 UDS Bootloader开发-上位机篇-CANoe制作(1)_第5张图片

Capl Output

通过CAPL Output View模块打印刷写步骤信息

STM32 UDS Bootloader开发-上位机篇-CANoe制作(1)_第6张图片

STM32 UDS Bootloader开发-上位机篇-CANoe制作(1)_第7张图片

开始刷写Button

由于Panel中的Button只能实现按下和释放两个状态,此处我们使用一个LED作为Button功能

STM32 UDS Bootloader开发-上位机篇-CANoe制作(1)_第8张图片

整体界面

STM32 UDS Bootloader开发-上位机篇-CANoe制作(1)_第9张图片

总结

设计好界面之后,就可以开始编写脚本了。通过CAPL实现刷写过程,CAN TP可以通过osek_tp.dll中的API函数实现。普通的Node无法实现类似wait或sleep功能,时间相关的还没怎么处理。刷写脚本将在后面一篇文章中介绍。

你可能感兴趣的:(Autosar进阶,uds,bootloader,上位机)