1.简介
本wiki页主要是备份Trace32 分析展讯RTOS(适用展讯UIX8910,展讯W307等平台,操作系统使用ThreadX) dump文件。
1. 用于系统产生死机dump时,定位系统问题
2. 用于分析系统在一些场景下,预判系统设定分配资源是否合理
例如当系统处于高负荷状态(视频通话等),此时触发其它操作,例如:定位等,可以通过手动触发dump,来查看,开发中分配的
queue,thread优先级等等,是否合理。
2.Trace32 使用
Trace32 simulator安装完毕后。分析前,请准备好需要分析的dump文件,以及对应的axf文件,如果
是正常发生的dump,最好可以获取到dump前,屏幕或者log提示的信息,以便定位问题。
2.1 分析dump调用栈
示例:死机发生时,屏幕提示: queue full,一般加载完成,会自动显示当前调用栈。
2.2 分析当前系统变量或函数
发生dump时,有时需要分析到当前的全局变量函数值等信息。
2.2.1 查看当前系统中的全局变量
通过Trace分析当前的全局变量或函数,通过菜单【View → symbol → browse】,然后再红色框内输入具体变量名称,例如:gps_uart_fifo。
此时,可以双击address,调出详细内容。可以看到该环形队列内部具体信息,此时,可以看到buf数据地址 0x80E905EC
进行查看buf 地址(0x80E905EC)内部数,通过命令行输入:
data 0x80E905EC
上面是,0x80E905EC 这个地址上具体的数据情况,【备注:list 0x80E905EC 是查看这一地址空间的数据】
2.3 分析当前的ThreadX相关内容
ThreadX相关的内容主要有,Thread , queue, timer,signal等等资源。分析ThreadX的状况 下面以分析queue为示例记录,发生死机时,屏幕提示: queue full
2.3.1 查看当前系统中queue的使用状况
在菜单中【ThreadX → Display Queues】,可以查看到当前系统中queue中消息等情况,示例中,可以看到Q_P_APP,这个queue capacity 为500,当前enqueued已经是500,肯定是会产生full消息。
2.3.12查看当前系统中thread的使用状况
同样,也是打开菜单【ThreadX → Display Threads】
您还没有登录,请您登录后发表评论。