本帖最后由 tanglei979 于 2014-10-25 15:17 编辑
本人选择使用FreeRTOS
的最大原因就是想使用FreeRTOS+Trace
,这是一个图形化的Debug
工具,利用这个工具,你可以看到各线程、中断、消息队列等的运行历史,对于新手来说,学习一个操作系统的运行原理是个好工具,而对于工程应用人员而言,它又是一个不可多得的辅助工具,它能让你获得一种“掌控”的感觉,实在是非常好用。现在我把我建立模板工程的整个过程分享给大家,希望大家也能用上这款神器。 FreeRTOS+Trace分为两部分,一部分是位于目标系统的C源码库,你需要将其加入到你的MCU项目中,另一部分是PC机上的软件。FreeRTOS+Trace的运行原理图如下,目标系统在RAM中建立一个缓冲区(大容量数组),目标系统的操作系统在运行的过程中,每次产生的系统事件都会保存到该缓冲区,调试人员可以在PC上利用任意调试工具将这个缓冲区dump出来存到一个文件,再使用PC的FreeRTOS+Trace软件打开这个文件分析,并且dump时你并不需要知道缓冲区的具体地址,而是可以直接把整个RAM都dump出来,软件会自动分析。值得一提的是FreeRTOS+Trace软件集成了Jlink菜单,可以直接读取RAM区。(我不知道怎样利用Jlink工具dump内存,只知道J-Link Commander里的mem命令可以读RAM,但是不能保存成文件,有谁知道的告诉我一声)
FreeRTOS Trace.exe Demo测试4.png (73.58 KB, 下载次数: 2)
下载附件
2014-10-25 14:26 上传
JLink驱动自带的工具不知道可以不可以利用SWD dump呢,之所以要这样,是因为JTAG口一般用10针,我有的板用的SWD接口,只有四根线,用FreeRTOS+Trace直接读取会失败。
uc也有相应的ucTrace,代码和PC端软件同样由percepio公司提供,只是FreeRTOS是免费的,这是个优势
可以的啊,通过JLINKARM_TIF_Select函数可以设置模式是JTAG还是SWD的,默认情况下jlink用的jtag。你用jlink命令行的时候需要发命令切换,然后再读写的。
关注SWD是否能用,因为现在做板都不留JTAG口了。
一周热门 更多>