8051 串行调试监视器

发布于 2024-10-01 15:48:35 字数 291 浏览 7 评论 0原文

我正在使用不具备 jtag/bdm 功能的 8051 (Cypress FX2LP)。通常,该项目的开发人员一直使用临时串行 printfs 进行调试。我正在研究串行调试监视器的选项,例如 Keil 的 Mon51、Isd51 或 IAR 的通用 ROM 监视器。

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

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

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

I'm working with an 8051 (Cypress FX2LP) that doesn't have jtag/bdm capability. Typically, developers on this project have been using ad-hoc serial printfs for debugging. I'm looking into options for serial debug monitors such as Keil's Mon51, Isd51 or IAR's generic ROM-monitor.

I'll need to modify/configure this debug monitor to write to code RAM (to set software breakpoints). I'd guess that most 8051 debug monitors offer the ability for such modifications in order to support Harvard architecture or bank switching.

Does anybody have recommendations for serial debuggers for 8051 or similar processors?

Have you had to modify it to write to Harvard code RAM or flash etc?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

您的好友蓝忘机已上羡 2024-10-08 15:48:35

我使用 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 上运行。

祝你好运

I used for years Keil uVision PK51 and the Cypress FX2 EZ-USB Development kit. This kit (EZ-USB_devtools_version_261700.zip) worked correctly with FX2 and FX2LP.
It includes a Windows driver that automatically downloads the monitor firmware on board and stay resident in 8051 memory. This monitor takes control of one of the 2 serial board and manage the communication with the debugging tool. You have to set the Keil environment debugger to use the "Keil Monitor-51 driver".

Once your fw is downloaded and running you can set breakpoints, display watch, etc...

The Cypress driver works correctly with Windows 2K/XP. I never tried it with Vista or later. Probably there is a newer version of the Cypress that is able to run on the latest Windows.

Good luck

静水深流 2024-10-08 15:48:35

我已经将 Mon51 与 Cypress FX2 一起使用了 10 年,取得了非常好的成功。此外,我们还使用 RTXtiny 任务切换器和代码库。我发现这款显示器总体上很坚固,并且具有足够的功能来满足我们的需求。

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

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

I have been using Mon51 with the Cypress FX2 for going on 10 years with very good success. In addition we use the RTXtiny task switcher and code banking. I have found the monitor to be generally solid and with enough functionality for our needs.

The Mon-51 code comes as a library from Keil, so it is not available. A couple of years ago I was having trouble getting code banking to work with the monitor, and since I wasn't getting very good support from Keil, I started to disassemble the monitor to figure out what was going wrong. Before I got very far I solved my problem and I never finished the reverse engineering project.

Our hardware platform is "von-neumanized" so that code and xdata space overlap. This is necessary for the monitor to work correctly. We have modified the monitor initialization code so that it runs at 115200 baud from an external uart and that works well. In addition we had to build our own version of the monitor so that it was located at a different location in memory. Keil has actually made it pretty easy to configure things without having to dive into the actual monitor code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文