1.背景
SystemView 是一个可以在线调试嵌入式系统的工具,它可以分析有哪些中断、任务执行了,以及这些中断、任务执行的先后关系。还可以查看一些内核对象持有和释放的时间点,比如信号量、互斥量、事件、消息队列等。这在开发和处理具有多个线程和事件的复杂系统时尤其有效。
方便我们可以通过这个软件实时监控我们实时系统的任务切换及调度情况,并且这个软件支持多种实时系统,包括RT-thread FreeRTOS 等实时系统。
由于Dialog 的相关说明手册比较少,因此整理一份关于DA1469X系列的关于sysview的搭建方法。
首先我们选择一个工程,此文档就选择pxp_reporter工程文件进行搭建sysview。
2.实际操作步骤
- 在工程pxp_repotor工程中找到congfig文件,进行展开,找custom_config_qspi.h文件,将其打开;(如果你使用是ram或suota方式进行编译下载的在对应的congfig打开修改)
2.在custom_config_qspi.h文件中:增加宏定义:
1)#define dg_configSYSTEMVIEW (1);
2)修改任务总栈空间大小
3.选择该工程中的sdk文件,鼠标右键;新建选择folder文件,会跳出一个界面
4.在New Folder界面中,选择Advance进行展开,再选择Link Folder,最后点击Browse
5.选择sdk中的middleware文件中的segger_tools文件,然后点击文件确认;
6.查看新加入的link文件的属性
7.查看新建的文件的属性,若不带SDKROOT这个相对路径,则进行修改编辑一下:
8.选择pxp工程,查看文件属性:
9.进入属性界面后,如图顺序进行选择,进行添加头文件:
10.选择头文件的路径属性,如下图锁操作:
11.选择对应项目工程pxp_reporter的下的sdk中的Seeger_tools文件下的三个头文件:
12.添加好头文件路径,进行查看是否与其他头文件的格式一致,如不一致,进行编辑:
13.找到main文件在系统初始化函数中增加如下代码:
#if dg_configSYSTEMVIEW
SEGGER_SYSVIEW_Conf();
#endif
14.找到static _VPrintHost()函数除去前面的static修饰符
15.修改ad_snc文件中ad_snc_init()函数中的栈的大小:
16.选择工程进行编译,无错误生产对应的bin文件及map文件,准备下载:
17.连接好开发板子,供电及识别出jlink驱动,选择对应的下载方式:(进行reset看一下板子是否正常启动)
18.在新生成的map文件中搜索关键字:_SEGGER_RTT,复制前面的地址用于后面操作:
19.点击界面右上方的图标,跳转出sysview选择界面:
20.在跳出的界面中,选择Segger Systermview:
21.跳出警告信息,点击继续,到下一步:
22.信息确认:点击OK即可
23.选择Target菜单,选择其Configuration
24.选择J-link后点击OK
25.对jink的参数进行配置:如下图一致:
26.配置好后点击此按钮或者F5进行运行:
27.正常运行界面:具体怎样操作和SysView可以百度学习。
3.总结
后续需要进一步学习关于此软件的使用方法。