各位
在下载页面
包裹在这里。 pberna67_1-1790030347425.png
但是,如果您点击“下载”按钮,则不会显示下载统计数据。我需要支持 LPC1766,但版本 3 似乎不支持(很奇怪,因为驱动程序明明已经标明了),而且我在版本 2 中仍然找不到 LPC1766 的驱动程序。
谢谢
Paolo
亲爱的迈克尔
感谢您的快速回复!
我目前已经在使用 Jlink/MCU Link 和 MCU Link2,无需任何驱动程序即可读取/写入变量,但我还想添加应用程序命令管理功能(仅此而已)。我不需要任何USB/UART/CAN等接口支持。
“dreg”目录则包含完全不依赖于SDK的驱动程序。“dreg”驱动程序改用直接寄存器访问——这基本上就是你需要的,但不幸的是,传统的LPC不在列表中。
考虑到这些额外的限制,您认为 dreg 目录的内容对我来说足够了吗?
我看到有资料说V2版本的驱动程序也应该支持LPC1766。这是真的吗?你能把这个驱动程序发给我吗?
谢谢保罗
亲爱的保罗,
您用来获取FreeMASTER驱动程序的链接是正确的。遗憾的是,该驱动程序仅支持 NXP MCUXpresso SDK 支持的较新设备。SDK 不支持 LPC1766。
使用 LPC1766 时,您有两种选择:
- 通过 JTAG(Segger J-Link 或 LPCLink2/CMSIS-DAP)使用 FreeMASTER - 这将使您能够检查和控制变量。无需通信驱动程序,FreeMASTER 可在 MCU 运行时访问内存。
- 获取其他部件的驱动程序并将其移植到 LPC1766。更多详情请见下文:
之所以存在 SDK 依赖关系,是因为 FreeMASTER 驱动程序将其通信驱动程序构建在 SDK 底层驱动程序之上。当您选择支持的 MCU 之一时,例如(例如),您仍然可以从 SDK 构建器链接获取完整的 FreeMASTER“中间件”驱动程序。MCXN947)。下载完成后,您将在 中间件/freemaster 目录中找到 FreeMASTER 代码。
请注意,FreeMASTER 软件包(位于 src/drivers 中)中还有其他驱动程序,这些驱动程序可能对您部分有用。mcuxsdk 目录包含基于 SDK 底层的主要驱动程序 - 您仍然可以查看它们以了解 FreeMASTER 驱动程序代码的结构。“dreg”目录则包含完全不依赖于SDK的驱动程序。“dreg”驱动程序使用直接寄存器访问——这基本上就是你需要的,但不幸的是,传统的LPC不在列表中。我们有适用于 NXP DSC、Kinetis、Power Architecture、S12Z 和 S32 平台的此类驱动程序。将这个概念移植到LPC应该是一项相当简单的任务。
问候,
米哈尔
你好,保罗,
不,V2驱动程序不支持LPC。它支持一些旧平台,如 HCS08、HCS12、ColdFire 或 PowerPC,但不支持 LPC。
如果你的动机仅仅是启用应用程序命令,我建议改变应用程序的控制方式会更容易,通常也是更好的解决方案。可以通过选择几个变量来轻松替换应用程序命令,FreeMASTER 会将控制请求参数写入这些变量,并使用另一个变量作为“要处理的请求”。一旦目标应用程序发现此请求变量集,它就可以处理控制命令,并通过将请求变量重置为零来确认该命令。这种行为在功能上等同于应用程序命令,它允许在没有任何通信驱动程序的情况下通过 JTAG 进行操作。
关于你的另一个问题:你无法直接使用“dreg”驱动程序。正如我之前所说,LPC 不受支持,但您可以很轻松地自己创建端口。如果你查看像 freemaster_kxx_uart.c 这样的 UART 文件,你会发现驱动程序函数可以执行原子 UART 操作。例如,启用中断:
您可以看到,这个简单的函数直接操作 UART 外设寄存器。将其移植到 LPC 意味着创建在 LPC UART 模块(与 Kinetis UART 模块不同)上运行的类似功能。
问候,
米哈尔