主题中讨论的其他器件:SysConfig、
工具/软件:
我尝试在 R5F 上运行一个应用程序、该应用程序会启动 PRU 二进制文件、并将 PRU 收集的数据一直报告到在 A53 内核上运行的 Linux 进程。 我首先在 MCU+ SDK examples/PRU_IO/ADC 目录中修改 ADS127 工程、在 OSPI 引导模式下使用 AM64 运行/调试、如 此处的 MCU+ SDK 所述加载 SBL NULL。
在开发一个可正常工作的 R5F 和 PRU 程序后、我通过以下方式开始了 Linux -> R5F IPC 开发:
- 在 R5F 工程的 SysConfig 中添加 IPC、如 这里所述。
- 在我的 R5F 工程中编辑 linker.cmd 文件、将资源表 GROUP 包含在内并在存储器中分配 DDR_0 区域。
- 编译工程、并将.out 文件复制到/lib/firmware/ti-ipc 中的 Linux 文件系统
- 设置固件的符号链接、 如此处所述。
- 重新启动电路板并等待 Linux 完成引导
现在、在 AM64x Academy 的“Remote Cores“部分进行远程内核开发之后、我想 “在 Linux 运行时从 CCS 调试远程内核程序“。 我使用了在 MCU+ SDK“入门“说明的这一部分中创建的自定义目标配置。 我绕过了除 R5F_0_0、ICSSG0_PRU0、ICSSG0_PRU1 以及“跟踪“子路径下三个之外的每个内核。
启动该目标配置后、Debug 视图会将所有 3 个内核显示为已断开连接。 当我尝试“连接“到 R5F_0_0 内核时、收到以下错误:“连接到目标时出错:(错误–2062 @ 0x0)无法停止器件。 重置器件、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电、和/或尝试更可靠的 JTAG 设置(例如下 TCLK)。“
到目前为止、我已经尝试过:
- 正在重新启动
- 在重新启动后插入 JTAG Micro USB
- 在“AM64x"和“和“AM64x_SK_EVM"之间“之间更改目标配置中的“电路板或器件“。
- 测试我的 JTAG 连接 — 已通过
我相信 Linux Remoteproc 驱动程序正在加载固件、在 Linux 完全启动之前我不会尝试连接到 R5F 内核。 任何建议都将非常感谢!
使用的软件:
- CCS 12.8.1
- MCU+ SDK 10.1.0.32
- SysConfig 1.24.2
- Windows 11.