正如“恩智浦i.MX RT1064-EVK开发板入门指南”一文中0所述,RT1064-EVK开发板上有一个基于LPC4322的新的调试接口。
基于LPC4322JET100的调试接口
Freelink(又名OpenSDA、DAP-link或DAPlink) 在恩智浦的数据手册中将其命名为“Freelink Interface”,尽管开发板手册仍然使用“OpenSDA”或“DAP-link”(或DAPlink)命名。
Freelink接口(来源:恩智浦i.MX RT1064原理图)
LPC4322JET100是一款带有ARM Cortex-M0协处理器的ARM Cortex-M4处理器,运行速度高达204 MHz,带512 KB闪存和104 KB SRAM。与使用K20DX128的原始OpenSDA(没有FPU的M4,以50 MHz运行)相比,这是一个功能更强大的处理器。
以下是最重要的调试电路组件和跳线的概述:
MIMXRT1064-EVK上的调试电路
隔离跳线帽 要隔离板载电路并使用外部调试探头,必须移除跳线J47和J48。要完全断开调试电路,可以移除J49、J50和J44。 J45和J46用于调试接口和目标微控制器之间的UART连接。
隔离跳线帽
复位 使用跳线帽J43,可以配置SW9直接将复位信号发送到目标MCU或调试电路:
复位电路
DAPLink固件 默认情况下,板载调试电路显示为DAPLink CMSIS-DAP设备:
DAPLink CMSIS-DAP
该开发板附带以下“DAPLink”固件: - # DAPLink Firmware - see https://mbed.com/daplink
- Unique ID: 02320000070a5e4100000000000000000000000097969905
- HIC ID: 97969905
- Auto Reset: 0
- Automation allowed: 0
- Overflow detection: 0
- Daplink Mode: Interface
- Interface Version: 0246
- Bootloader Version: 0244
- Git SHA: 475c6729c42c688ae33af3af4ea4dbbfe1c35351
- Local Mods: 1
- USB Interfaces: MSD, CDC, HID, WebUSB
- Bootloader CRC: 0xe493996b
- Interface CRC: 0x3eb53105
- Remount count: 0
复制代码
列出的USB MSD用于拖放编程:我可以将(.bin)文件复制到MSD设备以对MCU进行编程。对我来说功能没有实际用途:虽然这可以用作一种引导加载程序,但生产板上不会有OpenSDA电路。另外,使用调试器下载比使用那个慢速MSD接口要快得多,所以对我来说这个MSD加载器没有任何意义。
更为相关的是USB CDC接口,因为它提供了“UART转USB”连接。绝对是用作调试协议的USB HID接口(因此它不是HID键盘或鼠标,调试器使用HID协议)。
一个有趣的是WebUSB(https://en.wikipedia.org/wiki/WebUSB)。这似乎是一种通过USB安全地从网页连接到设备的方法。我找到了这个https://devanlai.github.io/webdfu/mbed-download/的示例网页,似乎用于使用带有mbed环境的电路板。听起来像是一个很好的,或者从基于Web的开发工具(无论如何对真正的开发没有意义)编程板的方法。目前Windows设备管理器中缺少这个驱动程序:
设备管理器中的WebUSB
OpenSDA固件文件 许多Freescale / NXP板上的OpenSDA的优点是我可以在调试电路中加载不同的固件: ● 默认CMSIS-DAP固件(DAP-Link) ● P&E的固件(作为P&E Multilink) ● SEGGER的固件(作为SEGGER J-Link) 每个固件都有自己的优势,我通常根据需要(性能、功能)切换固件。使用MCUXpresso IDE可以轻松使用任何不同的调试探针固件。
恩智浦在http://www.nxp.com/opensda上托管引导加载程序和固件文件。对于基于Kinetis K20DX128的其他DAPLink / OpenSDA,P&E(http://www.pemicro.com/opensda/)和SEGGER(https://www.segger.com/downloads ... rdSpecificFirmwares)提供固件文件,在调试电路上模拟P&E Multilink或SEGGER J-Link。
目前没有可用于DAPLink的新固件,但在将来可能会有,以下这些是加载新固件的步骤: 1. 开发板上电,按住SW09,然后用USB电缆连接到调试端口:
SW09 2. 开发板会在电脑端枚举为一个MAINTENANCE设备:
MAINTENANCE设备
3. 将新固件文件复制到该设备。 4. 重启开发板的电源,现在应该已经加载了新的固件。
将DAPLink更改为LPC-Link2 DAPLink很好,但与LPC-Link2相比速度慢。但最重要的是,DAPLink不支持SWO(单线输出)和SWO跟踪。
好消息是,通过在J42上跳线,MCUXpresso IDE将软件加载LPC4322上的LPC-Link2固件,然后它将成为LPC-Link2: ◾ 使用外部5V电源为电路板供电 ◾ 在J42上安装跳线帽
跳线到J42以软件加载LPC-Link2固件 有了这个,LPC4322运行LPC-Link2固件,我可以享受SWO和3-4倍的调试:-):
恩智浦i.MX RT1064调试电路为LPC-Link2
总结 我认为基于LPC4322的新调试电路与“传统”K20 OpenSDA相比是一大进步,更适合更高性能的处理器。最大的好处是我可以加载LPC-Link2固件。 DAPLink(ARM mbed)固件很不错,但LPC-Link2固件功能更强大,非常适合与基于Eclipse的MCUXpresso IDE结合使用。 |