Gliwa T1软件集成及T1上位机操作说明

一、监控(时间测量)的作用

  1. 监控任务时序,防止功能错误;
  2. 监控数据流,分析数据交互;
  3. 监控内核负载,评估系统性能;
  4. 监控任务运行,评估时序指标

二、CPU负载率监控原理

cpu负载率主要用来衡量一段时间CPU被占用的情况。CPUload = (Ttotal - Tidle)/Ttotal
英飞凌AURIX系列单片机可以使用STM模块进行计时,一次能读32位的数据,在idle任务中添加一个死循环,循环开始时读取当前STM寄存器的值,并和上一次STM值相减,如果大于等于0,累加时间间隔大于最小调度周期的时间(Ts),则负载时间累加,如果小于0,则说明STM寄存器溢出,这时可以计算负载率CPUload = ALLTs/T0。

三、集成工具

序号类型名称
1硬件平台AURIX TC3xx
2操作系统AUTOSAR OS
3监控软件GLIWA T1
4编译器TASKING
5调试器UDE/劳特巴赫

T1软件分为相对独立的两部分:在MCU上运行的目标板软件T1-TARGET-SW;在上位机PC上运行的软件T1-HOST-SW;
T1-TARGET-SW负责监控功能的实现及监控数据初步处理;
T1-HOST-SW负责接收MCU的数据,并将其以可视化界面的形式展现,与T1-TARGET-SW通过CAN总线或以太网进行数据交互。

四、集成步骤

4.1 生成rta文件

4.1.1 RTA-OS cfg软件中添加Os,EcuC,iocNeeds三个文件

在这里插入图片描述
打开已存在的文件B0_Os_EcucValues.arxml,再依次添加B0_EcuC_EcucValues.arxml,iocNeeds.arxml,并将他们的路径设为Relative,这三个文件在ISOLAR-AB生成物中找到

4.1.2 RTA-TRACE Configuration

Os Configuration配置
在这里插入图片描述
Configuration配置
在这里插入图片描述
Filters配置
在这里插入图片描述
Builder配置
在这里插入图片描述
在这里插入图片描述
添加command line setting --using:T1_RTA.h到rtaosgen.exe命令行最前面。
在这里插入图片描述
产生的操作系统.c,.h,asm文件放到项目中编译,产生的RTAOS.rta要放到集成脚本里面去

4.2 修改T1配置文件

将生成的RTAOS.rta文件提供给GLIWA公司,GLIWA根据文件适配操作系统,产生相应的批处理文件、库文件及配置脚本文件
在这里插入图片描述

序号类型名称
1配置文件T1_UserCfg.inv
2配置文件T1_Cfg.inv
3配置文件T1_OsCfg.inv
4批处理T1_projGen.bat
5生成的头文件T1_config.h
6生成的源文件T1_configGen.c
7生成的工程文件T1_project.t1p
8脚本文件T1_perl

T1_UserCfg.inv: 主要涉及tracebuffer大小,设置delay;
在这里插入图片描述
T1_Cfg.inv: 主要修改计时器地址和工作频率,里面也包含通讯Id
在这里插入图片描述
在这里插入图片描述
注:rawTickDurationNs为MCU计时器频率,tickDurationNs为T1计时器频率
T1_OsCfg.inv:包含rta文件的路径,若要测量runnable,则需要添加runnable路径
在这里插入图片描述

4.3 集成T1接口函数

T1_AppInterface.c文件中包含T1_Init, T1_AppHandle, T1_BackgroundHandle, T1_ReceiveFrame, T1_TransmitFrame等函数

  1. 增加T1的CAN id
  2. 增加T1初始化
  3. 将T1_AppHandle:放到所有核的重要任务中调用
  4. 将T1_AppBackgroundHandler:放到所有核的idle任务

4.4 添加一类中断

由于一类中断不由OS管理,故需要特别集成一类中断,在中断函数的起始端和末端添加T1_TraceEvent

4.5 添加runnable

在T1_OsCfg里添加runnable路径

4.6 编译

在每次编译之前,要先通过运行T1_projGen.bat能正确产生t1p项目文件和src里面的T1_config.h,T1_configGen.c文件,把下面三个文件夹里面的.c,.h,.a文件全部放到项目文件里面参与编译。

在这里插入图片描述
为保证各个.h文件以及.c文件在项目中都能被编译进去。在每个插入了T1的API函数的地方,必须包含T1_Appinterface.h头文件。
在进行一次编译成功后,把elf文件下载到目标板中,用debugger观察T1_tracebuffer的状态,正常应该是不断更新中。

五、T1上位机使用

5.1 上位机连接

T1的Dongle(lisence)直接插在电脑上,VECTOR与MCU的CAN线连接,打开T1上位机之前,先VECTOR使能通道。

5.1 .1 导入T1项目文件

在这里插入图片描述

5.1 .2 配置通讯通道

在这里插入图片描述
在这里插入图片描述

5.1 .3 连接MCU

在这里插入图片描述
然后依次激活其他核

5.3 FLEX模块集成

5.3.1 导入elf文件

每个核右键点击导入elf
在这里插入图片描述
elf导入成功后
在这里插入图片描述

5.3.2 开启T1_HandlerPC

开启T1_HandlerPC才能正常使用T1的Scope功能
在Symbol search 里面输入T1_HandlerPC,然后在下面显示的T1_HandlerPC选择点击右键:
在这里插入图片描述
开启成功后显示如下
在这里插入图片描述
在这里插入图片描述

5.3.3 下载数据分析

点download,下载完数据后,会在T1_Scope模块里面显示T1_HandlerPC测试信息
在这里插入图片描述
在这里插入图片描述

5.3.4 时钟准确性测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
按照此种方式可以测所有的TASK和ISR

5.4 runnable测量

方法一:4.5配置文件添加ruannble
方法二:右键Symbol Group Add
在这里插入图片描述
添加成功后右键runnable所在的TASK
在这里插入图片描述
如果TASK中的runnable过多(大于16),则可以选择性分几次测
在这里插入图片描述

5.5 上位机模块说明

T1.scope : 软件运行示波器模块
T1.scope 主要功能是对Tasks 和 ISRs 的时间信息进行实时跟踪和显示,并进行分析,帮助用户对实际系统的时间调度运行情况理解,同时输出报告,产生CSV格式文件

T1.cont : 对目标板进行时间分析和监视模块
T1.cont主要功能是连续对目标板的时间测量和显示,并可以实现在线配置时间限值。
T1.cont 最重要的特点之一就是检查限值,比如一个任务的max. CET。因此不需要停止Trace, 用户不需要从目标板下载Trace 时间信息,就可以连续的检查时间限值是否溢出。如果出现超出限值情况,callback 功能就会运行,触发T1.scope 扑捉当前Trace buffer 的内容,并在T1.scope 图形化显示,用户就可以看出在超出限值时究竟发生了什么。

  • 27
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值