工具与软件:
我目前正在使用 AM263PX SoC、并希望在我的项目中使用6个以上的 UART。 如果有人有关于 UART 配置的示例、尤其是关于 RPU 的示例、我将非常感激您提供的见解。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
我目前正在使用 AM263PX SoC、并希望在我的项目中使用6个以上的 UART。 如果有人有关于 UART 配置的示例、尤其是关于 RPU 的示例、我将非常感激您提供的见解。
2024年8月14日编辑
您好 Baruch:
我假设您是指器件的 PRU (可编程实时单元)或 ICSS 模块、而不是 RPU?
如果是、之前的 AM335x 器件上开发了一些集成了相同 PRU-ICSS 模块的开源软件驱动程序。 但是、默认情况下、我们目前在 SDK 中不支持这些功能。
请参阅以下链接查看示例。
我还将包含指向 AM263Px SDK 中提供的默认 HW UART 示例的链接。
需要注意的一点是、我们确实为发送的协议提供了 SDK 支持。 它目前可用于 AM263x、并应很快移植到 AM263Px。
https://software-dl.ti.com/mcu-plus-sdk/esd/AM263X/latest/exports/docs/api_guide_am263x/SENT.html
如果这足以帮助您快速入门、请告诉我们。
此致、
Zackary Fleenor
对 Zack 的响应添加了几处说明:
对 PRU 实现 UART 的方法有多种 .
1) 1)使用另一个内核来控制 PRU 子系统中的硬件 UART 实例 . 我们是从 Linux 的角度来描述这一点的
https://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components / PRU-ICSS / Linux_Drivers / pruss-uart.html
但您可以在 AM263x 上的不同操作系统中执行该操作。
2)使用 PRU 控制 PRU 子系统中的硬件 UART 实例 . 您可以在此处找到有关如何执行该操作的示例项目:
AM335x: https://git.ti.com/cgit/pru-software-support-package/pru-software-support-package/tree/examples/am335x/PRU_Hardware_UART
AM62x (寄存器定义可能更接近于 AM263x): https://git.ti.com/cgit/pru-software-support-package/pru-software-support-package/tree/examples/am62x/PRU_Hardware_UART
其中、我在这些项目中使用的寄存器定义在 linker.cmd 文件中链接、并在这里的 include 文件中定义:
https://git.ti.com/cgit/pru-software-support-package/pru-software-support-package/tree/include/am62x/pru_uart.h
3) 3)使用 PRU 内核模拟 UART 实例(即"软件 UART"或"SoftUART") . 有关 AM335x 的 Linux 文档、请参见
https://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components / PRU-ICSS / Linux_Drivers / pru-sw-uart.html
此致、
Nick