器件型号:BEAGLEBK
我正在使用 AM3358 - PRU1来设置 SPI1、数据从 D1 (MOSI)传出并出现在 D0 (MISO)上、但我从 RX0读取的所有数据都是0。 我看过了 bwilcut 和其他一些非常相似的线程、但它们似乎没有得到答案。 我将在 Win10上使用 CCS7.4.0.00015以及 XDS110调试探针。
SPI1每125us 发送8个字 x 32位。 它如下所示:
SPI 解码器按如下方式对其进行解码、这正是我所期望的。
引脚多路复用器在器件树中设置。 引脚100-103为 SCLK、D0、D1和 CS。 D0为 MISO、D1为 MOSI。 我想在44e10998时只需要0x0B、但我正在尝试使其正常工作。 AFAIK 没有为 SPI 加载 Linux 驱动程序。
CAT /sys/kernel/debug/pinctrl/44e10800.pinmux/pins
引脚100 (PIN100) 44e10990 0000000b 引脚控制-单路
引脚101 (PIN101) 44e10994 0000002b pinctrl-single
引脚102 (PIN102) 44e10998 0000002b pinctrl-single
引脚103 (PIN103) 44e1099c 0000000b pinctrl-single
在运行下面的代码几秒钟后、然后暂停调试器、结果如下所示。 代码初始化 IEP (用于125us 计时生成)和 SPI1 (用于数据传输)。 然后、它会在循环中等待 IEP 的时序比较。 8个字被写入 SPI Tx、8个字被发回。 读取 RX0之前和之后的标志状态以及 RX0值被保存。 定期提取 SPI 寄存器(dbg_SPI1__*)以进行调试报告。 请注意、rxBuf 结果全部为0。
谢谢、
Steve。