工具与软件:
我们将 SPI4连接到 FPGA、我需要下载它的 RBF 文件。
并且完全复制了这里编写的内容、除了引脚定义中的 mode_manual 宏、这在整个 Linux 源代码树中是无法找到的。
但结果有点出乎意料
1. SPI4_clk 引脚按需要运行。 我在示波器上看到了时钟、它们对应于定义的速度。 如果我更改速度、时钟将跟随更改。|
但是、数据线路 SPI4_d0在任何时候都保持高电平、与传输的内容无关。
我通过更改 MUX 寄存器值检查它是否正确连接-正常工作。
我也通过将此引脚重新定义为 GPIO 进行了检查-可以正常工作。
2.尝试读取 MCSPI4寄存器失败-内核崩溃报告。 在这方面、我有以下问题:
参考手册提供了以下 MCSPI_CHxCONF 寄存器地址:
0x4809 812C +(0x14 * x) McSPI1
0x4809 A12C +(0x14 * x) McSPI2
0x480B 812C +(0x14 * x) McSPI3
0x480B A12C +(0x14 * x) McSPI4
是这样吗? 如果每个 McSPI 都有自己不同的(!) 基地址为什么我们需要0x14*x 额外的偏移量? 为什么我会在阅读时崩溃(!) MCSPI 寄存器?
非常感谢您提供任何提示。