问题来源
因为公司的产品基于程序的可移植性和可维护性考虑,转而使用 C++ 进行程序开发,而不是使用 C。在转写的过程中,调试设备发现使用 KEIL,无法像之前那样直接打断点看变量(一部分变量的信息无法看到,除非是使用全局变量)。这个问题的出现估计是在使用 C++ 时, KEIL 和 JLINK 之间存在适配问题。在通过网络搜索和一系列尝试后,发现 SEGGER 公司提供了 Segger Ozone 这款软件可以使用 JLink 直接打印出来调试信息,非常方便进行开发的调试。因此,在此处介绍软件使用初体验如下。
Segger Ozone
参考(官方网址):
Ozone - J-Link Debuggerwww.segger.comOzone 是 Segger 公司开发的一个调试工具,用于 Trace 程序的运行。
调试初始化配置方法:
- 打开软件,创建一个新的工程:
2. 选择目标器件:
3. 选择通信方式:
4. 选择链接文件:
5. 给需要调试的位置打上断点:(可以通过 Find in File 查找到你要找的函数)
6. 打开 Terminal 窗口:
7. 配置 Trace:
8. 下载并运行程序:
9. 这样,通过 printf()
函数,在 Terminal 窗口下你就能看到自己需要打印的信息了。