我计划在 beaglebone 上尝试一些裸机 TCP/IP 的东西。TI StarterWare 包含很好的 TCP/IP 堆栈。但是,要将我的程序闪存到 BB,我需要一些 JTAG 适配器和软件。我应该在这么多不同的 JTAG 调试器中购买/使用哪一个,它们都是等效的吗?
3 回答
一个初步的评论:
您真的不需要 JTAG 探针来下载/运行/刷新您的程序:您可以使用 u-boot loadb 加载和执行或从串行控制台加载命令,前提是您的 beaglebone 仍然安装了 u-boot - 程序此处描述了用于连接 USB 转 TTL 适配器的方法。如果您没有,我强烈建议您在 e-bay 上购买上述文章中提供的确切适配器。
除了 u-boot/serial 适配器,您还可以将 beaglebone 连接到本地网络,并使用 u-boot tftp 命令下载您的应用程序。您可以花几美元购买 USB 转以太网适配器,将其插入您的 PC,然后安装 TFTP 服务器、tftp32 (Windows) 或 tftpd-hpa (Linux)。然后,您将能够将您的开发 PC 直接连接到您的 beaglebone。
如果您的 beaglebone 不再安装正常工作的 u-boot,您仍然可以从串行端口重新安装它:
这可以通过使用两个将 P8.44/SYS_BOOT3/LCD_DATA3/GPIO2_9 和 P8.43/SYS_BOOT2/LCD_DATA2/GPIO2_8 接地(P9.43/P9.44/P9.45/P9.46 中的两个)来完成4.7 k ohm 电阻器,使用外部 5V 电源(不是通过 USB)为 beaglebone 供电,并对 beaglebone 进行电源循环 - 需要电源循环,执行“重置”不足以采用新的 SYSBOOT 配置帐户。
然后,您可以使用Teraterm从您的 PC 下载 u-boot :应使用 x-modem 下载 u-boot-spl-.bin,使用 y-modem 下载 u-boot.bin,如“通过 UART 引导”部分所述这篇TI wiki 文章。
话虽如此,在调试裸机应用程序或 Linux 内核时,JTAG 探针总是很有用的:作为一个爱好者,我正在使用 EDU 版本的 Segger J-link 和我的 beaglebone(大约 63 美元)。如果您需要将其用于商业用途,我猜价格约为 400 美元。
您还需要在 beaglebone 上焊接 TI 20 排针 - 请参阅beaglebone 文档的“可选 JTAG”部分。
我买了 Samtec FTR-110-03-GD-06 连接器,对它非常满意。
请注意用于销售 Beaglebone Blacks 的 CircuitCo 已经焊接了连接器。
最后,您需要一个适配器将 TI 20 针连接器连接到 J-link 使用的标准 20 针 ARM JTAG 连接器。
据我所知,它们至少有两种解决方案:
- Segger的J-Link TI-CTI-20 适配器,这是我的选择,
- Tican Tools的BeagleBone Black JTAG 适配器套件。
J-Link 具有对 Windows 和 Linux 的软件支持。直到今天,我一直在 Windows 和 Linux 系统上将它与 Starterware 和我的 beaglebone black 一起使用,并取得了成功。它也可以与一堆不同的 Cortex-M0+、M0、M3 和 M4 一起正常工作。
不幸的是,我没有尝试过其他 JTAG 探针……
根据我所读到的,允许您使用带有 Beaglebone Black 的 Code Composer Studio 的免费许可的 JTAG 仿真器是 XDS100v2。这是它的链接:
https://store.ti.com/TMDSEMU100V2U-20T-XDS100v2-JTAG-Emulator-20-pin-compact-TI-connector-P1848.aspx
我刚自己买了一个与 BBB 一起使用。我还没有尝试过。
您不一定需要 JTAG 来测试它们。您可以构建它并将其放在文件系统中的路径中,然后在引导期间,要求您的引导加载程序(即 u-boot)加载它,然后跳转到那里并执行它。