Gliwa T1软件集成及T1上位机操作说明
打开已存在的文件B0_Os_EcucValues.arxml,再依次添加B0_EcuC_EcucValues.arxml,iocNeeds.arxml,并将他们的路径设为Relative,这三个文件在ISOLAR-AB生成物中找到。在每次编译之前,要先通过运行T1_projGen.bat能正确产生t1p项目文件和src里面的T1_config.h,T1_configGen.c文件,把下面三个文件夹
Gliwa T1软件集成及T1上位机操作说明
一、监控(时间测量)的作用
- 监控任务时序,防止功能错误;
- 监控数据流,分析数据交互;
- 监控内核负载,评估系统性能;
- 监控任务运行,评估时序指标
二、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等函数
- 增加T1的CAN id
- 增加T1初始化
- 将T1_AppHandle:放到所有核的重要任务中调用
- 将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 图形化显示,用户就可以看出在超出限值时究竟发生了什么。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)