我正在使用没有jtag / bdm功能的8051(赛普拉斯FX2LP)。通常,此项目的开发人员一直在使用ad-hoc串行printfs进行调试。我正在研究串行调试监视器的选项,例如Keil的Mon51,Isd51或IAR的通用ROM监视器。
我需要修改/配置此调试监视器以写入代码RAM(设置软件断点)。我猜大多数8051调试监视器都能提供这种修改,以支持哈佛架构或银行转换。
是否有人建议使用8051或类似处理器的串行调试器?
您是否必须修改它以写入哈佛代码RAM或闪存等?
答案 0 :(得分:1)
我使用了多年Keil uVision PK51和Cypress FX2 EZ-USB Development kit。该套件(EZ-USB_devtools_version_261700.zip)可与FX2和FX2LP正常配合使用。 它包括一个Windows驱动程序,可以自动下载显示器固件并驻留在8051内存中。该监视器控制2个串行板之一,并使用调试工具管理通信。您必须将Keil环境调试器设置为使用“Keil Monitor-51驱动程序”。
下载并运行fw后,您可以设置断点,显示监视等...
赛普拉斯驱动程序可与Windows 2K / XP一起正常运行。我从来没有尝试过Vista或更高版本。可能有更新版本的赛普拉斯能够在最新的Windows上运行。
祝你好运答案 1 :(得分:1)
我一直在使用Mon51和赛普拉斯FX2进行了10年的成功。此外,我们使用RTXtiny任务切换器和代码库。我发现显示器通常很坚固,并且具有足够的功能以满足我们的需求。
Mon-51代码来自Keil的库,所以它不可用。几年前,我无法使用代码库来使用显示器,而且由于我没有得到Keil的非常好的支持,我开始拆卸显示器以找出问题所在。在我走得很远之前,我解决了我的问题而且我从未完成逆向工程项目。
我们的硬件平台是“von-neumanized”,因此代码和xdata空间重叠。这对于监视器正常工作是必要的。我们修改了监视器初始化代码,使其从外部uart以115200波特率运行,并且运行良好。此外,我们必须构建我们自己的监视器版本,以便它位于内存中的不同位置。 Keil实际上很容易配置,而不必深入了解实际的监控代码。