OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9121|回复: 3

stm32f407ZG移植systemview

[复制链接]

2

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2016-11-12
在线时间
26 小时
发表于 2018-9-10 09:30:51 | 显示全部楼层 |阅读模式
偶然看到网上有人使用systemview来分析嵌入式系统。
上网搜了一下systemview,发现这个软件功能真是强大,可以让你浏览从记录开始到记录结束的各个事件,把系统运行的过程用图形化的方式展示在眼前,可以很方便的查找问题,也可以用来验证系统任务和中断切换过程是否符合自己的设想。
SystemView 是一个用于虚拟分析嵌入式系统的工具包。SystemView 可以完整的深入观察一个应用程序的运行时行为,这远远超出一个调试器所能提供的。这在开发和处理具有多个线程和事件的复杂系统时尤其有效。SystemView 由两个部分组成:
SystemView 的PC端程序,用于收集目标板上传的信息。
SystemView 嵌入式端程序可以分析嵌入式系统的行为。它记录嵌入式系统产生的监视数据,并在不同的窗口中显示这些信息。这些记录可以保存到文件中,用于以后的分析或者编写文档。

我参考了下面这位的教程,教程使用的是ucosiii  ,但我移植的是ucosii,版本需要是2.92.13以上的。当然低版本的也可以通过自己添加"os_trace_events.h"的宏实现支持,不过很麻烦,有兴趣的可以试试。
http://www.stmcu.org/module/forum/thread-616185-1-3.html



教程只讲了如何移植,但是没讲如何添加一些功能。
用一个信号量的例子来说明一下,有一个头文件"os_trace_events.h"包含了各种宏,将对应的宏写到我们代码发生的事件前就可以在,任务中观察到该事件。

例如:
OS_TRACE_SEM_CREATE
OS_TRACE_SEM_PEND_ENTER
OS_TRACE_SEM_POST_ENTER
把这几个宏分别添加到相应时间前,就可以在systemviewPC软件中看到相应任务中发生的该事件。

发现的一个问题,因为systemview是在系统切换中发送事件给上位机,start_task任务没有被记录,显示运行0次。
还有一个地方需要注意,targetDevice必须是具体型号,选cortex-m4不能记录。


最后把我移植的工程发一下。
链接:https://pan.baidu.com/s/1X7LcpBZ0eIqv0D22UqN78w 密码:jm7q



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
125
金钱
125
注册时间
2020-9-29
在线时间
36 小时
发表于 2021-5-14 15:50:53 | 显示全部楼层
楼主,源码工程失效了能再发一下吗
回复 支持 1 反对 0

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2018-9-10 12:32:25 | 显示全部楼层
帮顶
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2017-11-2
在线时间
18 小时
发表于 2021-7-20 17:11:05 | 显示全部楼层
哥们,能发我邮箱吗1427440938@qq.com,最近在研究这个,不过资料太少了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 17:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表