1

我正在使用没有 jtag/bdm 功能的 8051 (Cypress FX2LP)。通常,该项目的开发人员一直在使用 ad-hoc 串行 printfs 进行调试。我正在寻找串行调试监视器的选项,例如 Keil 的 Mon51、Isd51 或 IAR 的通用 ROM 监视器。

我需要修改/配置此调试监视器以写入代码 RAM(设置软件断点)。我猜大多数 8051 调试监视器都提供了这种修改的能力,以支持哈佛架构或银行切换。

有人对 8051 或类似处理器的串行调试器有建议吗?

您是否必须修改它以写入哈佛代码 RAM 或闪存等?

4

2 回答 2

1

我多年来一直使用 Keil uVision PK51 和Cypress FX2 EZ-USB 开发套件。该套件 (EZ-USB_devtools_version_261700.zip) 与 FX2 和 FX2LP 一起正常工作。它包括一个 Windows 驱动程序,可自动下载板载显示器固件并驻留在 8051 内存中。该监视器控制 2 个串行板之一并管理与调试工具的通信。您必须设置 Keil 环境调试器才能使用“Keil Monitor-51 驱动程序”。

下载并运行固件后,您可以设置断点、显示手表等...

Cypress 驱动程序可在 Windows 2K/XP 上正常工作。我从未尝试过使用 Vista 或更高版本。可能有一个更新版本的 Cypress 可以在最新的 Windows 上运行。

祝你好运

于 2011-03-01T22:54:09.207 回答
1

10 年来,我一直在使用 Mon51 和 Cypress FX2,并取得了非常好的成功。此外,我们使用 RTXtiny 任务切换器和代码库。我发现显示器通常很坚固,并且有足够的功能来满足我们的需求。

Mon-51 代码作为 Keil 的库提供,因此不可用。几年前,我在让代码库与监视器一起工作时遇到了麻烦,由于我没有从 Keil 获得很好的支持,我开始拆卸监视器以找出问题所在。在我走得很远之前,我解决了我的问题,但我从未完成逆向工程项目。

我们的硬件平台是“von-neumanized”,因此代码和 xdata 空间重叠。这是显示器正常工作所必需的。我们修改了监视器初始化代码,使其从外部 uart 以 115200 波特运行,并且运行良好。此外,我们必须构建自己的监视器版本,以便它位于内存中的不同位置。Keil 实际上让配置变得非常容易,而无需深入研究实际的监视器代码。

于 2011-09-06T14:23:05.063 回答